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 on Ubuntu 14.04.
1GB of RAM is the 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.8Replace 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/discourseGo into the Discourse directory: cd /var/discourse
Make a copy of the config file as app.yml:
cp samples/standalone.yml containers/app.ymlEdit 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 set up 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 instance of Discourse up and running!
To access it, simply type in what you set for DISCOURSE_HOSTNAME in the configuration file.
Enjoy!