This article is outdated and may not work correctly for current operating systems or software.
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.
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.
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.
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
Run the following command: wget -qO- https://get.docker.io/ | sh
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 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.vultr.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!
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
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!