How do you scale discourse horizontally?

There is a lot of related discussion on Can Discourse ship frequent Docker images that do not need to be bootstrapped?.

The gist of it is:

  1. You provide external services for PostgreSQL, Redis and Load Balancer and configure the app.yml to use those, like for example Running Discourse with a separate PostgreSQL server.

  2. Run ./launcher bootstrap app somewhere. This will result in a container image being created in the local machine. Upload this image to your container registry service.

  3. Now you can spin as many instances as you want, telling all to run the image exported in the previous step.

4 Likes