Object storage provider. Must be Amazon S3-compatible. Popular choices are DigitalOcean Spaces (recommended), Amazon S3, and Wasabi. Min.io is a self-hosted S3 alternative if you would like to have everything on your internal networks. Read more
The ability to make changes to DNS records for a domain. Read more
Things to Keep in Mind with Internal Networks
The Docker container and Hudu will need to connect to the internet.
You will need to configure port forwarding for TCP port 443 and 80 from your gateway or router to the IP of the Hudu instance. Alternatively you can configure a DMZ on your gateway and assign Hudu a publicly accessible IP address.
Internal 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.