
At Crunchify, we have our own community forum: https://ask.crunchify.com.
On ask.crunchify.com community forum, we are using Discourse
as our forum software. Setting up forum should be as simple as installing WordPress but unfortunately it's not the case
for Discourse.
We have described in details why we choose Discourse sometime back. Kindly take a look for detailed reason there.
In this tutorial we will go over steps on how to setup Discourse.org Forum
on Linode node correct way. All below steps are verified and tested successfully
. Also, if you have below questions then you are at right place.
- Suggestion for good VPS to host Discourse
- How To Install Discourse on Ubuntu 14.04 LTS
- Install Discourse on Linode
- 15 minute Discourse Installation on Linode
- Installing Discourse on Ubuntu
- Linode and Discourse.org Forum Setup
Let’s get started:
Step-1
- Sign Up for Linode.
- Click on
Add a Linode
. - Select
Linode 4096
- Based on GeoLocation – Select Location
- Click on
Add this Linode
at the bottom of page.


Step-2
Once you complete checkout and complete all payment steps, you should be able to see your Linode with Hostname
and IP
.

Step-3
- Install an image on your VM.
- Click on Deploy an Image link. As I already have setup my OS before, you see existing OS profile there
- Choose
Ubuntu 14.04 LTS
from list (next screen) which is required for Discourse.org Forum. - For
Deployment Disk Size
option provide all available size. - Click
Deploy
.

Step-4 Boot up your VM

Step-5
Go to remote access
tab and checkout command to login to your Linode (here linode is a term, which represents a VM which has 2GB RAM and 2 core CPU).

After this step-5
I guess you don’t need to come to Linode Manager
.
All below steps will happen in Mac OS X Terminal
or if on Windows OS, it will be on Putty command utility.
Step-6
Now login using macOS Terminal.

As you see in above image, we do have some updates for packages. Use below command to update packages.
$ apt-get update && apt-get upgrade
Step-7
Now it’s time to configure Linode and install Discourse, Docker, etc.
Between, here are the list of commands
which I ran to configured Discourse Correct way. We will go over each steps in details below.
root@crunchify:~# history 1 apt-get update && apt-get upgrade 2 echo "crunchify" > /etc/hostname 3 hostname -F /etc/hostname 4 cat /etc/default/dhcpcd | grep SET_HOSTNAME 5 nano /etc/hosts 6 dpkg-reconfigure tzdata 7 hostname 8 wget -qO- https://get.docker.com/ | sh 9 mkdir /var/discourse 10 git clone https://github.com/discourse/discourse_docker.git /var/discourse 11 cp /var/discourse/samples/standalone.yml /var/discourse/containers/app.yml 12 nano /var/discourse/containers/app.yml 13 /var/discourse/launcher bootstrap app --skip-prereqs 14 /var/discourse/launcher start app --skip-prereqs
Step-8 Setup Hostname
Execute below 4 commands and setup hostname correctly.
$ echo "crunchify" > /etc/hostname $ hostname -F /etc/hostname $ cat /etc/default/dhcpcd | grep SET_HOSTNAME $ nano /etc/hosts
Step-9 Change Timezone
$ dpkg-reconfigure tzdata
Follow visual screen and setup timezone as per prompt.

Once done. You should see your timezone values on Terminal window.
root@crunchify:~# dpkg-reconfigure tzdata Current default time zone: 'America/Chicago' Local time is now: Thu Mar 31 15:45:30 CDT 2016. Universal Time is now: Thu Mar 31 20:45:30 UTC 2016.
Step-10 Install Discourse Forum
10.1) Install Docker
$ wget -qO- https://get.docker.com/ | sh
Use above command to install Docker
container. Docker is a container technology which helps us making it easier to create, deploy, and run applications with single click.
10.2) Install Discourse
$ mkdir /var/discourse $ git clone https://github.com/discourse/discourse_docker.git /var/discourse $ cp /var/discourse/samples/standalone.yml /var/discourse/containers/app.yml
10.3) Update app.yml file
$ nano /var/discourse/containers/app.yml
Basically we need to change below parameters only. You must follow these steps to setup email server correct way. You need some setup at Google App side if you are using Google Apps for your domain.

Click CTRL-X
, Click Y
and Press Enter
to exit nano command.
10.4) Start Discourse Forum
$ /var/discourse/launcher bootstrap app --skip-prereqs $ /var/discourse/launcher start app --skip-prereqs
bootstrap app
command will start building your Discourse App. It may takeup-to 5 min
to build completely as per your Linode power.start app
command will actually starts discourse forum.
Step-11) Visit your forum
- Register using an email which you specified in
step 10.3
.

In my case it’s https://ask.crunchify.com
Step-12) Setup Signup using Social Media Accounts
- Twitter Signup Steps
- Facebook Signup Steps
- Google Signup Steps

That’s it.. Hurray. You now own Discourse forum. Isn’t these steps are simple? Let us know if you face any issue
with these steps. We will try to update this post regularly based on feedback.
Looking for some more customization? Please visit
all Discourse.org posts
here: https://crunchify.com/tag/discourse/
Note: In 2023, we have decided to close our forum. All the tutorials regarding discourse forum setup are still valid. Let us know if you have any questions around the same.
Worked great !
Doing it from Canada.
Awesome. Happy to help! Thanks Heinsm for your comment. https://media0.giphy.com/media/Wzb7MDaneJdOo/giphy.gif
Thanks for sharing such beautiful information with us.
I hope you will share some more info about Linux Setup.
You are welcome Oudel. What information you need on setting up Linux?
Thanks Dustin. I’ll take a look.
Is there a reason why you didn’t use Ubuntu 16.04.1 LTS? How would you go about installing Discourse on a subdomain along with the WordPress plugin on the root. Thanks!
Hi Dustin – there is no reason. I believe, I didn’t even notice 16.04 from list during installation (may be I just missed). I’m going to upgrade to 16.04 right away.
Thanks for pointing this out.
Regarding your question on subdomain, let me know what you mean.
(Between, I’ve just added 301 redirect to avoid 404 page)
I decided to go with a subdomain for the install. What I haven’t got to yet is WordPress integration, which I’m guessing can be done through the official plugin, even if on a subdomain using an API key. I decided to go with DigitalOcean for ease of installation. Thanks for the article.
Sure Dustin. Can you share your forum link? If possible I also like to move it to subdomain in the future.. Earlier the better 🙂
What are you moving to a subdomain? It looks as your forum is already on a subdomain.
My bad. I mean – subfolder. Currently it’s at ask.crunchify.com
and would like to move it to crunchify.com/ask. I wanted to do this since beginning and i tried without success so dropped that idea and moved to subdomain.
I thought that’s what you meant to say. Here’s a tutorial for that: https://meta.discourse.org/t/discourse-in-a-subfolder-multiple-servers-sharing-a-domain/30514
Yeah. Will check how steps work on Linode server and update.
Apparently, the Linode kernel for 16.04 does not support AUFS which Docker requires, but here’s an article showing how to switch it to the distribution-supplied one.
https:// linode. com/docs/tools-reference/custom-kernels-distros/run-a-distribution-supplied-kernel-with-kvm
I tried but steps didn’t work for me. Not sure whats wrong but for me simply Docker installation hangs. PFA an image.
Thanks for taking the time to do this. I’m about to try and set up a trial discourse and I expect this will be very helpful! If you know of any similarly detailed blog posts about how to adjust the initial look/feel of the forum it would be great to have links to them in the article.
There are some instructions over on meta, but many of the people there have more linux skills than me and the step-by-step with comments approach is easier for me.
Hi Eoin – Sure. You could look for all tips and tricks on Discourse forum here: https://crunchify.com/tag/discourse/
I’ll categorize better Discourse.org post better way. Please stay tuned. I’ll update this post with details.
It would nice to have a tutorial on Discourse + Apache ..Lamp . It involves setting up of reverse proxy
Great point. I’ll publish an article if i’ll get chance to play with those.