e376d0aec9
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.
53 lines
1.9 KiB
Markdown
53 lines
1.9 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
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**.
|