How to Deploy Discourse Discussion Platform inside Containers with Jelastic PaaS

| April 10, 2019

Discourse platformDiscourse is an open source discussion platform used for forums or long-form chat rooms. It provides an advanced forum software with numerous awesome features, beneficial both for administrators and customers. In this step-by-step guide, we’ll describe how to deploy and host Discourse platform inside Docker containers using Jelastic PaaS.

1. Open the Jelastic Marketplace, search for the Docker Engine CE package and click Install.

Docker Engine CE package in marketplace

2. Within the opened frame, select the create a clean standalone engine option, adjust the Environment and Display Name up to your needs and, if available, choose the preferable Region. Click Install to proceed.

Docker Engine CE installation

Package automatically attaches a public IP to the node (if available for your account) for external connections.

Tip: After installation ensure that your node meets Discourse hardware requirements (i.e. cloudlets count and disk space). We recommend to set higher setting during installation and tune up later on based on the actual application load.

3. Once your environment is created, access the Discourse node via SSH. In the current example, we’ll use Web SSH connection.

Docker Engine CE installed
4. Discourse requires the nc (netcat) utility to verify a connection to the environment through the socket during the setup, so let’s install it with the appropriate command:

yum install nc

download Discourse launcher tool

5. Create a dedicated directory and clone the Discourse launcher tool for Docker container from the linked official repository at GitHub.

mkdir /var/discourse
git clone /var/discourse

download Discourse launcher tool

6. Now, go to the created folder and run the Discourse setup tool.

cd /var/discourse

run Discourse setup tool

Here, you can provide the preferable parameters:

  • Hostname for your Discourse? - domain name for your Discourse site (should be preliminary purchased via domain registrar and bind to your public IP via the A Record)
  • Email address for admin account(s)? - comma-separated list of the admin account email addresses
  • SMTP server address? - host address of your SMTP server
  • SMTP port? - port used by your SMTP server
  • SMTP user name? - username of your SMTP server
  • SMTP password? - password of your SMTP server

    Tip: You can learn about the recommended email providers for Discourse and their appropriate SMTP parameters at the official documentation.

  • Let's Encrypt account email? - your Let’s Encrypt account to secure connections with free SSL certificate (optional, press Enter to skip)

Wait a few minutes for the launcher to complete the installation.

7. Now, access the domain name provided in the previous step.

Discourse installed

Follow the displayed steps in accordance with the developer recommendations to register admin user and customize the Discourse installation up to your needs.

That’s it! Your instance of the Discourse platform is up and running at one of Jelastic PaaS service providers.