Deploying Discourse through the Linode Marketplace

Traducciones al Español
Estamos traduciendo nuestros guías y tutoriales al Español. Es posible que usted esté viendo una traducción generada automáticamente. Estamos trabajando con traductores profesionales para verificar las traducciones de nuestro sitio web. Este proyecto es un trabajo en curso.
Create a Linode account to try this guide with a $100 credit.
This credit will be applied to any valid services used during your first 60 days.

Discourse is an open source discussion platform that provides a forum, mailing list, chat room, and more.

Before You Begin

Discourse requires that you have a domain name and access to a personal SMTP email server before installation. This requires either having access to a pre-existing SMTP server, or setting up an SMTP Relay through a third party. The Discourse Marketplace App requires an SMTP username and password for a server under your control in order to successfully complete the installation.

  • If you don’t already have your domain hosted at Linode, the install creates A and AAAA domain records for you.

  • Additionally, the SMTP user must be able to send email from noreply@your-domain.com for administrator account verification.

    • For example, if you enter a subdomain of discourse and your domain name is example.com, then the SMTP user must be able to send email from noreply@discourse.example.com.

    • You are not required to use a subdomain. Therefore, if you only setup example.com with no subdomain, the email used for verification would be noreply@example.com.

Deploying the Discourse Marketplace App

The Linode Marketplace allows you to easily deploy software on a Linode using the Linode Cloud Manager.

  1. Log in to the Cloud Manager and select the Marketplace link from the left navigation menu. This displays the Linode Compute Create page with the Marketplace tab pre-selected.

  2. Under the Select App section, select the app you would like to deploy.

  3. Fill out all required Options for the selected app as well as any desired Advanced Options (which are optional). See the Configuration Options section for details.

  4. Complete the rest of the form as discussed within the Getting Started > Create a Linode.

  5. Click the Create Linode button. Once the Linode has provisioned and has fully powered on, wait for the software installation to complete. If the Linode is powered off or restarted before this time, the software installation will likely fail. To determine if the installation has completed, open the Linode’s Lish console and wait for the system login prompt to appear.

  6. Follow the instructions within the Getting Started After Deployment section.

Software installation should complete within 15-20 minutes after the Linode has finished provisioning.

Configuration Options

Discourse Options

The Discourse Marketplace form includes advanced fields to setup your Discourse server’s A and AAAA domain records and a free Let’s Encrypt SSL certificate. Some of these fields are optional configurations and are not required for installation. The fields that are required are marked Required.

Note
Discourse requires that you have a domain name and SMTP email. These fields are required for a successful installation and are marked Required. Additionally, the SMTP user must be able to send email from noreply@your-fully-qualified-domain.com for account verification.
FieldDescription
Your Linode API TokenYour Linode API access token is needed to create your DNS records and to create the Let’s Encrypt SSL certificate. If you don’t have a token, you must create one before continuing. Required
SubdomainThe subdomain you wish the installer to create a DNS record for during setup.
DomainThe domain name where you wish to host your Discourse app. The installer creates a DNS record for this domain during setup. Required
Email for Admin Account and Let’s Encrypt certificateThe email you wish to use for the administrator account and the SSL certificate. This email address receives notifications when the certificate needs to be renewed. Required
SMTP AddressThe address for SMTP. Discourse uses this for sending email. Required
SMTP UsernameThe username for the SMTP account entered above. The SMTP user must be able to send email from noreply@your-fully-qualified-domain.com for account verification. Required
Password for SMTP UserThe password for the SMTP account listed above. Required
The limited sudo user to be created for the LinodeThis is the limited user account to be created for the Linode. This account has sudo user privileges.
The password for the limited sudo userSet a password for the limited sudo user. The password must meet the complexity strength validation requirements for a strong password. This password can be used to perform any action on your server, similar to root, so make it long, complex, and unique.
The SSH Public Key that will be used to access the LinodeIf you wish to access SSH via Public Key (recommended) rather than by password, enter the public key here.
Disable root access over SSH?Select Yes to block the root account from logging into the server via SSH. Select No to allow the root account to login via SSH.

General Options

For advice on filling out the remaining options on the Create a Linode form, see Getting Started > Create a Linode. That said, some options may be limited or recommended based on this Marketplace App:

  • Supported distributions: Ubuntu 20.04 LTS
  • Recommended minimum plan: 4GB Shared Compute Instance

Getting Started After Deployment

Discourse is now installed and ready to use.

  1. Your A and AAAA Domain records for the domain and subdomain, if you designated one, have been created and you should see them in the Cloud Manager.

    • In the Cloud Manager DNS Manager, confirm that there are now an entries for your domain and possible subdomain.
    • Configure rDNS on your Linode to point to subdomain.your-domain.com or your-domain.com if you did not enter a subdomain.
  2. While the installation has created the A and AAAA domain records, it does not create the email records you need. In the Cloud Manager DNS Manager, add the MX, TXT, and any other records required to send email as specified by your email provider.

  3. You can now navigate to the Discourse app in your browser with the fully qualified domain name you entered during configuration, https://subdomain.your-domain.com or https://your-domain.com.

  4. Discourse welcomes you with a “Congratulations” screen and a Register button. Click the Register button to create the administrator account.

  5. On the Register Admin Account page, select one of the email addresses you entered during installation and enter a Username and Password. Then click the Register button.

  6. Discourse sends a confirmation email for account verification from your SMTP server. After you receive the email and confirm, you are redirected to the welcome screen where you are walked through a wizard to setup your Discourse.

  7. Once you are finished the setup wizard, Discourse launches the main discussion listing page where you can start adding discussion topics.

Software Included

The Discourse Marketplace App installs the following software on your Linode:

SoftwareDescription
DiscourseDiscourse is an open source discussion platform that provides a forum, mailing list, chat room, and more.
ufwufw is the uncomplicated firewall, a frontend for iptables.
This guide may involve or result in sending email. In an effort to fight spam, Linode restricts outbound connections on ports 25, 465, and 587 on all Linodes for new accounts created after November 5th, 2019. For more information, please see Sending Email on Linode.
This guide may involve or result in sending email. In an effort to fight spam, Linode restricts …
Note
Currently, Linode does not manage software and systems updates for Marketplace Apps. It is up to the user to perform routine maintenance on software deployed in this fashion.

Troubleshooting Email

If you did not get a confirmation email during setup it could be caused by several issues.

Check DNS Records

Ensure that you have correctly setup the email DNS records required to send email as specified from your email provider. The Installer does not do this for you as every email host has different required records and values.

Change the Confirmation Email Sender

Discourse sends this email from noreply@subdomain.your-domain.com. The SMTP user you entered during setup must have permissions to send from this address. If this is not the case, and you did not receive the email, you can change this address in a configuration file.

  1. Connect to your Marketplace App’s Linode via SSH.

  2. Change into the directory /var/discourse/containers/:

    cd /var/discourse/containers
    
  3. Edit the file app.yml with the text editor of your choice. Uncomment the following line and edit the email address to the email you wish to send the confirmation email from. The SMTP user must have permissions to send email from this address.

    File: /var/discourse/containers/app.yml
    1
    2
    3
    4
    5
    6
    7
    
    ...
    
    ## If you want to set the 'From' email address for your first registration, uncomment and change:
    - exec: rails r "SiteSetting.notification_email='noreply@example.com'"
    ## After getting the first signup email, re-comment the line. It only needs to run once.
    
    ...
  4. Save the file and exit.

  5. Change directory into /var/discourse and rebuild Discourse.

    cd ..
    ./launcher rebuild app
    
  6. Once Discourse has finished rebuilding, return to the confirmation email page in the browser and try again.

More Information

You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials.

This page was originally published on


Your Feedback Is Important

Let us know if this guide made it easy to get the answer you needed.


Join the conversation.
Read other comments or post your own below. Comments must be respectful, constructive, and relevant to the topic of the guide. Do not post external links or advertisements. Before posting, consider if your comment would be better addressed by contacting our Support team or asking on our Community Site.