MDF Ops Web UI — Specification

Overview

A web dashboard for daily server operations. Runs as a Docker container behind Traefik at cockpit.tekmidian.com. Wraps the existing ops CLI and offsite.py module on the Hetzner server.

Architecture

Pages / Features

1. Dashboard (home)

2. Backups

3. Restore

4. Services

5. System

API Endpoints (FastAPI)

``` GET /api/status → ops status --json GET /api/backups → ops backups --json
GET /api/backups/offsite → ops offsite list --json POST /api/backup/{project}/{env} → ops backup project env POST /api/backup/offsite/upload/{project}/{env} → ops offsite upload POST /api/backup/offsite/retention → ops offsite retention POST /api/restore/{project}/{env} → ops restore (with source param) GET /api/logs/{project}/{env}/{service}?lines=100 → docker logs POST /api/restart/{project}/{env}/{service} → docker restart GET /api/system/disk → ops disk (parsed) GET /api/system/health → ops health (parsed) GET /api/system/timers → systemctl list-timers (parsed) ```

Server Paths

Docker Compose

Design