Files
esh-pfi-infrastructure/servers/vm-esh-nas/README.md
T
vh 0be8de8ab0 fleet: register vm-esh-nas as 5th Docker host + canonical dockge stack
vm-esh-nas (10.0.50.154) is a NAS-adjacent Docker VM on the esh-pve-nas
hypervisor. Runs filezilla (port 5800), dockge, beszel-agent, dozzle-agent
with /mnt/{share,music,books,media} NFS-mounted from 10.0.50.50.
Use this host when a stack needs direct NFS mounts to the ESH NAS shares.

Canonicalize dockge as stacks/dockge/ — single compose used on all five
Docker hosts with per-host DOCKGE_HOST_LABEL/DOCKGE_HOST_IP in .env so
each card on the homepage points at its own instance. Labeled
homepage.group=Service Networking.

Beszel + Dozzle agent dirs also renamed to beszel-agent-<site> /
dozzle-agent-<site> pattern across the fleet for consistency.
2026-04-20 22:14:13 -07:00

2.1 KiB

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

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/)
  • Other stacks (dockge, dozzle-agent, filezilla) 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

  • /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.