From c05f38d008cae47c1d5a4dcf7ac9035fabafae73 Mon Sep 17 00:00:00 2001 From: "fkrebs (via Claude)" Date: Thu, 28 May 2026 10:03:39 +0200 Subject: [PATCH] docs: Diun deployed on CT 109; doc-sync Phase 1a/3 actual state MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Diun (Docker image update notifier) on CT 109, watching CT 104 via socket-proxy, Mondays 08:00 → Gotify app "Diun" (token A34U_7k3biVI_po) - backrest.md: Phase 1a (rclone sync) confirmed ACTIVE since 2026-05-22 (Saturdays 01:00). Phase 3 (config-to-git) confirmed ACTIVE across CT 102 / CT 103 / PVE host; sync-config-repos rebuilt to drop dead CT 110/111/112 refs, auto-discover CT 104 stacks, add CT 109 stacks - Coverage map updated to reflect actual state (no longer "not deployed") - Open Phase 3 gap: HAOS Git Pull addon — requires HAOS UI install - services-overview.md: Diun row added; Traefik replaces Zoraxy --- services-overview.md | 4 +++- services/backrest.md | 36 ++++++++++++++++++++---------------- 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/services-overview.md b/services-overview.md index f3894da..a4c4f39 100644 --- a/services-overview.md +++ b/services-overview.md @@ -66,13 +66,15 @@ Every service running in the homelab, with its access URL(s) and host. **Externa | Dozzle (logs) | — | | CT 109 | — | | Wetty (SSH-in-browser) | — | | CT 109 | — | | Backrest (backups UI) | — | | CT 103 | [[backrest-ct103]] | +| Diun (image update notifier) | — | logs only (`docker logs diun`) | CT 109 | — | ## Network / infra | Service | External | Internal | Host | Doc | |---|---|---|---|---| | AdGuard Home (DNS) | — | (admin) | CT 102 | [[adguard-dns]] | -| Zoraxy (reverse proxy) | — | | CT 108 | [[zoraxy]] | +| Traefik (reverse proxy + TLS) | — | | CT 109 | — | +| ~~Zoraxy~~ | — | — | ~~CT 108~~ | DESTROYED 2026-05-28 — see [[zoraxy]] | | Proxmox PVE | — | | nuc | [[homelab-architecture]] | | D-Link router | — | | router | — | diff --git a/services/backrest.md b/services/backrest.md index e318d11..793c6a5 100644 --- a/services/backrest.md +++ b/services/backrest.md @@ -90,7 +90,7 @@ Garage → JottaCloud offsite sync runs daily 02:30 on CT 103 via `/usr/local/sb | CT 104 Immich postgres | WAL-G → `immich-pg-backup` → sync | ✓ | | CT 113 postgres (7 DBs) | WAL-G → `ct113-pg-backup` → sync | ✓ | | CT 101 Shepard | Source in Gitea (gitea path covers it) | ✓ | -| CT 102 AdGuard | Phase 3 git push → `fkrebs/adguard-conf` | ✗ not deployed | +| CT 102 AdGuard | Phase 3 git push → `fkrebs/adguard-conf` | ✓ daily cron | | CT 104 Gitea + Coder | `services/{gitea,coder}` (UNAS; moved from CT 111 2026-05-26) | ✓ | | CT 105 Nextcloud user files | `services/nextcloud` | ✓ | | CT 105 Nextcloud AIO volumes | AIO Borg → `/mnt/pve/unas/backup/nextcloud/` → Backrest | ✓ | @@ -103,11 +103,11 @@ Garage → JottaCloud offsite sync runs daily 02:30 on CT 103 via `/usr/local/sb | ~~CT 111 Gitea + Coder~~ | **CT 111 destroyed 2026-05-26 — see CT 104 row above** | ✓ | | ~~CT 112 Infisical~~ | **CT 112 destroyed 2026-05-26 — see CT 109 row above** | ✓ | | ~~CT 108 Zoraxy~~ | **CT 108 destroyed 2026-05-28 — Traefik on CT 109 is replacement** | — | -| VM 100 HAOS config | Phase 3 git addon → `fkrebs/ha-config` | ✗ not deployed | +| VM 100 HAOS config | Phase 3 git addon → `fkrebs/home-assistant-config` | ✗ Git Pull addon needs UI install | | VM 100 HAOS daily tar | HA → UNAS → Backrest | ✓ | -| PVE host `/etc/pve/` | Phase 3 git push → `fkrebs/pve-conf` | ✗ not deployed | -| UNAS `media/images/library` | Phase 1a `rclone sync` → `jottacloud:Photos/` | ✗ not deployed | -| UNAS personal data (`documents`, `_sortMe`, `video-projects`, …) | Phase 1a `rclone sync` → `jottacloud:UNAS/` | ✗ not deployed | +| PVE host `/etc/pve/` | Phase 3 git push → `fkrebs/pve-conf` | ✓ daily cron | +| UNAS `media/images/library` | Phase 1a `rclone sync` → `jottacloud:Photos/` | ✓ Saturdays 01:00 | +| UNAS personal data (`documents`, `_sortMe`, `video-projects`, …) | Phase 1a `rclone sync` → `jottacloud:UNAS/` | ✓ Saturdays 01:00 | ### Intentionally not backed up @@ -124,27 +124,31 @@ Immich thumbnails / encoded video, ComfyUI / Speaches models, arr-stack metadata ## Open work -### Phase 1a — rclone sync for UNAS personal data +### Phase 1a — rclone sync for UNAS personal data ✅ DEPLOYED 2026-05-22 -Two sync jobs on CT 103, Saturday 01:00: +Script `/usr/local/sbin/unas-sync.sh` on CT 103, cron `0 1 * * 6` (Saturdays 01:00). Last completed run: 2026-05-27 13h32m for 160486 transfers. Log: `/var/log/rclone-unas-sync.log`. - **Job 1**: `media/images/library/` → `jottacloud:Photos/` (Immich originals, visible at `jottacloud.com/photo`). -- **Job 2**: `/mnt/pve/unas/` → `jottacloud:UNAS/` (documents, video-projects, _sortMe, musical-sheets, audiobooks, ebooks, code; excludes Immich-generated, re-streamable media, torrents, `services/` already in Backrest). +- **Job 2**: `/mnt/pve/unas/` → `jottacloud:UNAS/` (documents, video-projects, _sortMe, musical-sheets, audiobooks, ebooks, code; excludes Immich-generated, re-streamable media, torrents, `services/`/`backup/` already in Backrest, `dump/`). -Initial upload ≈ 820 GB personal + 822 GB Immich (days). Script target `/usr/local/sbin/unas-sync.sh`. Full script in [appendix](#phase-1a-rclone-sync-script). +BW throttle: `--bwlimit "05:30,7.5M 01:00,20M"` (same as Backrest). Tradeoff vs Restic: no point-in-time versions; deletions propagate. Acceptable for personal media. -### Phase 3 — Config-to-git for infrastructure +### Phase 3 — Config-to-git for infrastructure ✅ DEPLOYED -Daily 03:00 cron on each host pushes config to a private Gitea repo. Repos already exist: +Daily cron on each host (~03:00) pushes config to private Gitea repos. Active deployments: -- `fkrebs/zoraxy-conf` (CT 108 — `/opt/zoraxy/conf/`) -- `fkrebs/adguard-conf` (CT 102 — `AdGuardHome.yaml`) -- `fkrebs/pve-conf` (PVE — `/etc/pve/`, excludes `priv/`, `*.key`, `authkey.pub*`) -- `fkrebs/ha-config` (VM 100 — `/config/`, excludes `secrets.yaml`, `.storage/`) +| Host | Cron | Script | Target repo | +|---|---|---|---| +| CT 102 (AdGuard) | daily | `/usr/local/sbin/adguard-conf-backup.sh` | `fkrebs/adguard-conf` | +| CT 103 (Backrest) | `0 3 * * *` | `/usr/local/sbin/ct103-conf-backup.sh` | `fkrebs/ct103-backrest` | +| PVE host (`nuc`) | `15 3 * * *` (central) | `/usr/local/bin/sync-config-repos` | `fkrebs/{ct103-backrest, ct113-db, ct104-stacks, ct109-stacks}` | +| PVE host (`nuc`) | daily | `/usr/local/sbin/pve-conf-backup.sh` | `fkrebs/pve-conf` | -Script template in [appendix](#phase-3-config-to-git-scripts). +`sync-config-repos` rebuilt 2026-05-28: removed dead CT 110/111/112 references, list of CT 104 stacks now derived from `ls /opt/stacks` (auto-discovers new stacks), added CT 109 `ct109-stacks` (auto-creates repo on first run). + +**Open**: VM 100 (HAOS) → `fkrebs/home-assistant-config` — requires installing the native [Git Pull addon](https://github.com/home-assistant/addons/tree/master/git_pull) via HAOS UI (cannot be automated remotely). ### Blind spots