DEV Community

Cover image for Deploying Discourse Open-Source Community Discussion Platform on Ubuntu 24.04
Sanskriti Harmukh for Vultr

Posted on with Aashish Chaurasiya • Originally published at docs.vultr.com

Deploying Discourse Open-Source Community Discussion Platform on Ubuntu 24.04

Discourse is an open-source community discussion platform that merges traditional forums, mailing-list workflows, and real-time conversations into a mobile-first interface. This guide deploys Discourse on Ubuntu 24.04 using the official installer, which handles Docker setup, configuration generation, and automatic Let's Encrypt HTTPS. By the end, you'll have a Discourse forum running securely at your domain with the community dashboard ready.

Prerequisite: A Discourse ID account at id.discourse.com. Custom domain or a free discourse.diy subdomain works.


Claim a Free Subdomain (Optional)

If you don't have a custom domain:

  1. Visit https://id.discourse.com/my/subdomain.
  2. Sign in with your Discourse ID account.
  3. Pick a unique subdomain (e.g. mydiscourse.discourse.diy).
  4. Click Claim Subdomain.
  5. Generate the verification code (expires in 10 minutes — keep it ready).

Run the Discourse Installer

Warning: Run installer scripts only from trusted sources. The Discourse installer runs as root and modifies Docker, firewall rules, and TLS settings.

1. Create the project directory:

$ mkdir discourse
$ cd discourse
Enter fullscreen mode Exit fullscreen mode

2. Download and execute the installer:

$ wget -qO- https://raw.githubusercontent.com/discourse/discourse_docker/main/install-discourse | sudo bash
Enter fullscreen mode Exit fullscreen mode

The script installs Docker, generates configuration, enables Let's Encrypt, and launches the setup wizard.


Configure the Deployment

The interactive wizard prompts for:

  • Admin email — your Discourse ID account email.
  • Domain selectionNo to use a discourse.diy subdomain (enter the verification code); Yes for a custom domain already pointing at the server.
  • SMTP configurationNo to defer until later; Yes to configure SMTP now.

After reviewing the settings, select Yes to deploy. The first build can take a few minutes.

Verify the container is running:

$ docker ps
Enter fullscreen mode Exit fullscreen mode

Look for a container named app using the local_discourse/app image with ports 80 and 443 mapped.


Access the Discourse Dashboard

1. Open the site over HTTPS:

https://discourse.example.com

2. Sign in with **Login with Discourse ID.**

3. Complete the Getting Started wizard:

  • Community name — forum title.
  • Language — primary interface language.
  • Visibility — public (searchable) or private (login required).
  • Registration — open sign-up or invite only.
  • Account approval — toggle moderator review for new users.

4. Create a starter category and publish an introduction topic from the New Topic button.


Next Steps

Discourse is running with HTTPS at your domain. From here you can:

  • Configure SMTP under Admin → Email for transactional and digest emails
  • Install themes and plugins from the official marketplace
  • Enable single sign-on (Discourse Connect, SAML, OAuth) to bridge your existing user base

For the full guide with additional tips, visit the original article on Vultr Docs.

Top comments (0)