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 AKWLEB Host 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 AKWLEB Host VPS
Connect to your server using SSH via the Terminal on Mac or PuTTY on Windows.
ssh root@123.456.7.8
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:
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" | sudo tee -a /etc/fstab
- Set the “swappiness” so that it is only used as an emergency buffer:
sudo sysctl -w vm.swappiness=10
Install Docker/Git
Run the following command: wget -qO- https://get.docker.io/ | sh
Install Discourse
- 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
- Make a copy of the config file as
app.yml
:cp samples/standalone.yml containers/app.yml
Edit the Discourse configuration
- Edit the
app.yml
file:nano app.yml
- Set “DISCOURSE_DEVELOPER_EMAILS” to your email address.
- Set “DISCOURSE_HOSTNAME” to your web address to access Discourse (example: discourse.aklwebhost.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!
Bootstrap Discourse
Run: ./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
Setup complete
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.
Enjoy!