58 lines
2.1 KiB
YAML
58 lines
2.1 KiB
YAML
# =============================================================================
|
|
# PRODUCTION MONITORING STACK — collector + database. Runs permanently.
|
|
# sudo docker-compose up -d --build
|
|
#
|
|
# Server-side verification runs against the REAL office NAS (synoreal remote,
|
|
# written by monitor/collector/start.sh from the REAL_SYNOLOGY_* vars in .env).
|
|
# The simulation lab that used to accompany this was removed 2026-08-10 —
|
|
# recover docker-compose.sim.yml + generator/ from git history if ever needed.
|
|
# =============================================================================
|
|
services:
|
|
|
|
mongo:
|
|
image: mongo:7
|
|
container_name: rclonemon-mongo
|
|
volumes:
|
|
- rclonemon_mongo:/data/db
|
|
restart: unless-stopped
|
|
|
|
collector:
|
|
build:
|
|
context: ./monitor
|
|
dockerfile: collector/Dockerfile
|
|
container_name: rclonemon-collector
|
|
ports:
|
|
- "4400:4400"
|
|
environment:
|
|
- MONGO_URL=mongodb://mongo:27017
|
|
- AGENT_TOKEN=${AGENT_TOKEN}
|
|
# dashboard/API login (HTTP Basic) — mandatory while reverse-proxied
|
|
- VIEWER_USER=${VIEWER_USER}
|
|
- VIEWER_PASS=${VIEWER_PASS}
|
|
# public URL baked into the served installer (COLLECTOR_URL on clients)
|
|
- PUBLIC_URL=${PUBLIC_URL}
|
|
# the office NAS (read-only lsjson) — every site verifies against it
|
|
- REAL_SYNOLOGY_HOST=${REAL_SYNOLOGY_HOST}
|
|
- REAL_SYNOLOGY_PORT=${REAL_SYNOLOGY_PORT}
|
|
- REAL_SYNOLOGY_USER=${REAL_SYNOLOGY_USER}
|
|
- REAL_SYNOLOGY_PASS=${REAL_SYNOLOGY_PASS}
|
|
- DEFAULT_REMOTE=synoreal
|
|
# per-site override only if a second NAS ever appears, e.g.
|
|
# SITE_REMOTES=RIYADH=synoriyadh (remote must also be added to start.sh)
|
|
# listing interval — SFTP lsjson of big trees is slow, don't go below 60
|
|
- VERIFY_INTERVAL=300
|
|
- MISSING_GRACE_S=600
|
|
- ONLINE_WINDOW_S=60
|
|
# alert if a machine is online but hasn't completed a round in this long
|
|
- STALLED_ROUND_S=900
|
|
# how much event history the audit UI keeps (Mongo TTL)
|
|
- RETENTION_DAYS=30
|
|
volumes:
|
|
- ./frontend/dist:/app/static:ro
|
|
depends_on:
|
|
- mongo
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
rclonemon_mongo:
|