# Plan: Fix LiteFS Configuration and Process Management (`fix_litefs_config`) ## Phase 1: Configuration and Image Structure [ ] - [x] Task: Update `litefs.yml` to include the `exec` block (396dfeb) - [x] Task: Update `Dockerfile` to use LiteFS as the supervisor (`ENTRYPOINT ["litefs", "mount"]`) (ef91b8e) - [ ] Task: Update `navidrome-litefs-v2.nomad` with corrected storage paths (`ND_DATAFOLDER`, `ND_CACHEFOLDER`, `ND_BACKUP_PATH`) - [ ] Task: Conductor - User Manual Verification 'Phase 1: Configuration and Image Structure' (Protocol in workflow.md) ## Phase 2: Entrypoint and Registration Logic [ ] - [ ] Task: Refactor `entrypoint.sh` to handle leadership-aware process management - [ ] Integrate Consul registration logic (from `register.sh`) - [ ] Implement loop to start/stop Navidrome based on `/data/.primary` existence - [ ] Ensure proper signal handling for Navidrome shutdown - [ ] Task: Clean up redundant scripts (e.g., `register.sh` if fully integrated) - [ ] Task: Conductor - User Manual Verification 'Phase 2: Entrypoint and Registration Logic' (Protocol in workflow.md) ## Phase 3: Deployment and Failover Verification [ ] - [ ] Task: Build and push the updated Docker image via Gitea Actions (if possible) or manual trigger - [ ] Task: Deploy the updated Nomad job - [ ] Task: Verify cluster health and process distribution using `cluster_status` script - [ ] Task: Perform a manual failover (stop primary allocation) and verify Navidrome migrates correctly - [ ] Task: Conductor - User Manual Verification 'Phase 3: Deployment and Failover Verification' (Protocol in workflow.md)