Deploying Discourse through the Linode Marketplace
Traducciones al EspañolEstamos 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.
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.
This means you need a Linode API token. If you don’t have a token, you must create one before continuing.
Ensure that your domain registrar is using Linode’s name servers.
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 isexample.com
, then the SMTP user must be able to send email fromnoreply@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 benoreply@example.com
.
Deploying the Discourse Marketplace App
The Linode Marketplace allows you to easily deploy software on a Linode using the Linode Cloud Manager.
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.
Under the Select App section, select the app you would like to deploy.
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.
Complete the rest of the form as discussed within the Getting Started > Create a Linode.
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.
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.
NoteDiscourse 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 fromnoreply@your-fully-qualified-domain.com
for account verification.
Field | Description |
---|---|
Your Linode API Token | Your 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 |
Subdomain | The subdomain you wish the installer to create a DNS record for during setup. |
Domain | The 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 certificate | The 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 Address | The address for SMTP. Discourse uses this for sending email. Required |
SMTP Username | The 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 User | The password for the SMTP account listed above. Required |
The limited sudo user to be created for the Linode | This is the limited user account to be created for the Linode. This account has sudo user privileges. |
The password for the limited sudo user | Set 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 Linode | If 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.
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
oryour-domain.com
if you did not enter a subdomain.
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.
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
orhttps://your-domain.com
.Discourse welcomes you with a “Congratulations” screen and a Register button. Click the Register button to create the administrator account.
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.
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.
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:
Software | Description |
---|---|
Discourse | Discourse is an open source discussion platform that provides a forum, mailing list, chat room, and more. |
ufw | ufw 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 …
NoteCurrently, 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.
Change into the directory
/var/discourse/containers/
:cd /var/discourse/containers
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. ...
Save the file and exit.
Change directory into
/var/discourse
and rebuild Discourse.cd .. ./launcher rebuild app
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