chore(conductor): Archive track 'fix_navidrome_paths'
This commit is contained in:
5
conductor/archive/fix_navidrome_paths_20260209/index.md
Normal file
5
conductor/archive/fix_navidrome_paths_20260209/index.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Track fix_navidrome_paths_20260209 Context
|
||||
|
||||
- [Specification](./spec.md)
|
||||
- [Implementation Plan](./plan.md)
|
||||
- [Metadata](./metadata.json)
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"track_id": "fix_navidrome_paths_20260209",
|
||||
"type": "bug",
|
||||
"status": "new",
|
||||
"created_at": "2026-02-09T14:30:00Z",
|
||||
"updated_at": "2026-02-09T14:30:00Z",
|
||||
"description": "Fix Navidrome database location to ensure it uses LiteFS mount and resolve process path conflicts."
|
||||
}
|
||||
17
conductor/archive/fix_navidrome_paths_20260209/plan.md
Normal file
17
conductor/archive/fix_navidrome_paths_20260209/plan.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Plan: Correct Navidrome Database and Plugins Location (`fix_navidrome_paths`)
|
||||
|
||||
## Phase 1: Configuration Updates [x]
|
||||
- [x] Task: Update `navidrome-litefs-v2.nomad` with corrected paths (76398de)
|
||||
- [x] Task: Update `entrypoint.sh` to handle plugins folder and environment cleanup (decb9f5)
|
||||
- [x] Task: Conductor - User Manual Verification 'Phase 1: Configuration Updates' (Protocol in workflow.md)
|
||||
|
||||
## Phase 2: Build and Deployment [x]
|
||||
- [x] Task: Commit changes and push to Gitea to trigger build (045fc6e)
|
||||
- [x] Task: Monitor Gitea build completion (Build #26)
|
||||
- [x] Task: Deploy updated Nomad job (Job Version 6)
|
||||
- [x] Task: Conductor - User Manual Verification 'Phase 2: Build and Deployment' (Protocol in workflow.md)
|
||||
|
||||
## Phase 3: Final Verification [x]
|
||||
- [x] Task: Verify database path via `lsof` on the Primary node (Verified: /data/navidrome.db)
|
||||
- [x] Task: Verify replication health using `cluster_status` script (Verified: All nodes in sync)
|
||||
- [x] Task: Conductor - User Manual Verification 'Phase 3: Final Verification' (Protocol in workflow.md)
|
||||
25
conductor/archive/fix_navidrome_paths_20260209/spec.md
Normal file
25
conductor/archive/fix_navidrome_paths_20260209/spec.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# Specification: Correct Navidrome Database and Plugins Location (`fix_navidrome_paths`)
|
||||
|
||||
## Overview
|
||||
Force Navidrome to use the `/data` LiteFS mount for its SQLite database by setting the `DATAFOLDER` to `/data`. To avoid the "Operation not permitted" error caused by LiteFS's restriction on directory creation, redirect the Navidrome plugins folder to persistent shared storage.
|
||||
|
||||
## Functional Requirements
|
||||
- **Nomad Job Configuration (`navidrome-litefs-v2.nomad`):**
|
||||
- Set `ND_DATAFOLDER="/data"`. This will force Navidrome to create and use `navidrome.db` on the LiteFS mount.
|
||||
- Set `ND_PLUGINSFOLDER="/shared_data/plugins"`. This prevents Navidrome from attempting to create a `plugins` directory in the read-only/virtual `/data` mount.
|
||||
- Keep `ND_CACHEFOLDER` and `ND_BACKUP_PATH` pointing to `/shared_data` subdirectories.
|
||||
- **Entrypoint Logic (`entrypoint.sh`):**
|
||||
- Ensure it creates `/shared_data/plugins` if it doesn't exist.
|
||||
- Remove the explicit `export ND_DATABASE_PATH` if it conflicts with the new `DATAFOLDER` logic, or keep it as an explicit override.
|
||||
- **Verification:**
|
||||
- Confirm via `lsof` that Navidrome is finally using `/data/navidrome.db`.
|
||||
- Confirm that LiteFS `/debug/vars` now reports the database in its active set.
|
||||
|
||||
## Non-Functional Requirements
|
||||
- **Persistence:** Ensure all non-database files (plugins, cache, backups) are stored on the shared host mount (`/shared_data`) to survive container restarts and migrations.
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Navidrome successfully starts with `/data` as its data folder.
|
||||
- [ ] No "Operation not permitted" errors occur during startup.
|
||||
- [ ] `lsof` confirms `/data/navidrome.db` is open by the Navidrome process.
|
||||
- [ ] LiteFS `txid` increases on the Primary and replicates to Replicas when Navidrome writes to the DB.
|
||||
Reference in New Issue
Block a user