For users who need a customized Discourse install, using a your own mail delivery service, or a virtual host that you set up yourself, I will install Discourse on an Ubuntu (virtual) machine running 16.04LTS. Given that your server has a DNS host name when I do the install, I will also configure Let’s Encrypt for https secure access to your server.
To complete the job I need the following sent to email@example.com via email:
- Your Discourse server hostname
- SMTP server hostname
- SMTP port
- SMTP user name
- SMTP password
- Admininstrator email address
- Let’s Encrypt administrator email address
If you use mailgun, you can omit all of the smtp items above and instead provide your mailgun api key.
Finally, I need root access to your server. (If you use Ubuntu Linux, the ssh-import-id command will copy my keys.) If you have not disabled ssh access to the root account, do this:
sudo su - ssh-import-id ltcmp
If root access via SSH is disabled (you would know if you had done this), or you are not using Ubuntu, then instead you can do this:
sudo adduser --disabled-password --gecos "Literate Computing" lc sudo su -c 'echo lc ALL = NOPASSWD: ALL >> /etc/sudoers.d/lc' root sudo su - lc mkdir -p -m0700 ~/.ssh curl https://github.com/pfaffman.keys >> ~/.ssh/authorized_keys exit
- Memory: 1GB of RAM. No exceptions.
- Swap: For systems with 2GB or less RAM, 2GB of swap is required. If less than 2GB of swap is available, I will create a 2GB swap file.
- Disk space: 20GB in the root partition. If you have space in an additional partition, I can configure Discourse to use that space for uploads, backups, or everything. It is important that the database be on the fastest disk available.
- Networking: Incoming ports 80 and 443 are required to be open for Let’s Encrypt to get new certificates. Discourse needs to be able to access your SMTP server, so outgoing access to ports 25, 587, or 2525 may be required.
- Operating System: Ubuntu 16.04 is strongly recommended. If you wish to use another OS, you are responsible for installing a functioning and compatible version of Docker. There are many reports of various incompatibilities with CentOS and Docker.
- Installed Software: Discourse runs inside Docker, so pretty much all that is required is Docker and git. There is no reason to install Ruby, Rails, Postgres, or anything else. You should not have any web server installed unless you have arranged for me to install Discourse on a non-standard port and you plan to configure a web server to reverse-proxy to Discourse.
- SMTP Server: If you provide your own SMTP server information, it is your responsibility to see that the credentials, server address, and port you provide are correct and that it will accept and deliver mail from noreply@YOUR_DISCOURSE_HOSTNAME.