Learn How To Install Discourse on Debian 9
Table of Contents
- Create a new ITWebServices VPS
- Access your ITWebServices VPS as root
- Setup swap (only for 1GB install)
- Installation
If you are using a different system, please check our other tutorials.
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 setup Discourse with Docker CE on Debian 9.
Create a new IT Web Services VPS
1GB of RAM is the minimum amount, although it is recommended to use at least 2GB of RAM.
Access your IT Web Services VPS as root
Connect to your server using SSH via the Terminal on Mac or PuTTY on Windows.
ssh root@203.1.113.1
Replace 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.
Setup swap (only for 1GB install)
Create an empty swap file:
install -o root -g root -m 0600 /dev/null /swapfile
Write out a 1GB file named swapfile
:
dd if=/dev/zero of=/swapfile bs=1k count=1024k
Tell Linux that this is the swap file:
mkswap /swapfile
Activate it:
swapon /swapfile
Add it to the system table so that it is available after reboot:
echo "/swapfile swap swap auto 0 0" | tee -a /etc/fstab
Set the swappiness
so that it is only used as an emergency buffer:
sysctl -w vm.swappiness=10
Installation
https://www.itweb.services/tutorials/linux-guides/installing-docker-ce-on-debian-9″>guide.
Install Git.
apt update
apt install git -y
Make a folder called discourse
in the /var
directory:
mkdir /var/discourse
Clone the official Discourse Git repository in /var/discourse
:
git clone https://github.com/discourse/discourse_docker.git /var/discourse
Go into the discourse
directory:
cd /var/discourse
Launch the setup tool:
./discourse-setup
Answer 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 setup properly for your site to work.
Congratulations, you now have your own 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.
Need help?
Do you need help setting up this on your own service?
Please contact us and we’ll provide you the best possible quote!