Date: 2026-02-20 Status: Completed Origin: MDF Webseiten session 0018
git.mnsoft.org/git/APPS/infrastructure.git/Users/i052341/Daten/Cloud/08 - Others/MDF/Infrastruktur/Code/infrastructure//opt/infrastructure/ops CLI (bash, ~250 lines) — symlinked to /usr/local/bin/opsservers/hetzner-vps/registry.yaml — single source of truth for 5 projectsmonitoring/healthcheck.sh — container health + disk checks → ntfyops-healthcheck.timer (every 5 min) on serverops.project, ops.environment, ops.service) to all MDF compose filescontainer_name() in sync.py with label-based discovery + UUID suffix fallbackops status, ops health, ops disk, ops backup mdf prod all working``` infrastructure/ ├── ops # The ops CLI (bash) ├── servers/hetzner-vps/ │ ├── registry.yaml # 5 projects defined │ ├── traefik/dynamic/ # Traefik configs captured │ ├── bootstrap/ # Coolify service payloads │ ├── scaffolding/ # Shell aliases, SSH hardening, venv setup │ ├── systemd/ # 6 timer/service units │ └── install.sh # Full fresh server setup script ├── monitoring/ │ ├── healthcheck.sh │ ├── ops-healthcheck.service │ └── ops-healthcheck.timer └── docs/architecture.md ```
ops CLI uses SCRIPT_DIR with readlink -f for symlink-safe path resolutionregistry.yaml uses a name_prefix field; container matching uses grep with word anchoring to prevent substring false matches/opt/infrastructure/ops — new ops CLI (bash)/opt/infrastructure/servers/hetzner-vps/registry.yaml — new registry/opt/infrastructure/monitoring/healthcheck.sh — new healthcheck scriptCode/mdf-system/docker-compose.yaml — added ops.* Docker labelsCode/mdf-system/scripts/sync/sync.py — label-based container discovery, domain map fixTags: #Session #OpsCLI #Infrastructure