# 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) - [x] Task: Update `navidrome-litefs-v2.nomad` with corrected storage paths (`ND_DATAFOLDER`, `ND_CACHEFOLDER`, `ND_BACKUP_PATH`) (5cbb657) - [ ] Task: Conductor - User Manual Verification 'Phase 1: Configuration and Image Structure' (Protocol in workflow.md) ## Phase 2: Entrypoint and Registration Logic [x] [checkpoint: 9cd5455] - [x] Task: Refactor `entrypoint.sh` to handle leadership-aware process management (9cd5455) - [x] Integrate Consul registration logic (from `register.sh`) - [x] Implement loop to start/stop Navidrome based on `/data/.primary` existence - [x] Ensure proper signal handling for Navidrome shutdown - [x] Task: Clean up redundant scripts (e.g., `register.sh` if fully integrated) (9cd5455) - [ ] 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)