Discourse is a modern, open-source discussion and forum system. Visit the official site for a demo and a breakdown of the current feature set. This tutorial will teach you how to set up Discourse with Docker CE on Debian 9.
1GB of RAM is the minimum amount, although it is recommended to use at least 2GB of RAM.
Connect to your server using SSH via the Terminal on Mac or PuTTY on Windows.
ssh root@203.1.113.1Replace 203.1.113.1 with your server IP.
You will be prompted to type Yes or No to add the server’s RSA fingerprint to your list of known hosts. Type Yes and hit ENTER.
Create an empty swap file:
install -o root -g root -m 0600 /dev/null /swapfileWrite out a 1GB file named swapfile:
dd if=/dev/zero of=/swapfile bs=1k count=1024kTell Linux that this is the swap file:
mkswap /swapfileActivate it:
swapon /swapfileAdd it to the system table so that it is available after reboot:
echo "/swapfile swap swap auto 0 0" | tee -a /etc/fstabSet the swappiness so that it is only used as an emergency buffer:
sysctl -w vm.swappiness=10To install Docker CE, follow all of the steps of this guide.
Install Git.
apt update
apt install git -yMake a folder called discourse in the /var directory:
mkdir /var/discourseClone the official Discourse Git repository in /var/discourse:
git clone https://github.com/discourse/discourse_docker.git /var/discourseGo into the discourse directory:
cd /var/discourseLaunch the setup tool:
./discourse-setupAnswer the following questions when prompted:
Hostname for your Discourse? [discourse.anydomain.com]:
Email address for admin account(s)? [admin1@anydomain.com,admin2@anydomain.com]:
SMTP server address? [smtp.anydomain.com]:
SMTP port? [587]:
SMTP user name? [user@anydomain.com]:
SMTP password? [pa$$word]:
Let's Encrypt account email? (ENTER to skip) [admin1@anydomain.com]: This will generate an app.yml configuration file on your behalf and then kick off bootstrap. If you need to change these settings after bootstrapping, you can run ./discourse-setup again (it will read your old values from the file) or edit containers/app.yml with Nano and then run ./launcher rebuild app for your changes to take effect.
Note: You must have your email settings set up properly for your site to work.
Congratulations, you now have your instance of Discourse up and running. To access it, simply type the hostname (http://discourse.anydomain.com) you’ve configured into a web browser and complete the configuration.