# 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-data` - `moltis_moltis-config` - `moltis_moltis-tailscale-state` - `portainer_data` - `open-project_open_project_tailscale_state` - `openproject_openproject_tailscale_state` (from an older `openproject` stack iteration)