7bf17dd39e
The filezilla container on vm-esh-nas shipped with no restart policy. It was SIGTERMed during the 2026-08-18 host shutdown and never came back, staying down four days while dockge/dozzle-agent/beszel-agent all recovered on their own. - add `restart: unless-stopped` (applied on the host, container recreated and verified serving 200 on :5800 with all four /NAS mounts visible) - promote the previously un-canonicalized compose into stacks/filezilla/ so the policy is version-controlled rather than host-only - record the missing-restart-policy failure mode in the host README
65 lines
2.5 KiB
Markdown
65 lines
2.5 KiB
Markdown
# vm-esh-nas
|
|
|
|
Docker VM on the `esh-pve-nas` hypervisor (10.0.50.55), at the ESH home
|
|
lab. Runs nas-adjacent containers that need local mounts of the shares
|
|
served by the Debian NAS at `10.0.50.50` — Filezilla, a Beszel agent, a
|
|
Dozzle agent, and Dockge.
|
|
|
|
## Network
|
|
|
|
- **LAN IP:** 10.0.50.154
|
|
- **FQDN:** `vm-esh-nas.esteban.net`
|
|
- **SSH:** `lkraven@vm-esh-nas` (key auth; `/etc/hosts` entry on the workstation)
|
|
|
|
## Hardware (from latest snapshot)
|
|
|
|
- **OS:** Debian 12 (bookworm), kernel 6.1.0-32-amd64
|
|
- **CPU:** 4 cores, Intel Xeon W-1250 @ 3.30 GHz (shared with the host)
|
|
- **RAM:** 3.8 GB total, ~3.1 GB available
|
|
- **Root disk:** 125 GB at 7% used
|
|
- **NFS mounts (all from `10.0.50.50`):**
|
|
- `/mnt/share` — 96 TB, 4 TB used (general share)
|
|
- `/mnt/music` — 92 TB, empty
|
|
- `/mnt/books` — 92 TB, 96 GB used
|
|
- `/mnt/media` — 111 TB, 20 TB used
|
|
- All in `/etc/fstab`, reconnect on boot.
|
|
|
|
## What runs here
|
|
|
|
| Container | Image | Role |
|
|
|---|---|---|
|
|
| `beszel-agent` | henrygd/beszel-agent:latest | Metrics agent reporting to the hub on ana-docker |
|
|
| `dozzle-agent` | amir20/dozzle:latest | Log agent (exposed on port 7007) |
|
|
| `dockge-dockge-1` | louislam/dockge:latest | Local compose UI, port 5001 |
|
|
| `filezilla` | jlesage/filezilla | Web Filezilla on port 5800 (referenced in homepage bookmarks.yaml under UltraSeedbox) |
|
|
|
|
## Refresh state
|
|
|
|
```bash
|
|
scripts/refresh-server-info.sh vm-esh-nas
|
|
```
|
|
|
|
## Stack mirror layout
|
|
|
|
- `stacks-mirror/vm-esh-nas/beszel-agent-esh-nas/` — Beszel agent (canonical in `stacks/beszel/`)
|
|
- `filezilla` — canonical in `stacks/filezilla/`
|
|
- Other stacks (`dockge`, `dozzle-agent`) not yet canonicalized; run `sync-stacks.sh vm-esh-nas` to pull them into the mirror.
|
|
|
|
## Placement rule
|
|
|
|
NAS-adjacent Docker host. Good choice for anything that needs direct NFS
|
|
mounts (`/mnt/{share,music,books,media}`) without routing through another
|
|
VM. Low RAM ceiling (3.8 GB) — keep heavy workloads elsewhere.
|
|
|
|
## Known nits
|
|
|
|
- **Check restart policies after any reboot of this host.** `dockge`,
|
|
`dozzle-agent`, and `beszel-agent` carry restart policies; `filezilla` did
|
|
not, and stayed down silently for four days after the 2026-08-18 reboot
|
|
(fixed 2026-08-22 — `restart: unless-stopped`). Anything else added here
|
|
needs the policy set explicitly.
|
|
- `/opt/docker/compose` is world-writable (drwxrwxrwx). Harmless but
|
|
worth tightening at some point.
|
|
- `/opt/docker/conf` doesn't exist yet; stacks that need bind-mounted
|
|
config (Traefik, CrowdSec, etc.) would need to create it.
|