discourse/bin/docker
Loïc Guitaut 6b243ffdfd
DEV: Remove Unicorn web server in favor of Pitchfork (#39032)
Pitchfork has been the default web server for some time now. This
removes Unicorn entirely to simplify the codebase and unblock future
improvements (like Rack 3).

Notable changes beyond the straightforward removal:

- `Discourse.after_unicorn_worker_fork` →
`Discourse.apply_worker_db_variables_overrides`: renamed and wired into
pitchfork.conf.rb's `after_worker_fork`. This actually *fixes*
per-worker DB variable overrides (`unicorn_worker_db_variables_*`) which
were never called under Pitchfork.
- `bin/ember-cli`: `--unicorn` flag renamed to `--server` (`-u` kept).
- `lib/demon/sidekiq.rb`: removed Unicorn-specific USR1/USR2 signal
handlers and `reopen_logs` (called `Unicorn::Util.reopen_logs`), which
were already dead code under Pitchfork.

Intentionally kept unchanged:
- `config/unicorn_launcher` (used by Docker images, separate effort)
- `docker_manager` plugin (separate repo)
- `UNICORN_*` env vars (renaming deferred)
- Rack < 3 constraint (separate PR)
2026-04-01 15:04:59 +02:00
..
boot_dev DEV: Move puma to test-only dependency (#38652) 2026-03-18 05:23:12 +08:00
bundle DEV: Update docker development binstubs 2021-05-21 16:51:10 +01:00
cleanup DEV: Add docker cleanup script to d/ folder 2020-03-01 12:09:07 -08:00
discourse DEV: Update docker development binstubs 2021-05-21 16:51:10 +01:00
ember-cli DEV: Update docker development binstubs 2021-05-21 16:51:10 +01:00
exec DEV: Add env var to bin/docker/exec (#25187) 2024-01-09 12:31:08 -06:00
mailhog DEV: use mailhog in our docker dev environment (#14549) 2021-10-08 11:10:46 +05:30
migrate DEV: Update docker development binstubs 2021-05-21 16:51:10 +01:00
pitchfork DEV: Add Pitchfork alongside Unicorn (#35370) 2025-10-24 11:08:23 +02:00
psql DEV: Update docker development binstubs 2021-05-21 16:51:10 +01:00
rails DEV: Update docker development binstubs 2021-05-21 16:51:10 +01:00
rake DEV: Update docker development binstubs 2021-05-21 16:51:10 +01:00
README.md Remove Docker dev-install instructions 2018-11-16 15:17:21 +05:30
reset_db Fix docker image name (#8058) 2019-09-04 16:19:48 +10:00
rspec DEV: Update docker development binstubs 2021-05-21 16:51:10 +01:00
shell DEV: Update docker development binstubs 2021-05-21 16:51:10 +01:00
shell_root DEV: Update docker development binstubs 2021-05-21 16:51:10 +01:00
shutdown_dev Improve docker performance with delegated mount flag (#5760) 2018-04-16 10:56:35 +02:00

Developing using Docker

Since Discourse runs in Docker, why not develop there? If you have Docker installed, you should be able to run Discourse directly from your source directory using a Discourse development container.

You can find installation instructions and related discussion in this meta topic: https://meta.discourse.org/t/beginners-guide-to-install-discourse-for-development-using-docker/102009

Where is the container image/Dockerfile defined?

The Dockerfile comes from discourse/discourse_docker on GitHub, in particular image/discourse_dev.