Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Moebooru, a fork of danbooru1 that has been heavily modified
Ruby HTML JavaScript PLpgSQL CSS CoffeeScript Other

README.md

Code Climate

Moebooru

This project is based on original Moebooru which is being used in yande.re Image Board. Changes compared to original Moebooru:

  • Compatible with Ruby 1.9.3 and later (alternative implementations' compatiblity needs confirmation)
  • Uses Rails 4.0
  • Updated gems
  • Pool ZIP support for nginx (with mod_zip)

As this is still in development, bug reports are welcome.

Requirements

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

  • Ruby 1.9+
  • PostgreSQL (tested with 8.4, 9.1, and 9.2)
  • Bundler gem
  • ImageMagick
  • And various other requirement for the gems (check Gemfile for the list)

On RHEL5 (and 6), it goes like this:

  • gcc
  • gcc-c++
  • ImageMagick
  • jhead
  • libxslt-devel
  • libyaml-devel
  • git
  • openssl-devel
  • pcre-devel
  • postgresql84-contrib
  • postgresql84-devel
  • postgresql84-server
  • readline-devel

Base and EPEL repositories contain all the requirements.

On Ubuntu 10.04.4 LTS

  • apt-get install postgresql-contrib python-software-properties postgresql libpq-dev libxml2-dev libxslt-dev mercurial jhead build-essential libgd2-noxpm-dev

  • Brightbox repo would work if you're too lazy to compile ruby

  • add the ppa and then apt-get install ruby1.9.3

Installation

Database Setup

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

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

And then install the required PostgreSQL extensions:

  • language plpgsql
  • test_parser

using these commands:

--- postgresql 9.1+
postgres# \c template1
postgres# create extension test_parser;

--- postgresql 8.3, 8.4
postgres# \c template1
postgres# create language plpgsql;
postgres# \q
--- postgresql 8.3, 8.4, 9.0 - from shell
# sudo -u postgres psql -d template1 -f "`pg_config --sharedir`/contrib/test_parser.sql"

Rails Setup

  • Run bundle install
  • Create config/database.yml and config/local_config.rb
  • Initialize database with bundle exec rake db:reset (there will be some errors reported which is expected)
  • Run bundle exec rake db:migrate
  • Start the server (bundle exec unicorn or bundle exec puma if using JRuby/Rubinius)

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!
Something went wrong with that request. Please try again.