Table of Contents
- Create a new ITWebServices VPS
- Access your ITWebServices VPS
- Setup swap (only for 1GB install)
- Install Docker/Git
- Install Discourse
- Edit the Discourse configuration
- Bootstrap Discourse
- Setup complete
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 on Ubuntu 14.04.
Create a new IT Web Services VPS
1GB of RAM is minimum amount, although it is recommended to use at least 2GB of RAM. Always select the latest 64-bit LTS distribution.
Access your IT Web Services VPS
Connect to your server using SSH via the Terminal on Mac or PuTTY on Windows.
Replace “123.456.7.8” 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:
sudo install -o root -g root -m 0600 /dev/null /swapfile
- Write out a 1GB file named:
dd if=/dev/zero of=/swapfile bs=1k count=1024k
- Tell Linux that this is the swap file:
- Activate it:
- Add it to the system table so that it is available after reboot:
echo "/swapfile swap swap auto 0 0" | sudo tee -a /etc/fstab
- Set the “swappiness” so that it is only used as an emergency buffer:
sudo sysctl -w vm.swappiness=10
Run the following command:
wget -qO- https://get.docker.io/ | sh
- Make a folder called “discourse” in the
- Clone the official Discourse git repository in
git clone https://github.com/discourse/discourse_docker.git /var/discourse
- Go into the Discourse directory:
- Make a copy of the config file as
cp samples/standalone.yml containers/app.yml
Edit the Discourse configuration
- Edit the
- Set “DISCOURSE_DEVELOPER_EMAILS” to your email address.
- Set “DISCOURSE_HOSTNAME” to your web address to access Discourse (example: discourse.itweb.services.com).
- Enter your email credentials in “DISCOURSE_SMTP_ADDRESS”, “DISCOURSE_SMTP_PORT”, “DISCOURSE_SMTP_USERNAME” and “DISCOURSE_SMTP_PASSWORD”. Be sure to remove the “#” (hashtag) before editing the following strings.
- If you are running only 1GB of RAM, set “UNICORN_WORKERS” to 2 and “db_shared_buffers” to 128MB so that you have more memory room.
- Save the file and exit.
It is important to note that you must have your email settings setup properly – otherwise you’ll have a broken site!
./launcher bootstrap app
You may be asked a question during the installation about SSH keys. Type “Yes”.
Once the bootstrap process completes, start Discourse:
./launcher start app
Congratulations – you now have your own instance of Discourse up and running!
To access it, simply type in what you set for “DISCOURSE_HOSTNAME” in the configuration file.
Do you need help setting up this on your own service?
Please contact us and we’ll provide you the best possible quote!