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.
51 lines
1.6 KiB
Bash
51 lines
1.6 KiB
Bash
# dozzle stack tunables. Copy to `.env` on each server before deploying.
|
|
#
|
|
# cp .env.example .env
|
|
# # edit for this host
|
|
# docker compose up -d
|
|
#
|
|
# Same compose.yaml on both servers — COMPOSE_PROFILES picks the role.
|
|
|
|
# Image version — pin for reproducibility (`latest` for edge)
|
|
DOZZLE_VERSION=latest
|
|
|
|
# ------------------------------------------------------------------------
|
|
# On ana-docker (hub):
|
|
# COMPOSE_PROFILES=hub
|
|
# DOZZLE_HOSTNAME=ana-docker
|
|
# DOZZLE_REMOTE_AGENT=10.250.50.54:7007
|
|
#
|
|
# On ana-ml2 (agent):
|
|
# COMPOSE_PROFILES=agent
|
|
# DOZZLE_HOSTNAME=ana-ml2
|
|
# ------------------------------------------------------------------------
|
|
|
|
COMPOSE_PROFILES=hub
|
|
|
|
# Display name for this host in the UI (shown as a tab / section header).
|
|
DOZZLE_HOSTNAME=ana-docker
|
|
|
|
# ---- Hub-only -----------------------------------------------------------
|
|
|
|
# Host port for the web UI (container listens on 8080 internally).
|
|
DOZZLE_PORT=8088
|
|
|
|
# Comma-separated list of remote agents the hub should connect to.
|
|
# Leave blank if this host only views its own containers.
|
|
DOZZLE_REMOTE_AGENT=10.250.50.54:7007,10.100.50.40:7007
|
|
|
|
# Auth — `none` is fine behind the LAN / a reverse proxy with auth.
|
|
# Switch to `simple` and set USERNAME/PASSWORD to gate the UI itself.
|
|
DOZZLE_AUTH_PROVIDER=none
|
|
DOZZLE_USERNAME=
|
|
DOZZLE_PASSWORD=
|
|
|
|
# ---- Agent-only ---------------------------------------------------------
|
|
|
|
# Host port the agent listens on (container listens on 7007 internally).
|
|
DOZZLE_AGENT_PORT=7007
|
|
|
|
# Bind address — restrict to the LAN interface if you want belt-and-braces
|
|
# beyond what the firewall already enforces. Default 0.0.0.0 exposes on all.
|
|
DOZZLE_AGENT_BIND=0.0.0.0
|