NavigationContentFooter
Jump toSuggest an edit

Creating your own forum with Discourse

Reviewed on 26 February 2024Published on 21 April 2020
  • compute
  • Discourse-forum
  • forum
  • InstantApp
  • discourse
  • virtual-instance

Discourse is an open-source internet forum software application, distinguished by its incorporation of features popularized by major social networks.

Developed with Ember.js and Ruby on Rails, it offers a modern approach to forum management. Behind the scenes, Discourse relies on PostgreSQL for efficient database management.

Released under the GNU General Public License version 2, its source code is freely available on GitHub. For those looking to set up Discourse, using the official Docker image streamlines the process. This container encapsulates all necessary components, simplifying deployment, administration, and software updates.

Before you start

To complete the actions presented below, you must have:

  • A Scaleway account logged into the console
  • Owner status or IAM permissions allowing you to perform actions in the intended Organization
  • An SSH key
  • An Instance running on Ubuntu Focal Fossa (20.04)
  • A domain name pointed to your Instance
  • Enabled the SMTP ports
  • Configured a mail server or have an SMTP account available

Installing Discourse

  1. Log into your instance using SSH.

  2. Update the apt package 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 Discourse 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:

    ./discourse-setup
    Important

    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 subdomain like discourse.mydomain.com or forum.mydomain.com for your Discourse instance.
    • you have an SMTP server available to send out emails from Discourse. You can either configure an own SMTP server or use an SMTP service like SendInBlue or Mailjet. Make sure that the Instance’s 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. 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.1. Once you have validated your email address, the Discourse configuration wizard displays. Choose the language for the application and click Next:
  3. Complete the wizard to customize your community towards your needs.
Docs APIScaleway consoleDedibox consoleScaleway LearningScaleway.comPricingBlogCarreer
© 2023-2024 – Scaleway