Can I download Discourse and install it manually on my server?


I found out that Discourse could be install through code that runs directly through the server shell.
I’m asking, is it a way, to download it as a .zip or something, and I could install it on the server I already set up?

(Jeff Atwood) #2

Sure, simply google for “install discourse” and follow our official instructions.

(Kane York) #3

You’re referring to “uploading a zip file” - does that mean you are using a PHP server host that only gives you FTP access? If so, that’s not going to work. Discourse requires a Postgres and Redis database, as well as running background jobs.

On the other hand, if you have shell access to the server, it’ll probably work.


No, of course not.

Because, same software such as Wordpress, you could download it as a .zip and upload it to your server, then unzip it, enter the MySQL and others information, here you go.

But seem like Discourse need to do the code in the terminal.


As something who has installed a few PHP applications like WordPress, phpMyAdmin, Roundcube, etc. the unzip/untar an application and fill in database information is something I’ve done and also found very convenient.

Discourse uses Ruby on Rails and PostgreSQL with makes the setup more complicated as most shared hosting is setup for PHP and MySQL.

When first installing Discourse myself I have wondered many times why they didn’t just build Discourse with PHP and use MySQL but after reading various forum posts, I’ve found there were some good reasons for the Discourse Development Team to pick the options they did.

To make configuring things easier, Discourse is packaged to as a pre-made Docker container.
You will need either a server that supports Docker Containers like Digital Ocean or a Server you are allowed to login as root on to install and configure Docker (A Virtual Private Server for instance)



But what am i going to do if my server already installed stuffs like control panel and others system? Should I just go ahead follow the directions enter the code or a new droplet (DO) is encouraged?

(Rafael dos Santos Silva) #7

Yes, it is!

On a shared host with cPanel and such you probably already have something listening on some ports.

Save yourself some headache and pick a new droplet.

(Logan Mathews) #8

Its quite easy to install Discourse on an existing live webserver. You’ll need to set up some port forwarding on the web facing nginx, but that is hardly an issue.


Just make sure we are on the same page.
It’s not a shared server with control panel, It’s an VPS.
I have a control panel installed and two website is running on it.

It seems like Discourse use a totally different language and, it could not be run friendly with the sites that already exist…


(Logan Mathews) #10

If your other sites are based on php, then yes Discourse is a different language.
No, that doesn’t impact how ‘friendly’ it is nor does it directly impact the other sites (with the exception of more resources being used).

My servers run everything from Django, php, ruby, perl, the list goes on. It’s a non-issue.


Thank you all for those helpful informations.
I’ll put myself to work on it.

(Kane York) #12

Ah, that means you can make it work.

(Felix Freiberger) #13

You may want to read this howto which explains how to set up nginx to “sort” incoming requests between Discourse and other sites.