The following is a guide for setting up Hudu with your own SSL certificate. If you are looking to use a free SSL certificate that auto-renews for you, you may want to read this article for alternative options: Getting Started with Hudu Self-Hosted.
Prerequisites
In order to self-host Hudu, you will need:
- Server with at least 4GB memory and at least 1 CPU (as long as there is no contention), with Ubuntu (18.04 or 20.04) as the OS.
- SMTP server for sending outgoing mail.
Instructions
- SSH into the server you are wishing to host Hudu on.
- Install Docker CE on the server.
- Setup instructions can be found here.
- Install Docker Compose on the server.
- Setup instructions can be found here.
- Create a blank directory named hudu2 on the home directory. On Ubuntu, you can do this by typing:
mkdir ~/hudu2
- Move into the directory. On Ubuntu:
cd ~/hudu2
- Place a file named docker-compose.yml in the directory.
- The contents can be found here.
- Place a file named .env in the directory.
- The contents need to be generated with our config generator: here.
It is critical that you store an exact copy of the .env file in a secure location. Your encryption and secure keys are located in this file, and you can lose access to passwords and more if this file is lost.
- When both files are residing within the directory, run the command:
sudo docker compose up -d
to start your Hudu instance. - Now, run:
sudo docker compose down
to stop your Hudu instance. - Create a file called: /var/www/hudu2/config/nginx/proxy.conf with the contents of this file: https://self-hosting.usehudu.com/custom_ssl/proxy.conf
- Open the file here: /var/www/hudu2/config/nginx/site-confs/default.conf and replace the contents with this file: https://self-hosting.usehudu.com/custom_ssl/default
- Obtain your SSL Certificate and perform the processes highlighted in this document: https://self-hosting.usehudu.com/custom_ssl/Hudu%20SSL%20-%20Comodo.pdf
- Navigate back to the hudu2 folder. On Ubuntu:
cd ~/hudu2
- Start the instance again:
sudo docker compose up -d
- Your Hudu should now be up and running! Visit your domain to confirm. If you see a Hudu sign-up screen, it's successful. Reach out to support for a license key.
- If you don't see this screen, contact support, and please provide logs:
sudo docker compose logs
- Please paste these into something like Pastebin.com