• By Discourse Charm Maintainers
Channel Version Revision Published Runs on
latest/stable 28 28 08 Apr 2021
Ubuntu 20.04
juju deploy discourse-charmers-discourse-k8s
Show information


Discourse Operator

A juju charm deploying and managing Discourse on Kubernetes, configurable to use a PostgreSQL backend.


Supported features include SAML authentication, scaling to multiple pods and the storage of files and images in S3. This charm also offers seamless Discourse version upgrades, initiated by switching to an image with a newer version of Discourse than the one currently deployed.


For details on using Kubernetes with Juju see here, and for details on using Juju with MicroK8s for easy local testing see here.

To get started with a test environment, first deploy Redis in an IaaS model:

juju deploy cs:~redis-charmers/redis  # Note the deployed IP as ${REDIS_IP}

Now deploy the Discourse and PostgreSQL charms within a Juju Kubernetes model as follows:

juju deploy cs:~postgresql-charmers/postgresql-k8s postgresql
juju deploy cs:~discourse-charmers/discourse-k8s discourse \
  --config redis_host=${REDIS_IP} \
  --config developer_emails="user@foo.internal" \
  --config external_hostname="foo.internal" \
  --config smtp_address="" \
  --config smtp_domain="foo.internal"
juju add-relation discourse postgresql:db-admin
juju expose discourse

Once the deployment is completed and the "discourse" workload state in juju status has changed to "active" you can visit http://{$discourse_ip}:3000 in a browser and log in to your Discourse instance.

For further details, see here.