mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-11-13 12:13:36 +01:00
* feat(btrbk): make snapshots explicit and guarded Replace the always-on, hardcoded module with modules.btrbk options (enable/volume/subvolume/snapshotDir/target/onCalendar), and assert the btrfs top-level subvolume is mounted so a missing mount fails evaluation instead of silently failing at runtime. Store snapshots in the @snapshots subvolume (snapshot_dir=@snapshots) rather than next to the live subvolume, make the off-host target explicit and off by default, and document that local snapshots are not off-host backups. Enable the feature explicitly on idols-ai, shoukei and the three kubevirt hosts; qemu-guest now disables it through the option. Add eval tests for shoukei and ai. * feat(monitoring): alert on btrbk snapshot failure Add HostBtrbkSnapshotFailed on node_systemd_unit_state for btrbk-btrbk.service, so a broken snapshot schedule alerts instead of only surfacing in the journal.
Idols - Aquamarine
Storage, operation and maintenance related services are running on this host:
- Storage such as git server, file server/browser, torrent downloader,, etc.
- Backup or sync my personal data to cloud or NAS.
- For safety, those data should be encrypted before sending to the cloud or my NAS.
- Collect and monitor the metrics/logs of my homelab.
Features
Services:
- prometheus + alertmanager + grafana + loki: Monitor the metrics/logs of my homelab.
- restic: Backup my personal data to cloud or NAS.
- synthing: Sync file between android/macbook/PC and NAS.
- gitea: Self-hosted git service.
- sftpgo: SFTP server.
- transmission & AriaNg: Torrent downloader and HTTP downloader
- alist/filebrower: File browser for local/SMB/Cloud
All the services assumes a reverse proxy to be setup in the front, they are all listening on localhost, and a caddy service is listening on the local network interface and proxy the requests to the services.