Skip to content
Danbooru is a taggable image board written in Rails 6.
Ruby HTML PLpgSQL JavaScript CSS Shell
Branch: master
Clone or download

Latest commit

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci circleci: reduce parallelism Dec 8, 2019
.dependabot Add dependabot config. Oct 29, 2019
.github stale.yml: bump timeouts, change wontfix -> stale Aug 5, 2019
app Remove unused data attributes from <body> tag. Jun 3, 2020
bin gems: update bundler binstubs. May 6, 2020
config Fix antiproxying (again). Jun 3, 2020
db tests: remove SKIP_CLOUDFLARE_CHECK env variable. May 12, 2020
doc fixes #3320 Oct 9, 2017
lib rake: add image preview/sample regeneration script. May 24, 2020
public Fix #4425: Add Danbooru Discord server prominently May 8, 2020
script BURs: rename AliasAndImplicationImporter to BulkUpdateRequestProcessor. May 11, 2020
test tests: fix upload controller tests. Jun 2, 2020
tmp added approval step for aliases/implications Oct 23, 2011
.env Recommend posts on /posts/show based on voting patterns Jul 20, 2018
.eslintrc.yml js: fix eslint warnings. Aug 18, 2019
.gitignore Update .gitignore. Jan 14, 2020
.rubocop.yml gems: add Rubocop gem. May 6, 2020
.ruby-version Upgrade to ruby 2.7. Feb 17, 2020
.stylelintrc.yml css: add stylelint. Oct 2, 2019
Capfile Fix #4218: Can't install because Rails assets manifest is missing. Dec 6, 2019
Gemfile config: remove `banned_ip_for_download?` option. Jun 2, 2020
Gemfile.lock config: remove `banned_ip_for_download?` option. Jun 2, 2020
INSTALL.debian Upgrade to ruby 2.7. Feb 17, 2020
LICENSE Create LICENSE Jun 29, 2013
Procfile continue refactoring savedsearch Nov 15, 2018
README.md Fixed spelling error Jun 17, 2019
Rakefile rubocop: fix various style issues. Dec 23, 2019
babel.config.js Fix #4115: Upgrade to webpack 4.x. Aug 1, 2019
config.ru rubocop: fix various style issues. Dec 23, 2019
package.json Added mono font May 25, 2020
postcss.config.js css: factor out colors from main css (#4158). Sep 17, 2019
yarn.lock Update ruby gems and yarn packages. Jun 1, 2020

README.md

Installation

It is recommended that you install Danbooru on a Debian-based system since most of the required packages are available on APT. Danbooru has been successfully installed on Fedora, CentOS, FreeBSD, and OS X. The INSTALL.debian install script is straightforward and should be simple to adapt for other platforms.

For best performance, you will need at least 256MB of RAM for PostgreSQL and Rails. The memory requirement will grow as your database gets bigger.

On production Danbooru uses PostgreSQL 9.4, but any 9.x release should work.

Use your operating system's package management system whenever possible. This will simplify the process of installing init scripts, which will not always happen when compiling from source.

Troubleshooting

These instructions won't work for everyone. If your setup is not working, here are the steps I usually recommend to people:

  1. Test the database. Make sure you can connect to it using psql. Make sure the tables exist. If this fails, you need to work on correctly installing PostgreSQL, importing the initial schema, and running the migrations.

  2. Test the Rails database connection by using rails console. Run Post.count to make sure Rails can connect to the database. If this fails, you need to make sure your Danbooru configuration files are correct.

  3. Test Nginx to make sure it's working correctly. You may need to debug your Nginx configuration file.

  4. Check all log files.

Services

Danbooru employs numerous external services to delegate some functionality.

For development purposes, you can just run mocked version of these services. They're available in scripts/mock_services and can be started automatically using Foreman and the provided Procfile.

Amazon Web Services

In order to enable the following features, you will need an AWS SQS account:

  • Pool versions
  • Post versions
  • IQDB
  • Saved searches
  • Related tags

Google APIs

The following features requires a Google API account:

  • Bulk revert
  • Post versions report

IQDB Service

IQDB integration is delegated to the IQDBS service.

Archive Service

In order to access versioned data for pools and posts you will need to install and configure the Archives service.

Reportbooru Service

The following features are delegated to the Reportbooru service:

  • Related tags
  • Missed searches report
  • Popular searches report
  • Favorite searches
  • Upload trend graphs

Recommender Service

Post recommendations require the Recommender service.

Cropped Thumbnails

There's optional support for cropped thumbnails. This relies on installing libvips-8.6 or higher and setting Danbooru.config.enable_image_cropping to true.

You can’t perform that action at this time.