discourse forum

Jump toUpdate content

How to create your own forum with Discourse

Reviewed on 27 February 2022Published on 21 April 2020
  • compute
  • Discourse-forum
  • forum
  • InstantApp
  • discourse
  • virtual-instance
  • -
  • compute
  • -
  • instances

Discourse Overview

Discourse is an open source Internet forum software application. Discourse is different to existing forum software by including features recently popularized by large social networks. The application is written with Ember.js and Ruby on Rails. The backend database management system used by Discouse is PostgreSQL.

The source code is distributed under the GNU General Public License version 2 and available on GitHub.

This tutorial will guide you to setup discourse using the official Docker image. The Docker container contains everything that is required to run Discourse and makes it much more easier to deploy, administer and upgrade the software.


Installing Discourse

  1. Log into your instance using SSH.

  2. Update the apt packet cache and upgrade the software already installed on the instance to the latest version available in Ubuntu’s Repositories:

    apt update && apt ugprade -y
  3. Install packages required for Discourse:

    apt install -y git netcat
  4. Clone the Discouse Docker repository into the local directory /var/discourse:

    git clone https://github.com/discourse/discourse_docker.git /var/discourse
  5. Enter the locally cloned repository:

    cd /var/discourse
  6. Run the Discourse setup:


    It is required that:

    • a valid (sub-)domain is pointed to your instance. Discourse will not work from an IP address. If you do not have a domain name yet, you can order one now. Create a sub-domain like discourse.mydomain.com or forum.mydomain.com for your Discourse instance.
    • you have a SMTP server available to send out emails from Discourse. You can either configure an own SMTP server or use a SMTP service like SendInBlue or Mailjet. Make sure that the Instances SMTP ports are enabled. Discourse will not work if it can not send emails.
  7. Answer the following questions:

    Hostname for your Discourse? [discourse.example.com]:
    Email address for admin account(s)? [me@example.com,you@example.com]:
    SMTP server address? [smtp.example.com]:
    SMTP port? [587]:
    SMTP user name? [user@example.com]:
    SMTP password? [pa$$word]:
    Let's Encrypt account email? (ENTER to skip) [me@example.com]:
  8. Once all details are entered, a app.yml configuration file is being generated on your behalf before bootstrapping the installation. Please note that the installation of Discourse may take up to 10 minutes depending on your instance type.

Configuring the Admin User

  1. Once the installation is complete, open your web browser and go to your discourse subdomain (i.e. https://discourse.example.com). The configuration wizard displays. Click Register to create the first (admin) user:

  2. Enter an identifier and a secret password for the new user. Make sure that your email address is valid, as you will receive a confirmation link in this mailbox. Click Register to continue:

  3. Check your email inbox and click the link to confirm your email address and finish the creation of the admin user.

Configuring Discourse

  1. Once you have validated your email address, the Discourse configuration wizard displays. Choose the language for the application and click Next:

  2. Complete the wizard to customize your community towards your needs.

  3. Your Discourse community is ready now: