Discourse setup on kubernetes cluster using HELM

Need to setup discourse officially on Kubernetes cluster using helm. Current official deployment of discourse seems to be on EC2 machine.

K8s isn’t supported, and for most people is unnecessarily complicated. You need to use launcher to build an image push it to docker, then have k8s use that image. There are a bunch of env settings that you need. You also need to precompile assets and push them to S3. .

See Can Discourse ship frequent Docker images that do not need to be bootstrapped?.


I somehow dont agree that K8s make things complicated. Its far more complicated to manage an EC2 based deployment then K8s based deployment. Patching the EC2 will become so complicated. In a scenario where all other applications are on K8s, maintaining the discourse on different platform and managing the integration become an overheard for the operations team. I am not sure what complication/restrictions are keeping discourse team to keep a distance form K8s specially when discourse EC2 based deployment is also a container based deployment only.

The link I provided discusses the many of the complications. They developed their container building “launcher” before docker compose was stable,so you’ll need to use it to build your image.

You also need to migrate the database in two steps when doing an upgrade, which I’ve not seen how to do easily in k8s. I’ve done a couple of k8s deployments on GCP and helped with another on eks managed with terraform.

For someone who knows nothing about system administration, a single vm and single container is easy to maintain and is the target audience for self hosters. It is the only installation method that is supported here.

There exists a Bitnami image. It’s not supported here but might work for you if you don’t mind it being out of date and not installing plugins. You can get help with it from Bitnami.

1 Like