-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Osotechie edited this page Jun 22, 2026
·
2 revisions
Welcome to the wiki for the container deployment side of my NAS-as-Code project 👋
This repo manages all Docker container stacks running on the NAS. A push to main deploys everything — each stacks, and all containers — over SSH without ever touching the NAS directly.
🔗 This repo depends on the NAS being provisioned first. For OS-level setup, secrets management, and networking details, see the nas-as-code wiki.
Each directory in the repo root represents a Docker Compose stack:
| Stack | Purpose | Containers |
|---|---|---|
ai |
AI/ML inference | Hermes |
games |
Game servers | AMP, Playit |
homeautomation |
Smart home | Home Assistant, Node-RED, Mosquitto, MQTT Explorer, Frigate |
management |
Docker management | Portainer, Dockhand, WatchTower, Dozzle |
media |
Media streaming & management | Plex, Seerr, Sonarr, Radarr, Maintainerr, SABnzbd |
misc |
Utilities | IT-Tools, Bento-PDF, ConvertX, Open-Design |
monitor |
Monitoring | Glances, Netdata, AutoKuma |
network |
DNS & network tools | AdGuard, AdGuardHome-sync, Speedtest |
proxy |
Reverse proxy | Traefik, Cloudflare-Companion |
security |
Password management | Bitwarden |
storage |
Storage health & backup | SnapRAID, Scrutiny, Crashplan, PBS |
- Edit a
docker-compose.ymlor.envfile - Push to
main - GitHub Actions connects to the NAS over WireGuard + SSH
- Secrets from Azure KeyVault are injected into
.envfiles - Each stack runs
docker compose up -d - Files are synced to
/config/stackson the NAS
For the full workflow breakdown, see Deployment Pipeline.
- External Access — how services are securely published via Cloudflare Zero Trust
- Stack Catalogue — what each stack does and its key details
- Adding a Stack — how to add a new stack
- Adding a Secret — how to add a new secret for container config
- Troubleshooting — common issues and fixes
Overview
How-To