Docker Stacks Overview
All stacks run on ../environments#Environment 1 — Homelab. Compose files live at /home/artanis/DockerFiles/ unless noted otherwise.
Status Summary
| Stack | Status | Containers | Tailscale Node |
|---|---|---|---|
| dockhand | Running | 2 | dockhand.bunny-wyvern.ts.net |
| minecraft | Running | 1 | None (LAN exposed) |
| mealie | Running | 2 | mealie.bunny-wyvern.ts.net |
| linkwarden | Running | 3 | linkwarden.bunny-wyvern.ts.net |
| gitea | Running | 3 | gitea.bunny-wyvern.ts.net |
| matrix | Running | 8 | matrix.bunny-wyvern.ts.net |
| homepage | Running | 2 | homepage.bunny-wyvern.ts.net |
| n8n | Running | 2 | n8n.bunny-wyvern.ts.net |
| calibre | Stopped | 2 | calibre.bunny-wyvern.ts.net |
| gluetun | Running | 1 | None |
| openproject | Running | 2 | openproject.bunny-wyvern.ts.net |
| melodix | Running | 1 | None |
Common Patterns
Tailscale Sidecar
Most stacks include a tailscale/tailscale sidecar that joins the Tailnet and makes the service accessible at [name].bunny-wyvern.ts.net. All sidecars share a single Tailscale auth key stored in the compose files.
Bind Mounts vs Named Volumes
- Config/data that needs to be easily accessible uses bind mounts into
/home/artanis/DockerFiles/[stack]/ - Tailscale state always uses named volumes (e.g.
stack_tailscale_state) so node registration persists across restarts - Dockhand vulnerability scanner caches use named volumes (
dockhand-grype-db,dockhand-trivy-db)
Orphaned Volumes
The following named volumes exist but are not attached to any running container — likely leftovers from deleted stacks:
moltis_moltis-datamoltis_moltis-configmoltis_moltis-tailscale-stateportainer_dataopen-project_open_project_tailscale_stateopenproject_openproject_tailscale_state(from an olderopenprojectstack iteration)
Orphaned networks (
blight_default, oldopenproject_default) have been pruned.