docker compose and settings on my homelab.
This repo is a save of the evolution and changes of my docker host in my home-lab.
it is structured around this principles:
- portainer is used on the host, but only as a front-end to docker without ssh'ing needed.
- every services is located in /srv with a subfolder per app
- /srv/immich
- /srv/navidrome
- /srv/traefik
- The container should as musch as possible rely on trafik to expose the service. limit the ports exposed on the host to the minimum
- Certificates are generated on the vps by certbot, and copied every nights to the docker host via a script to keep the locally served file protected with the same certs
- pi-hole is used to define local dns entries for each publicly exposed service, implementing a split-zone and avoiding nat hairpin
Folder structure
- /containers
- Contain the docker-compose.yml file with dependencies and .env
- /crontab
- The content of a custom crontab file used
- /scripts
- Manually written scripts, deployed in /usr/local/bin
- /systemd-units
- Systemd services and timers to deploy to /etc/systemd/system
Description
Languages
Shell
100%