A battle-tested collection of Docker Compose stacks, optimized for self-hosted environments (VPS/Bare Metal) and orchestrated via Portainer.
This repository serves as the definitive Infrastructure-as-Code (IaC) catalog for my production services. Unlike generic templates, these stacks are:
- Security-hardened: Configured with strict network isolation and auto-SSL.
- Resource-efficient: Tuned for high performance on standard VPS hardware (Hetzner, DigitalOcean).
- Production-validated: Currently powering live applications with real traffic.
| Directory | Purpose |
|---|---|
| Stacks | The Catalog. Contains all services (Traefik, Chatwoot, Monitoring, etc). |
| Scripts | Automation utilities (Backup, Restore, Maintenance). |
| Docs | Guides and tutorials (Swap Setup, Grafana Import). |
Before deploying any stack, you must create the external network that allows Traefik to route traffic to your containers.
Run this command on your host (via ssh):
docker network create proxyNote: In Portainer, you can also create this manually under the "Networks" tab (Name: proxy, Driver: bridge).
Most stacks rely on the HOST_DATA_PATH variable to define where data is stored on your server
- Recommended: Define this in your .env file or Portainer Environment
- Example:
HOST_DATA_PATH=/home/user/docker_data
- Browse the Stacks Catalog
- Choose a service (e.g., monitoring)
- Follow the specific deployment instructions inside that folder
This repository includes automated scripts to keep your data safe. Check the scripts folder to set up the Automated Backup (S3 + Local).
This project is open-sourced software licensed under the MIT license.