Moebooru, a fork of danbooru1 that has been heavily modified
Find a file
2025-11-18 15:29:21 +09:00
.github/workflows Install imagemagick 2024-12-08 21:47:57 +09:00
app Simpler(?) casting method 2025-03-30 03:33:18 +09:00
bin Update to rails 7.2 2024-09-01 05:54:26 +09:00
config Use native multipart handling 2024-12-16 02:11:52 +09:00
db Support searching by aspect ratio 2025-03-30 01:04:00 +09:00
lib Update minimagick syntax 2025-01-04 16:34:48 +09:00
public Assetify favicons and set correct url scheme 2022-06-11 03:43:53 +09:00
script Add rails version of rubocop 2024-01-08 19:39:01 +09:00
test Remove commented out test 2024-11-04 07:39:42 +09:00
.codeclimate.yml Exclude vendored prototypejs from codeclimate 2024-09-08 17:44:04 +09:00
.gitignore More yarn removal 2022-02-12 07:19:10 +09:00
.hgignore Ignore generated translations.js. 2014-11-20 17:50:48 +09:00
.rubocop.yml Add rails version of rubocop 2024-01-08 19:39:01 +09:00
build.js Fix incorrect build log duration 2024-12-08 05:24:32 +09:00
config.ru Update to latest rails and other gems 2021-02-11 17:04:13 +09:00
Gemfile Update to rails 7.2 2024-09-01 05:54:26 +09:00
Gemfile.lock Bump rack from 3.1.17 to 3.1.18 2025-10-10 18:37:17 +00:00
LICENSE Update license year and wording 2017-03-25 18:02:01 +09:00
package-lock.json Bump js-yaml from 4.1.0 to 4.1.1 2025-11-18 05:59:32 +00:00
package.json Bump glob from 11.0.0 to 11.1.0 2025-11-18 02:13:01 +00:00
Rakefile Double quotes everywhere. 2014-11-20 17:50:29 +09:00
README.md Update docs 2024-09-03 18:56:05 +09:00

Code Climate

Moebooru

An image board.

Requirements

As this is ongoing project, there will be more changes on requirement as this project goes. Currently this application is developed using:

  • Ruby (3.3 or later)
  • PostgreSQL (15 or later)
  • Bundler gem
  • node.js (20.0 or later)
  • ImageMagick
  • And various other requirement for the gems (check Gemfile for the list)

On RHEL, it goes like this (untested):

  • ImageMagick
  • gcc
  • gcc-c++
  • git
  • jhead
  • libxslt-devel
  • libyaml-devel
  • nodejs
  • openssl-devel
  • pcre-devel
  • postgresql15-devel
  • postgresql15-server

Base, EPEL, dnf module, and postgresql official repositories contain all the requirements.

Installation

Database Setup

After initializing PostgreSQL database, create user for moebooru with createdb privilege:

postgres# create user moebooru_user with password 'the_password' createdb;

Rails Setup (development)

  • Run bundle install
  • Create config/database.yml and config/local_config.rb
  • Initialize database with bundle exec rake db:reset
  • Run bundle exec rake db:migrate
  • Start the server (bundle exec rails server)
  • Start asset builder server (npm run build -- --watch)

Configuration

See config/local_config.rb.example. Additionally, as I move to ENV-based configuration, here's the list of currently supported ENV variables:

  • MB_DATABASE_URL: sets database connection configuration. Syntax: postgres://<user>(:<pass>)@<host>(:<port>)/<dbname>.
  • MB_MEMCACHE_SERVERS: addresses of memcache servers. Separated by comma.
  • MB_PIWIK_HOST: sets the host this application will attempt to contact a Piwik installation at. Defaults to false to not use Piwik if unset.
  • MB_PIWIK_ID: sets the Site ID this application will send analytics data for.
  • MB_THREADS: sets number of threads this application is running. Currently used to determine number of connection pool for memcached. Defaults to 1 if unset.

Plans

  • Bug fixes
  • Documentation
  • And more!