How to deploy Discourse on DreamCompute

Discourse is a powerful and open source forum platform. It allows you to create a forum for your needs simply and manage it an a easy way. In this guide you will learn how to run your own discourse forum on DreamCompute on an Ubuntu Xenial server.

Server Prerequisites

There are a few hardware requirements for discourse:

  • Single core CPU
  • 1GB of RAM
  • 10GB of disk storage

Though I would recommend running it with at least 2 cores and 2GB of RAM as that will allow for more database caching and better performance overall.

Discourse also requires that you have Docker installed:

 [root@localhost]# apt update
 [root@localhost]# apt install

Downloading Discourse

Once you have your server created and docker installed, login as root and download the Discourse Docker repo:

[root@localhost]# mkdir /var/discourse 
[root@localhost]# git clone /var/discourse

This downloads the repository that knows how to run and manage discourse using docker, so you don’t have to worry about the dependencies.

Configuring Discourse

After you have downloaded the Discourse Docker repository, you can configure discourse:

[root@localhost]# cd /var/discourse
[root@localhost]# ./discourse-setup

Follow the prompts and enter the information as necessary, if you do not have a DNS entry for this host you can set the hostname to the IP address of the server, but you will be unable to use Lets Encrypt for SSL.

Starting Discourse

The Discourse container is managed by using the launcher script. To see the available commands run:

[root@localhost]# ./launcher

If you wish to start the site, run:

[root@localhost]# ./launcher start app

The first time this runs it takes a while as it has to build the container. After your command finishes you should be able to view the site in a browser and see the web setup guide.

For more information see the Discourse documentation.

Hi, smaffulli
We are considering this option to install and use this forum board…
DreamCompute does not need any further configuration than the ones listed above?

best regards,

Uhm … this tutorial is more suitable for a quick start and an evaluation … something that you don’t mind if the data on the server get lost.

For a production server, I’d create a separate volume to keep Discourse data… We use an Ansible playbook that does all the things.