discourse_docker/image/README.md
mwaniki-wairungu d9c837c783
FEATURE: Update base image and set default to postgresql 15 ()
This updates the default PostgreSQL version to 15.

  * image/base: update default postgres version to 15
  * launcher: bump base image to include postgres 15
  * postgres.template.yml: update default version to 15
  * postgres.15.template.yml: current version template

Legacy version templates:

  * postgres.13.template.yml
  * postgres.12.template.yml
  * postgres.10.template.yml
  * postgres.9.5.template.yml
2025-01-29 10:20:49 +03:00

31 lines
1.8 KiB
Markdown

# 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](https://github.com/discourse/discourse_docker/blob/main/image/auto_build.rb#L6-L88).
> **A note about --squash**: By default we squash the images we serve on Docker Hub. You will need to [enable experimental features](https://github.com/docker/docker-ce/blob/master/components/cli/experimental/README.md) on your Docker daemon for that.
## More about the images
See both `auto_build.rb` and the respective `Dockerfile`s for details on _how_ all of this happens.
### base ([discourse/base](https://hub.docker.com/r/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](https://hub.docker.com/r/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](https://github.com/discourse/discourse/tree/main/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](https://hub.docker.com/r/discourse/discourse_test/))
Builds on the discourse image and adds testing tools and a default testing entrypoint.