• Ruby 83.4%
  • HTML 9.7%
  • JavaScript 3.4%
  • SCSS 1.8%
  • Ragel 0.8%
  • Other 0.8%
Find a file
2026-07-08 17:18:29 -04:00
.devcontainer dev: add more extensions to devcontainer. 2026-03-20 02:13:29 -05:00
.github github: update postgres version for test runner 2026-06-11 19:17:38 +00:00
.vscode Copilot: whitelist some test commands 2026-04-20 12:49:04 +00:00
app chore: set default level to Platinum to all users 2026-07-01 21:05:51 -04:00
bin Remove .tool-versions 2026-06-08 10:53:51 +00:00
config chore: change defaults configs 2026-07-08 17:17:55 -04:00
db update structure.sql 2026-06-23 23:48:15 -04:00
docs dev: add basic development documentation. 2026-04-02 18:52:04 -05:00
lib dtext: add script for testing changes to dtext parser. 2026-04-20 08:57:34 -05:00
public chore: comment favicon.svg so it uses the .ico instead 2026-07-01 19:44:24 -04:00
script/fixes Add user_id column to upload_media_assets. 2026-03-17 14:24:07 -05:00
test chore: partial Spanish translation 2026-06-30 03:44:09 -04:00
.editorconfig editorconfig: set max line length to 120. 2022-11-05 19:09:56 -05:00
.env iqdb: update API client to use new version of IQDB. 2021-06-16 05:36:24 -05:00
.envrc Adapt Danbooru project for local development with Nix Flakes 2026-06-23 23:40:22 -04:00
.gitignore Add devcontainer-lock.json to gitignore 2026-05-24 11:18:45 +00:00
.irbrc irb: really disable autocomplete. 2022-10-27 02:56:44 -05:00
.mailmap git: add .mailmap file. 2021-09-14 21:40:39 -05:00
.rubocop.yml rubocop: fix even more rubocop warnings. 2026-03-12 01:03:55 -05:00
.ruby-version docker: update ruby version to 4.0.2. 2026-04-02 18:52:05 -05:00
.stylelintrc.yml js: update stylelint to 17.6.0. 2026-03-30 20:11:10 -05:00
AGENTS.md dev: add AGENTS.md file. 2026-04-02 18:52:04 -05:00
babel.config.json js: update corejs version in babel.config.json. 2025-06-09 21:41:05 -05:00
buildkitd.toml docker: avoid building all stages in parallel. 2025-05-27 22:30:29 -05:00
CLAUDE.md dev: add AGENTS.md file. 2026-04-02 18:52:04 -05:00
codecov.yml tests: use codecov ci action instead of codecov gem. 2026-03-11 16:13:05 -05:00
config.ru config: allow running site in subdirectory. 2024-03-29 04:27:00 -05:00
docker-compose.dev.yaml Fix stray typo in sqs docker compose config 2026-05-24 12:40:48 +02:00
docker-compose.yaml Fix stray typo in sqs docker compose config 2026-05-24 12:40:48 +02:00
Dockerfile Dockerfile: Update Ruby to 4.0.5 2026-07-08 17:18:29 -04:00
eslint.config.js js: update eslint to 10.1.0. 2026-03-30 20:11:10 -05:00
flake.lock Adapt Danbooru project for local development with Nix Flakes 2026-06-23 23:40:22 -04:00
flake.nix Adapt Danbooru project for local development with Nix Flakes 2026-06-23 23:40:22 -04:00
Gemfile deps: add ruby-lsp Gem for LSP 2026-06-24 14:49:41 -04:00
Gemfile.lock deps: add ruby-lsp Gem for LSP 2026-06-24 14:49:41 -04:00
LICENSE Update LICENSE 2026-05-24 11:15:51 +00:00
package-lock.json Notes: Replace Blackletter font with Manufacturing Consent. 2026-04-11 04:08:29 +03:00
package.json Notes: Replace Blackletter font with Manufacturing Consent. 2026-04-11 04:08:29 +03:00
postcss.config.js css: update browserslist requirement. 2022-01-08 12:09:25 -06:00
Procfile gems: update shakapacker to 7.2.1. 2024-01-11 00:39:36 -06:00
Rakefile rubocop: fix even more rubocop warnings. 2026-03-09 02:25:17 -05:00
README.md Adapt Danbooru project for local development with Nix Flakes 2026-06-23 23:40:22 -04:00

Danbooru ໒꒱﹒Alma

https://booru.alma.moe

Fork de Danbooru modificado para booru.alma.moe.

Desarrollo

Comandos para desarrollo:

$ nix develop
$ bundle clean --force
$ bundle install

# postgres
$ sudo su - psql
postgres=# create user danbooru password 'danbooru';
postgres=# alter user danbooru with superuser;
$ createdb danbooru -O danbooru

$ ./bin/rails db:setup
$ ./bin/rails db:migrate
$ ./bin/rails server

Solución de problemas

Algunas veces, dependiendo de la version de las librerias y Ruby, las dependencias instaladas terminan con conflictos de librerias enlazadas y mierdas asi, es una puta paja asi que mejor borrar todas las dependencias instaladas.

rm -rf ~/.local/share/gem
rm -rf ~/.gem

Discord codecov

Quickstart

Using Github Codespaces

To launch a Danbooru instance in your browser:

  1. Create a Github account.
  2. Click Open in Github Codespaces.
  3. Click the Create new codespace button.
  4. Wait a few minutes for it to launch.

When it's done, you'll have a new Danbooru instance with a full development environment running in your browser. This way you can try out Danbooru without installing anything on your computer.

See the Codespaces section in the Docker Guide to learn more.

Using Docker

Run this to start a Danbooru instance:

sh -c "$(curl -sSL https://raw.githubusercontent.com/danbooru/danbooru/master/bin/setup)"

This will install Docker Compose and start Danbooru. When it's done, Danbooru will be running at http://localhost:3000.

Alternatively, if you already have Docker Compose installed, you can do:

git clone http://github.com/danbooru/danbooru
cd danbooru
touch .env.local config/danbooru_local_config.rb
sudo docker compose up

When you're done, you can run the following to delete everything:

sudo docker compose down --volumes # Delete all data and images in your Danbooru instance.
sudo docker image prune            # Clean up all unused Docker images.
rm -rf ~/danbooru                  # Delete the Danbooru code.

Installation

See the Docker Guide for more information on running Danbooru using Docker. This is the recommended way to run Danbooru.

Alternatively, you may use the Manual Installation Guide to install Danbooru without Docker. Manual installation is much more difficult than using Docker, and therefore is not recommended or officially supported.

For help, ask in the #technical channel on the Danbooru Discord, or in the discussions area on Github.

Dependencies

Danbooru depends on a couple of cloud services and several microservices to implement certain features.

Amazon Web Services

In the production environment, for historical reasons, Danbooru relies on Amazon AWS to send pool/post versions to a SQS queue, and on a separate archives service (available here) to extract the versions from that queue and insert them into a database.

The Docker Compose files in this repository come with a preconfigured archives service and an SQS mock using ElasticMQ, so following the docker tutorial at the start of this file is sufficient to have post/pool versions working for a new instance.

Google APIs

There is an optional background job that exports a copy of all public API data to BigQuery. This requires a Google Cloud account.

IQDB Service

IQDB integration is delegated to the IQDB service.

Reportbooru Service

The following features are delegated to the Reportbooru service:

  • Post views
  • Missed searches report
  • Popular searches report

Recommender Service

Post recommendations require the Recommender service.

Development

See docs/README.md for information on the project structure, development workflow, and how to contribute.