Files
vh e376d0aec9 Initial commit: PFI fleet inventory, stacks, tooling, and backup pipeline
Captures the full workspace state built up to this point:

  - CLAUDE.md + README.md describing conventions and the four-host fleet
    (ana-ml2, ana-docker, nh3-docker, esh-docker-vm).
  - Per-host notes under servers/<host>/ with ssh-target fallback files
    and latest system-details snapshots (two in-compose credential leaks
    scrubbed; the upstream compose files still need to move those to .env).
  - scripts/: server_inspect.sh (read-only remote diagnostic),
    refresh-server-info.sh (dir-driven discovery + snapshot capture with
    validation warnings), add-host.sh, sync-stacks.sh (pull
    compose/conf trees), deploy-stack.sh (push with per-file diff + prompt).
  - stacks/: canonical compose for backrest, beszel, dozzle, llama-swap,
    rest-server-ana, rest-server-nh3, vllm-qwen3, plus the retired
    infinity reference. All use the .env-driven + traefik-net + homepage
    label pattern.
  - configs/restic/ana-docker/: first resticprofile config + pre-backup
    hook (Synapse pg_dump, Seafile mysqldump, Vaultwarden SQLite); templates
    for the other three hosts to come.
  - docs/pfi/: general infrastructure reference carried over.
  - .gitignore excludes .env, stacks-mirror/, and assorted secret/state
    filenames to prevent re-leaks on later commits.
2026-04-20 14:29:48 -07:00
..

nh3-docker

General-purpose Docker host for the New Hampshire (nh3) site. Small VM, no GPU. Separate LAN from the Anaheim colo.

Network

  • LAN IP: 10.100.50.40
  • LAN subnet: 10.100.0.0/16 (NH site)
  • FQDN: nh3-docker.phasefinal.com
  • SSH: standard port 22

Hardware

  • CPU: 8 vCPU (QEMU virtual — VM)
  • RAM: 7.8 GB
  • GPUs: none
  • Storage: 125 GB root (ext4) + NFS mounts from 10.100.50.50 (Synology)
  • OS: Debian 12 (bookworm), kernel 6.1.x
  • Docker: running (daemon socket at /var/run/docker.sock; also listens on :2375 — be aware if firewalling)

Key paths

Path Purpose
/opt/docker/compose/<stack>/ Compose files (also a git repo)
/opt/docker/conf/<stack>/ Config bind mounts (empty as of last inspection)
/mnt/compose NFS — 10.100.50.50:/volume1/compose
/mnt/backup NFS — 10.100.50.50:/volume1/Backup

Running stacks

Stack Port(s) Notes
adguard 53 / 853 / 8080 / 8443 / 3000 / 784 AdGuard Home — primary DNS for the NH site
dockge 5001 Docker stack management UI
dozzle-agent 7007 Log agent; hub on ana-docker pulls from here
beszel-nh3-docker (agent) 45876 Metrics agent; hub on ana-docker
portainer (+ portainer_agent) 9443 / 8000 / 9001 Container management UI (ad-hoc, no compose dir under /opt/docker/compose/)

No Traefik / TLS terminator on this host — services are accessed on raw LAN ports. If that changes, mirror the ana-docker pattern (/opt/docker/conf/traefik-nh3/… + anaprod-style cert resolver).

Refresh state

scripts/refresh-server-info.sh nh3-docker

Latest snapshot: system-details.txt (regenerate as needed).

Placement rule

No GPU → this is the default target for NH-site Docker workloads. GPU-only stacks still go to ana-ml2; non-GPU Anaheim-specific services stay on ana-docker.