docs: Diun deployed on CT 109; doc-sync Phase 1a/3 actual state

- 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
This commit is contained in:
2026-05-28 10:03:39 +02:00
parent f1ed462c91
commit c05f38d008
2 changed files with 23 additions and 17 deletions
+3 -1
View File
@@ -66,13 +66,15 @@ Every service running in the homelab, with its access URL(s) and host. **Externa
| Dozzle (logs) | — | <http://192.168.1.8:10001> | CT 109 | — | | Dozzle (logs) | — | <http://192.168.1.8:10001> | CT 109 | — |
| Wetty (SSH-in-browser) | — | <http://192.168.1.8:4090> | CT 109 | — | | Wetty (SSH-in-browser) | — | <http://192.168.1.8:4090> | CT 109 | — |
| Backrest (backups UI) | — | <http://192.168.1.3:9898> | CT 103 | [[backrest-ct103]] | | Backrest (backups UI) | — | <http://192.168.1.3:9898> | CT 103 | [[backrest-ct103]] |
| Diun (image update notifier) | — | logs only (`docker logs diun`) | CT 109 | — |
## Network / infra ## Network / infra
| Service | External | Internal | Host | Doc | | Service | External | Internal | Host | Doc |
|---|---|---|---|---| |---|---|---|---|---|
| AdGuard Home (DNS) | — | <http://192.168.1.2> (admin) | CT 102 | [[adguard-dns]] | | AdGuard Home (DNS) | — | <http://192.168.1.2> (admin) | CT 102 | [[adguard-dns]] |
| Zoraxy (reverse proxy) | — | <http://192.168.1.4:8000> | CT 108 | [[zoraxy]] | | Traefik (reverse proxy + TLS) | — | <http://192.168.1.8:8090> | CT 109 | |
| ~~Zoraxy~~ | — | — | ~~CT 108~~ | DESTROYED 2026-05-28 — see [[zoraxy]] |
| Proxmox PVE | — | <https://192.168.1.20:8006> | nuc | [[homelab-architecture]] | | Proxmox PVE | — | <https://192.168.1.20:8006> | nuc | [[homelab-architecture]] |
| D-Link router | — | <http://192.168.1.1> | router | — | | D-Link router | — | <http://192.168.1.1> | router | — |
+20 -16
View File
@@ -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 104 Immich postgres | WAL-G → `immich-pg-backup` → sync | ✓ |
| CT 113 postgres (7 DBs) | WAL-G → `ct113-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 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 104 Gitea + Coder | `services/{gitea,coder}` (UNAS; moved from CT 111 2026-05-26) | ✓ |
| CT 105 Nextcloud user files | `services/nextcloud` | ✓ | | CT 105 Nextcloud user files | `services/nextcloud` | ✓ |
| CT 105 Nextcloud AIO volumes | AIO Borg → `/mnt/pve/unas/backup/nextcloud/` → Backrest | ✓ | | 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 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 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** | — | | ~~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 | ✓ | | VM 100 HAOS daily tar | HA → UNAS → Backrest | ✓ |
| PVE host `/etc/pve/` | Phase 3 git push → `fkrebs/pve-conf` | ✗ 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/` | ✗ not deployed | | 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/` | ✗ not deployed | | UNAS personal data (`documents`, `_sortMe`, `video-projects`, …) | Phase 1a `rclone sync``jottacloud:UNAS/` | ✓ Saturdays 01:00 |
### Intentionally not backed up ### Intentionally not backed up
@@ -124,27 +124,31 @@ Immich thumbnails / encoded video, ComfyUI / Speaches models, arr-stack metadata
## Open work ## 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 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. 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/`) | Host | Cron | Script | Target repo |
- `fkrebs/adguard-conf` (CT 102 — `AdGuardHome.yaml`) |---|---|---|---|
- `fkrebs/pve-conf` (PVE — `/etc/pve/`, excludes `priv/`, `*.key`, `authkey.pub*`) | CT 102 (AdGuard) | daily | `/usr/local/sbin/adguard-conf-backup.sh` | `fkrebs/adguard-conf` |
- `fkrebs/ha-config` (VM 100 — `/config/`, excludes `secrets.yaml`, `.storage/`) | 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 ### Blind spots