Collection of my docker compose stacks for various services.
- 
traefik - Traefik reverse proxy, load balancer and certificate manager NOTE: Most other stacks require this stack to be running 
- 
pihole_doh - Pi-hole with DNS over HTTPS (DoH) 
- 
mosquitto - Mosquitto MQTT broker 
- 
portainer_agent - Portainer Agent for remote management of Docker 
COMING SOON:
- homeassistant - Home Assistant home automation
- homer - Homer dashboard for your services
- Nextcloud - Nextcloud self-hosted file sync and share with Collabora Online integration
- portainer - Portainer management UI for Docker
- CUPS - CUPS print server
Using these stacks requires a server with Docker and Docker Compose v2 installed.
# Ubuntu 24.04
apt install docker.io docker-compose-v2Files are stored in /opt/container on the server (but can be changed, depending on your needs).
# Create directory
mkdir -p /opt/container
# Clone repository
git clone https://github.com/BornToBeRoot/docker-compose /opt/containerNOTE: The
.envfiles may contain sensitive information and should be protected accordingly.# Restrict access chmod 640 /opt/container/stacks/*/.env chown root:root /opt/container/stacks/*/.env
To automatically update all stacks, you can use the update_all_stacks.sh script that will iterate over all directories and pull the latest container images and restart the services.
# Copy script to /opt/scripts
mkdir -p /opt/scripts
cp ./update_all_containers.sh /opt/scripts/update_all_containers.sh
# Make script executable
chmod +x /opt/scripts/update_all_containers.sh
# Create cronjob
nano /etc/crontabAdd the following line to run the script every tuesday at 1:33:
33 1    * * 2   root    /opt/scripts/update_all_stacks.sh
This project is licensed under the MIT License - see the LICENSE file for details.