The discussion explores how Discourse hosting uses Docker for customer instances. rubydoob asks whether each customer runs in a Docker container with its own database or if there’s a shared database setup. david confirms Docker is used across hosting tiers and references relevant meta posts. pfaffman shares experience with Docker orchestration tools like Traefik and Ansible for managing deployments. Falco clarifies that most hosting services run in containers, with each customer having its own database, and mentions current orchestration uses Puppet and Nomad, suggesting a blog post on the topic would be valuable. rubydoob thanks the contributors for the insights.
The details vary a lot based on the hosting tier, but yes we do use docker everywhere. You might be interested in these topics which describe some of the techniques we lean on:
I was interested to know how you manage all these servers with docker. For example, when a new customer signs up, how do you spin off a new server etc. You need something to orchestrate all these servers running docker, and manage updates etc.
I have an ansible playbook that handles spinning up the stuff a new site needs (e.g., redis), updates the yml file (like if a plugin or setting is changed in my config file), bootstraps the image, launches the image, does post migrations after launch, and so on.