OYSI DR-Cockpit passive only

Backup-Status

Single-Pane-Übersicht aller Backup-Quellen. Ampel: grün <26h, gelb 26–48h, rot ≥48h. Daten werden client-seitig aus /data/backup-status.json geladen (Stub — Phase 1.5 ersetzt das durch R2-Pull).

VPS

vps-405d22f5

OK

93 Container

Snapshot: 2026-04-30T10:21:35+02:00 (Ret. 7d)

Edge-1

shipping-edge-1 (10.8.0.4)

OK

Last sync: 10:45

Edge-2

shipping-edge-2 (10.8.0.5)

OK

Last sync: 10:45

Symmetrisches Spiegel zu Edge-1.

Backup-Matrix

Quelle Schedule Last Success Alter Targets Retention Status
OVH Managed PG (11 DBs)
daily 01:46 2026-04-30T01:46:27+02:00 14h local, s3, edge1, edge2 365d OK
Zammad PG (OVH Managed)
daily 01:30 2026-04-30T01:31:53+02:00 14h local, s3, edge1, edge2 365d OK
ERPNext MariaDB
daily 01:36 2026-04-30T01:36:09+02:00 14h local, s3, edge1, edge2 365d OK
wg-easy SQLite
daily 01:40 2026-04-30T01:40:01+02:00 14h local, s3, edge1, edge2 365d OK
Docker Volumes (22 of 41)
18 of 41 volumes NOT yet covered — see GAP P1-2
daily 03:01 2026-04-30T03:01:55+02:00 12h local, s3, edge1 (90d), edge2 (90d) 365d OK
Configs (non-Git)
no Healthchecks ping (GAP P1-7)
daily 03:10 2026-04-30T03:10:45+02:00 12h local, s3, edge1, edge2 365d OK
OVH S3 Sync (offsite)
daily 03:20 2026-04-30T03:20:20+02:00 12h s3 adorable-powell 365d OK
Edge-Pi Sync
daily 03:33 2026-04-30T03:30:50+02:00 12h edge1, edge2 90d OK
Intraday (4 slots/day)
edge-only between 22:00 and 03:20 next day
10/14/18/22 2026-04-30T14:00:54+02:00 1h edge1, edge2 30d OK
Bitwarden Sync
daily 05:00 2026-04-30T14:19:48+02:00 1h bitwarden cloud (22 services + 13 pg-credentials) OK
Restore-Test (end-to-end)
P0 — manual run pending if >35d
monthly 1st 06:01 2026-04-30T09:35:52+02:00 6h ephemeral PG :25432 OK
Crown-Jewels (R2 cross-provider)
Cross-provider insurance against OVH-account-compromise
daily 04:00 2026-04-30T11:07:32+02:00 4h r2-eu oysi-crown-jewels (90d immutable lock) 90d OK

Healthchecks (8 Jobs)

  • OVH Managed PG (11 DBs) 86d574c8-cfb2-4eda-b5d3-84f31a3f414e
    OK
  • Zammad PG (OVH Managed) cb073e7c-79ed-4b59-98eb-4f484604869b
    OK
  • ERPNext MariaDB 1074d9f5-cdc6-4c6a-80ca-7fb04331fe11
    OK
  • wg-easy SQLite 15580c31-67f0-42b6-afd8-44afc4f8d09e
    OK
  • Docker Volumes (22 of 41) 4a0ef572-36e1-429a-83f8-ac2c329eb572
    WARN
  • OVH S3 Sync (offsite) 78bbb37f-5eb8-459b-a843-5639773667a3
    OK
  • Edge-Pi Sync eb4ff2a4-aae7-46e8-8010-ba58c3c186c9
    OK
  • Intraday (4 slots/day) 60662480-fabe-43bb-bbe0-8c3137a3d3b7
    OK
  • Crown-Jewels (R2 cross-provider) 08f6dd6c-ea66-4609-8387-1e5aafede7a7
    OK

Hinweis: Stub-Daten

Diese Seite wird in Phase 1.5 client-seitig aus https://<r2-host>/dr-state/backup-status.json laden. Aktuell hardcoded aus src/data/backup-status.json.

Stub für späteren R2-Pull:

const r = await fetch("/data/backup-status.json", { cache: "no-store" });
const data = await r.json();
console.log(data.summary, data.jobs);