Moebooru, a fork of danbooru1 that has been heavily modified
  • Ruby 47.8%
  • JavaScript 23.3%
  • HTML 20.7%
  • PLpgSQL 5.2%
  • Less 2.3%
  • Other 0.7%
Find a file
2026-06-29 21:45:02 +09:00
.github/workflows Disable lint for now 2026-06-22 01:14:11 +09:00
app Clean up UploadSimilarSearch 2026-06-28 03:30:19 +09:00
bin Update to rails 8.1 2026-02-11 17:31:20 +09:00
config Override mailer for dev env 2026-06-27 02:41:10 +09:00
db Update to rails 8 2026-02-11 17:28:52 +09:00
lib Support webp 2026-02-11 21:39:08 +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 Update to rails 8 2026-02-11 17:28:52 +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 Remove coffeescript packages 2026-06-22 01:07:36 +09:00
config.ru Update to latest rails and other gems 2021-02-11 17:04:13 +09:00
Gemfile Update to rails 8.1 2026-02-11 17:31:20 +09:00
Gemfile.lock Merge pull request #320 from moebooru/dependabot/bundler/concurrent-ruby-1.3.7 2026-06-29 21:45:02 +09:00
LICENSE Update license year and wording 2017-03-25 18:02:01 +09:00
package-lock.json Remove coffeescript packages 2026-06-22 01:07:36 +09:00
package.json Remove coffeescript packages 2026-06-22 01:07:36 +09: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!