The following is a guide for setting up Hudu with no SSL certificate. We only recommend this option if the server is going to used without outside internet access, and will be accessible only on an internal network. If you are looking to use a free SSL certificate that auto-renews for you, or a custom SSL certificate, you may want to read this article for alternative options: Getting Started with Hudu Self-Hosted.
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.
- 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
hudu2on the home directory. On Ubuntu, you can do this by typing:
- Move into the directory. On Ubuntu:
- 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
DISABLE_SSL=trueto the .env file and save.
⚠️ It is critical that you store a 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 -dto start your Hudu instance.
- Now, run:
sudo docker compose downto stop your Hudu instance.
- Create a file called: /var/www/hudu2/config/nginx/proxy.conf with the contents of this file
- Open the file here: /var/www/hudu2/config/nginx/site-confs/default.conf and replace the contents with this file
- Navigate back to the hudu2 folder. On Ubuntu:
- 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 (email@example.com) for a license key.
- If you don't see this screen, contact support, and please provide logs:
sudo docker compose logs