These are Compose examples used at home on my homelab. Many stacks are production-ready and in daily use. Most stack folders include a Traefik dynamic configuration and a restricted Docker socket proxy; hardware- and network-specific stacks may expose their services directly.
Configurations provided are tested on a private environment (QEMU and VirtualBox). Maybe in few months I'll test it on GCP, Azure or AWS (if there's free month subscription).
- linux host (tested successfully on Ubuntu 20.04 && 22.04 & 22.04, Debian 10 & 11)
- docker >= 23.x
- docker compose (plugin) >= 2.17
Some usefull applications, used on homelab.
-
FreeIPA : https://github.com/julienhmmt/docker-compose/tree/master/freeipa
-
Portainer : https://github.com/julienhmmt/docker-compose/tree/master/portainer
-
Ghost : https://github.com/julienhmmt/docker-compose/tree/master/traefik-ghost-sql for a website with Ghost and its SQL server MariaDB behind the marvelous reverse-proxy Traefik
-
Linkwarden : https://github.com/julienhmmt/docker-compose/tree/master/traefik-linkwarden to store your links, a ne way for bookmarking and sharing links, with a PostgreSQL base, behind the marvelous reverse-proxy Traefik
-
WordPress : https://github.com/julienhmmt/docker-compose/tree/master/traefik-nginx-wordpress-sql-redis for a website with WordPress with its Redis cache object powered by Nginx and PHP-FPM, a SQL server MariaDB behind Traefik
-
Nextcloud : https://github.com/julienhmmt/docker-compose/tree/master/traefik-nginx-nextcloud-sql-redis for a private cloud with its Redis cache object powered by Nginx and PHP-FPM, a SQL server MariaDB behind Traefik
-
Matomo : https://github.com/julienhmmt/docker-compose/tree/master/traefik-nginx-matomo-sql for a private analytics powered by Nginx and PHP-FPM, a SQL server MariaDB behind Traefik
-
Grafana and Prometheus : https://github.com/julienhmmt/docker-compose/tree/master/traefik-prometheus-grafana for a monitoring stack behind Traefik
-
PiHole : https://github.com/julienhmmt/docker-compose/tree/master/traefik-pihole for a DNS server with adblocker, with a configuration behind the reverse-proxy Traefik
-
AdGuard Home : standalone Compose stack for network-wide DNS filtering
-
Stalwart : standalone Compose stack for self-hosted email and collaboration
-
Home Assistant : Home Assistant, Mosquitto, and Zigbee2MQTT stack for home automation
-
Paperless-ngx : standalone Compose stack for searchable document archiving
-
Restic, Backrest, and Garage : backup stack with a web UI and S3-compatible storage
-
Misc repo with Traefik inside...
All scripts are "as it", and can be updated without consent.
Stacks target fresh installs on the versions pinned in each compose file. Major versions (databases included) are bumped without a data migration path: start from empty volumes (docker compose down -v deletes the old ones), or migrate your data yourself.
Clone this repo where you want with this line :
# git clone https://github.com/julienhmmt/docker-compose.git:folder-name
e.q. : git clone https://github.com/julienhmmt/docker-compose.git:traefik-ghost-sqlYou need to edit the file .env at the source folder to modify the values of some vars.
After that when you're all set, press the red button to initiate 🔥 !
docker compose pull && docker compose up -d && docker compose logs -fMade by Julien HOMMET 🇫🇷 for my personal purposes - This is my homelab
- GitHub: julienhmmt
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.