2013-08-14 14:44:20 +09:00
[](https://codeclimate.com/github/moebooru/moebooru)
2013-07-02 22:20:38 +09:00
Moebooru
========
2015-09-09 20:13:47 +09:00
An image board.
2013-07-02 22:20:38 +09:00
2018-03-15 04:01:35 +09:00
* [Source Repository ](https://github.com/moebooru/moebooru )
2013-07-02 22:20:38 +09:00
Requirements
------------
2018-03-15 04:01:35 +09:00
As this is ongoing project, there will be more changes on requirement as this project goes. Currently this application is developed using:
2013-07-02 22:20:38 +09:00
2020-09-24 09:47:23 +09:00
* Ruby (2.6 or later)
* PostgreSQL (11 or later)
2013-07-02 22:20:38 +09:00
* Bundler gem
2020-09-24 09:47:23 +09:00
* node.js (10.17 or later)
2020-04-04 04:29:09 +09:00
* yarn
2013-07-02 22:20:38 +09:00
* ImageMagick
* And various other requirement for the gems (check `Gemfile` for the list)
2018-03-15 04:01:35 +09:00
On RHEL5 (and 6), it goes like this (outdated list):
2013-07-02 22:20:38 +09:00
* gcc
* gcc-c++
* ImageMagick
* jhead
* libxslt-devel
* libyaml-devel
2013-08-29 16:13:20 +09:00
* git
2013-07-02 22:20:38 +09:00
* openssl-devel
* pcre-devel
2016-03-30 15:39:41 +09:00
* postgresql94-devel
* postgresql94-server
2013-07-02 22:20:38 +09:00
* readline-devel
2016-03-30 15:39:41 +09:00
Base, EPEL, and postgresql official repositories contain all the requirements.
2013-07-02 22:20:38 +09:00
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
* Run `bundle install`
* Create `config/database.yml` and `config/local_config.rb`
2020-09-24 09:47:23 +09:00
* Initialize database with `bundle exec rake db:reset`
2013-07-02 22:20:38 +09:00
* Run `bundle exec rake db:migrate`
* Start the server (`bundle exec unicorn` or `bundle exec puma` if using JRuby/Rubinius)
2014-09-15 17:11:41 +09:00
Configuration
-------------
See `config/local_config.rb.example` . Additionally, as I move to ENV-based configuration, here's the list of currently supported ENV variables:
2014-11-20 12:22:53 +09:00
- `MB_DATABASE_URL` : sets database connection configuration. Syntax: `postgres://<user>(:<pass>)@<host>(:<port>)/<dbname>` .
2014-11-20 16:55:45 +09:00
- `MB_MEMCACHE_SERVERS` : addresses of memcache servers. Separated by comma.
2014-09-26 04:11:10 -05:00
- `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.
2014-11-20 12:23:06 +09:00
- `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.
2014-09-15 17:11:41 +09:00
2020-04-12 06:18:50 +09:00
### Additional configuration for web server
On setup with separate image servers, additional configuration is required for avatar and inline image cropping to work. Specifically, due to how the image cropping library works, the image servers need to allow [CORS ](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing ) for image access from main url.
2013-07-02 22:20:38 +09:00
Plans
-----
* Bug fixes
* Documentation
* And more!