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 (1)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.