Replace the old IQDB API client with a new client for the new forked version of IQDB at https://github.com/danbooru/iqdb. Changes: * The /iqdb_queries endpoint now returns `hash` and `signature` fields. The `signature` is the full decoded Haar signature, while the `hash` is a encoded version of the signature. * The /iqdb_queries endpoint no longer returns `width` and `height` fields in the response (these were always 128x128). * We no longer need the IQDBs frontend server, now we talk to the IQDB instance directly. * We no longer send add/remove image commands to IQDB through AWS SQS, now we send them to IQDB directly. They are sent in a delayed job so that if IQDB is down, uploading images is still possible, the add image commands will just get queued up. * Fix a bug where regenerating an image's thumbnails didn't regenerate IQDB, because IQDB silently ignored add image commands when the image already existed in the database.
117 lines
3.6 KiB
Markdown
117 lines
3.6 KiB
Markdown
[](https://codecov.io/gh/danbooru/danbooru) [](https://discord.gg/eSVKkUF)
|
|
|
|
## Quickstart
|
|
|
|
Clone this repository and run `bin/danbooru` to start a basic Danbooru instance:
|
|
|
|
```sh
|
|
git clone https://github.com/danbooru/danbooru
|
|
cd danbooru
|
|
./bin/danbooru
|
|
```
|
|
|
|
This will install [Docker Compose](https://docs.docker.com/compose/) and use it
|
|
to start Danbooru. This will take several minutes and produce lots of output.
|
|
When it's done, Danbooru will be running at http://localhost.
|
|
|
|
Alternatively, if you already have Docker Compose installed, you can just do:
|
|
|
|
```sh
|
|
docker-compose -f config/docker/docker-compose.simple.yaml up
|
|
```
|
|
|
|
## 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 [IQDB service](https://github.com/danbooru/iqdb).
|
|
|
|
### Archive Service
|
|
|
|
In order to access versioned data for pools and posts you will
|
|
need to install and configure the [Archives service](https://github.com/r888888888/archives).
|
|
|
|
### Reportbooru Service
|
|
|
|
The following features are delegated to the [Reportbooru service](https://github.com/r888888888/reportbooru):
|
|
|
|
* Related tags
|
|
* Missed searches report
|
|
* Popular searches report
|
|
* Favorite searches
|
|
* Upload trend graphs
|
|
|
|
### Recommender Service
|
|
|
|
Post recommendations require the [Recommender service](https://github.com/r888888888/recommender).
|
|
|
|
### 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.
|