0h7z / moebooru

Moebooru, a fork of danbooru1 that has been heavily modified

Home Page:https://github.com/0h7z/aur/tree/master/moebooru

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.1 or later)
  • PostgreSQL (14 or later)
  • Bundler gem
  • node.js (16.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
  • postgresql14-devel
  • postgresql14-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 (pnpm 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!

About

Moebooru, a fork of danbooru1 that has been heavily modified

https://github.com/0h7z/aur/tree/master/moebooru

License:GNU Affero General Public License v3.0


Languages

Language:Ruby 49.6%Language:HTML 21.2%Language:CoffeeScript 20.5%Language:PLpgSQL 5.2%Language:Less 2.3%Language:Python 0.4%Language:JavaScript 0.3%Language:Lua 0.2%Language:CSS 0.1%Language:Shell 0.0%