Migrate Tdarr server and nodes from Docker to NixOS #198

Closed
opened 2026-08-28 21:13:09 +01:00 by nimmo · 1 comment
Owner

Scope

Migrate Lyra Tdarr server and local GPU node from Docker to the native NixOS services.tdarr module. Preserve the existing SQLite state, libraries, flows, plugins, and node enrolments. Prepare Vega and Nova Docker nodes to follow the server-path migration; later convert the NixOS-capable nodes declaratively.

Confirmed topology

  • Lyra runs the server and node media4 and exposes ports 8265/8266.
  • Mapped nodes include Vega, Nova, Electra, and a Windows desktop.
  • Libraries currently use Docker paths /collection, /media/*, and cache /temp.
  • Target server paths will be /mnt/collection, /mnt/media/*, and /mnt/tdarr/cache.

Completion criteria

  • A native Lyra Tdarr configuration is evaluated and built with the required package workaround.
  • Required NAS mounts use /mnt and Tdarr services wait for them.
  • A guarded, idempotent database/data migration performs the final copy only while Docker is stopped, checkpoints/verifies SQLite, and retains rollback data.
  • Docker node path translations for Vega/Nova and the Windows translation are documented and validated.
  • A Lyra canary plus a no-op follow-up verify the service and one mapped remote node before closing.
## Scope Migrate Lyra Tdarr server and local GPU node from Docker to the native NixOS `services.tdarr` module. Preserve the existing SQLite state, libraries, flows, plugins, and node enrolments. Prepare Vega and Nova Docker nodes to follow the server-path migration; later convert the NixOS-capable nodes declaratively. ## Confirmed topology - Lyra runs the server and node `media4` and exposes ports 8265/8266. - Mapped nodes include Vega, Nova, Electra, and a Windows desktop. - Libraries currently use Docker paths `/collection`, `/media/*`, and cache `/temp`. - Target server paths will be `/mnt/collection`, `/mnt/media/*`, and `/mnt/tdarr/cache`. ## Completion criteria - A native Lyra Tdarr configuration is evaluated and built with the required package workaround. - Required NAS mounts use `/mnt` and Tdarr services wait for them. - A guarded, idempotent database/data migration performs the final copy only while Docker is stopped, checkpoints/verifies SQLite, and retains rollback data. - Docker node path translations for Vega/Nova and the Windows translation are documented and validated. - A Lyra canary plus a no-op follow-up verify the service and one mapped remote node before closing.
Author
Owner

Completed in 0d0cc84 and deployed with just test on Lyra. Native Tdarr server and lyra GPU node are active; /mnt/appdata/Videos, /mnt/media, and /mnt/tdarr mappings were verified; SQLite integrity and path-key repair checks passed; a real job was unpaused and progressed successfully. One-time migration tooling was removed after cutover.

Completed in 0d0cc84 and deployed with just test on Lyra. Native Tdarr server and lyra GPU node are active; /mnt/appdata/Videos, /mnt/media, and /mnt/tdarr mappings were verified; SQLite integrity and path-key repair checks passed; a real job was unpaused and progressed successfully. One-time migration tooling was removed after cutover.
nimmo closed this issue 2026-08-28 23:13:13 +01:00
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
nimmo/nixos-config#198
No description provided.