Migrate SABnzbd on vega to the native NixOS service #26
Labels
No labels
area:authentication
area:flake-utilities
area:performance
area:tbd
host:chaos
host:electra
host:fleet
host:lyra
host:nova
host:vega
investigation
phase:cutover
phase:deploy
phase:mcp
phase:module
phase:packaging
phase:prep
phase:validation
priority:high
priority:medium
project:attic-postgres-lyra-rollout
project:auto-update-reliability
project:auto-update-remediation
project:declarative-purity-cleanup
project:external-review
project:fleet-boundary-cleanup
project:host-facts-refactor
project:lyra-nixos-deploy
project:lyra-service-stack-migration
project:nebula-mesh-network
project:nixos-build-deployment-pipeline
project:security-hardening
project:service-stack-migration
project:vega-sillytavern-cutover
project:wiki-rebuild
repo:numtide/flake-utils
repo:numtide/nix-auth
repo:numtide/nixos-passthru-cache
repo:numtide/nix-relay
service:auto-update
service:mem0
service:nix
service:sillytavern
service:slskd
service:synthseek
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
nimmo/nixos-config#26
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
Execute the first strong native-module migration after Newt/SillyTavern by moving SABnzbd off Docker on
vega.Acceptance Checklist
Current Docker Context From The Note
sabnzbdlscr.io/linuxserver/sabnzbd:latest8383 -> 8080/srv/stacks/sabnzbd/config/mnt/partial/sabnzbd-downloads192.168.8.238:/volume1/mediaNotes
This is intentionally ahead of Paperless because it is smaller and lower-risk.
Starting implementation of the native SABnzbd migration on
vega.Chosen approach for this pass:
/mnt/partial/sabnzbd-downloads/mediavolume with a host-level mount of192.168.8.238:/volume1/media/srv/stacks/sabnzbd/configto a new service path for rollback safety instead of moving itservices.sabnzbd.settings/secretFilesnow rather than leaving it UI-managedI’m using the live Docker stack and SABnzbd config on Vega as the migration source of truth while keeping the old stack in place until validation passes.
Implemented the first native SABnzbd migration pass on
vega.What changed:
modules/services/sabnzbd.nixand imported it from the hostsecrets/sabnzbd.yamlfor the preserved API/NZB keys and Usenet credentials/srv/mediavia NFS instead of a Docker NFS volume/mnt/partial/sabnzbd-downloads/srv/services/sabnzbdso admin DB/log/history state moved forward while the old stack directory remains available for rollback10.10.0.2:8383) rather than the regular LANValidation performed:
nix flake checkpassed locally after the module split and service-unit adjustmentsnixos-rebuild test --flake .#vegacompleted successfully on Vegasabnzbd.serviceis active on Vegahttp://10.10.0.2:8383/sabnzbd/returned HTTP 200 from another hosthttp://192.168.8.108:8383/sabnzbd/timed out from another host, matching the firewall intent/srv/services/sabnzbdafter copy (admin/*.db, queue/history files, logs, old backup INIs)Key migration learnings:
8383had to be stopped before the native service could come up cleanly-ddaemon mode exited with status 2 in this setup, while running it under systemd asType=simplewith--consolestarted cleanly, so the native service now uses that modeFollow-up risk:
/mnt/partialand/srv/media/sabnzbd-completeis still outstanding.Post-cutover SABnzbd follow-up on Vega:
/srv/services/sabnzbdcontains the copied SABnzbd admin state, includingadmin/history1.dbfrom the old Docker install.sabnzbd.inialready hadhistory_limit = 10andhistory_retention_option = days-archivewithhistory_retention_number = 7.misc.config_lock = truewhile staying in declarative mode. After rebuild and live deployment, the recurringCannot write to INI file /var/lib/sabnzbd/sabnzbd.inierror no longer appears; SABnzbd now logsConfiguration locked, cannot save settingsinstead.nix flake checkpassed locally,nixos-rebuild test --flake .#vegapassed on Vega,nixos-rebuild switch --flake .#vegacompleted successfully, andsystemctl status sabnzbdshows the native service running after the deployment.Remaining note: declarative mode still means UI changes are blocked and non-persistent by design, so runtime config edits will continue to be rejected.