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
2024-09-03 18:56:05 +09:00
* Ruby (3.3 or later)
* PostgreSQL (15 or later)
2013-07-02 22:20:38 +09:00
* Bundler gem
2024-09-03 18:56:05 +09:00
* node.js (20.0 or later)
2013-07-02 22:20:38 +09:00
* ImageMagick
* And various other requirement for the gems (check `Gemfile` for the list)
2022-02-12 07:05:07 +09:00
On RHEL, it goes like this (untested):
2013-07-02 22:20:38 +09:00
2022-02-12 07:05:07 +09:00
* ImageMagick
2013-07-02 22:20:38 +09:00
* gcc
* gcc-c++
2022-02-12 07:05:07 +09:00
* git
2013-07-02 22:20:38 +09:00
* jhead
* libxslt-devel
* libyaml-devel
2022-02-12 07:05:07 +09:00
* nodejs
2013-07-02 22:20:38 +09:00
* openssl-devel
* pcre-devel
2024-09-03 18:56:05 +09:00
* postgresql15-devel
* postgresql15-server
2013-07-02 22:20:38 +09:00
2022-02-12 07:05:07 +09:00
Base, EPEL, dnf module, 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;
2022-02-12 07:05:07 +09:00
### Rails Setup (development)
2013-07-02 22:20:38 +09:00
* 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`
2022-02-12 07:05:07 +09:00
* Start the server (`bundle exec rails server` )
* Start asset builder server (`npm run build -- --watch` )
2013-07-02 22:20:38 +09:00
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
2013-07-02 22:20:38 +09:00
Plans
-----
* Bug fixes
* Documentation
* And more!