Our recommended setup is with a cloud provider. For most companies, DigitalOcean will be the best choice in terms of time to setup and ongoing maintenance time. We also support Amazon Web Services EC2 and Microsoft Azure. Other cloud providers will most likely work, but we do not officially support them.
In order to host Hudu on a cloud provider, you will need:
Server with at least 4GB memory and at least 1 CPU (as long as there is no contention). We recommend Ubuntu 18.04 as the OS. We do not officially support Windows.
Object storage provider. Must be Amazon S3-compatible. Popular choices are DigitalOcean Spaces (recommended), Amazon S3, and Wasabi. Read more
The ability to make changes to DNS records for a domain. Read more
Cloud Environment Setup Instructions
Create an A record in your DNS records with the IP address pointing to the public IP address of your instance and the subdomain something like docs or hudu. Make sure your subdomain resolves before moving ahead.
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:
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.
⚠️ 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 to start your Hudu instance.
Wait for the command to execute. You will know it is done when you can visit your domain and see the following page:
You will now need to setup a SSL certificate for your instance. Use Ctrl-C and then type sudo docker-compose down to shut down your instance.
Navigate to /var/www/hudu2/config/nginx/site-confs/. With Ubuntu, you can do this by typing: cd /var/www/hudu2/config/nginx/site-confs/
Delete the file named default and replace it with this file named default: here
Navigate back to the hudu2 folder. On Ubuntu: cd ~/hudu2
Start the instance again: sudo docker-compose up
Your Hudu should now be up and running! Visit your domain to confirm.