discourse_docker/image
Joffrey JAFFEUX c622ee5b24
Separate dependencies and browser installation (#956)
- deps as root
- browser as discourse user
2025-05-12 10:11:35 +01:00
..
base Bump Ruby to 3.3.7 (#954) 2025-05-06 09:22:32 +08:00
discourse_dev FEATURE: Update base image and set default to postgresql 15 (#909) 2025-01-29 10:20:49 +03:00
discourse_test Separate dependencies and browser installation (#956) 2025-05-12 10:11:35 +01:00
README.md FEATURE: Update base image and set default to postgresql 15 (#909) 2025-01-29 10:20:49 +03:00
auto_build.rb Build images with PG 15 installed (#917) 2025-01-21 09:59:32 +08:00

README.md

Docker images

Building new images

To build a new image, just run ruby auto_build.rb image-name. The build process will build a local image with a predefined tag.

Images and tag names are defined here.

A note about --squash: By default we squash the images we serve on Docker Hub. You will need to enable experimental features on your Docker daemon for that.

More about the images

See both auto_build.rb and the respective Dockerfiles for details on how all of this happens.

base (discourse/base)

All of the dependencies for running Discourse. This includes runit, postgres, nginx, ruby, imagemagick, etc. It also includes the creation of the "discourse" user and /var/www directory.

discourse_dev (discourse/discourse_dev)

Adds redis and postgres just like the "standalone" template for Discourse in order to have an all-in-one container for development. Note that you are expected to mount your local discourse source directory to /src. See the README in GitHub's discourse/bin/docker for utilities that help with this.

Note that the discourse user is granted "sudo" permission without asking for a password in the discourse_dev image. This is to facilitate the command-line Docker tools in discourse proper that run commands as the discourse user.

discourse_test (discourse/discourse_test)

Builds on the discourse image and adds testing tools and a default testing entrypoint.