| What | Path |
|------|------|
| Code repo (local) | ~/dev/ai/OPS/ |
| Code repo (server) | /opt/data/ops-dashboard/ |
| Code repo (remote) | git.mnsoft.org/git/APPS/ops-dashboard.git |
| Infrastructure repo (server) | /opt/infrastructure/ |
| Infrastructure repo (remote) | git.mnsoft.org/git/APPS/infrastructure.git |
| Notes | ~/dev/ai/OPS/Notes/ |
| TODO | ~/dev/ai/OPS/Notes/TODO.md |
```bash ssh mdf-system.ch # root, port 99 (via ~/.ssh/config) ```
| What | Detail |
|------|--------|
| URL | https://ops.tekmidian.com |
| Auth token | ops-mdf-2026-secure |
| Container | ops-dashboard |
| Stack | FastAPI backend, vanilla JS frontend, SSE for real-time ops |
/opt/data, /opt/infrastructure, /var/run/docker.sock + app sourceOPS_CLI = /usr/local/bin/ops on host (bash shim -> python3 -m toolkit.cli)/opt/infrastructure/toolkit/ — 12 Python modulesproject.yaml descriptors at /opt/data/{project}/project.yaml (source of truth)| Page | Purpose | |------|---------| | Dashboard | Status tiles, project drill-down | | Services | Container cards, restart / logs / terminal | | Backups | Date-grouped, local + offsite, restore modal, multi-select delete | | Operations | Promote, sync, rebuild — SSE streaming modals | | Schedules | Backup timer management, edit modal | | System | CPU / mem / disk, health checks, timers |
```bash rsync -avz --delete ~/dev/ai/OPS/app/ mdf-system.ch:/opt/data/ops-dashboard/app/ rsync -avz --delete ~/dev/ai/OPS/static/ mdf-system.ch:/opt/data/ops-dashboard/static/ ssh mdf-system.ch 'docker restart ops-dashboard' ```
from toolkit.X import Y directly inside the container; no subprocess ops calls for data reads