Update database mount path and docs for SoulSync

Changed recommended database mount from /app/database to /app/data in UNRAID.md and soulsync.xml to avoid overwriting Python modules. Updated troubleshooting section to clarify correct mounting and added config.json example for new database path.
pull/28/head
Broque Thomas 5 months ago
parent e7cfcddc4d
commit 954d644b27

@ -20,9 +20,9 @@ docker run -d \
-p 8888:8888 \
-p 8889:8889 \
-v /mnt/user/appdata/soulsync/config.json:/app/config/config.json \
-v /mnt/user/appdata/soulsync/database:/app/data \
-v /mnt/user/appdata/soulsync/logs:/app/logs \
-v /mnt/user/Music:/host/music:rw \
-v soulsync_database:/app/database \
--restart unless-stopped \
boulderbadgedad/soulsync:latest
```
@ -182,22 +182,34 @@ This ensures:
## 🛠️ Troubleshooting
### ❌ ModuleNotFoundError: No module named 'config.settings'
### ❌ ModuleNotFoundError: No module named 'config.settings' or 'database'
**Problem**: Most common error - mounting over the Python config module
**Problem**: Most common error - mounting over Python modules
**Wrong**:
```yaml
- "/mnt/cache/appdata/soulsync:/app/config" # ❌ Overwrites Python module
- "/mnt/cache/appdata/soulsync/config:/app/config" # ❌ Still overwrites Python module
- "/mnt/cache/appdata/soulsync:/app/config" # ❌ Overwrites Python config module
- "/mnt/cache/appdata/soulsync/config:/app/config" # ❌ Still overwrites Python config module
- "/mnt/cache/appdata/soulsync/database:/app/database" # ❌ Overwrites Python database module
```
**Correct**:
```yaml
- "/mnt/cache/appdata/soulsync/config.json:/app/config/config.json" # ✅ Mount only the config file
- "/mnt/cache/appdata/soulsync/database:/app/data" # ✅ Mount database to different path
```
**Why this happens**: The `/app/config` directory contains Python module files (`settings.py`) needed for the app to run. Mounting anything to `/app/config` overwrites these files. Only mount the specific `config.json` file.
**Why this happens**: Both `/app/config` and `/app/database` directories contain Python module files needed for the app to run. Mounting anything to these paths overwrites the modules. Mount config file specifically and database to `/app/data`.
**Important**: If mounting database to `/app/data`, update your config.json:
```json
{
"database": {
"path": "data/music_library.db",
"max_workers": 5
}
}
```
### Container Won't Start
```bash

@ -25,6 +25,7 @@
<Config Name="Spotify OAuth Port" Target="8888" Default="8888" Mode="tcp" Description="Spotify OAuth callback port" Type="Port" Display="always" Required="true" Mask="false">8888</Config>
<Config Name="Tidal OAuth Port" Target="8889" Default="8889" Mode="tcp" Description="Tidal OAuth callback port" Type="Port" Display="always" Required="true" Mask="false">8889</Config>
<Config Name="Config File" Target="/app/config/config.json" Default="/mnt/user/appdata/soulsync/config.json" Mode="rw" Description="SoulSync configuration file - mount only the config.json file" Type="Path" Display="always" Required="true" Mask="false">/mnt/user/appdata/soulsync/config.json</Config>
<Config Name="Database Directory" Target="/app/data" Default="/mnt/user/appdata/soulsync/database" Mode="rw" Description="Database storage - DO NOT mount to /app/database (contains Python modules)" Type="Path" Display="always" Required="true" Mask="false">/mnt/user/appdata/soulsync/database</Config>
<Config Name="Logs Directory" Target="/app/logs" Default="/mnt/user/appdata/soulsync/logs" Mode="rw" Description="Application logs storage" Type="Path" Display="always" Required="true" Mask="false">/mnt/user/appdata/soulsync/logs</Config>
<Config Name="Music Share" Target="/host/music" Default="/mnt/user/Music" Mode="rw" Description="Your music share containing Downloads and Library folders for slskd integration" Type="Path" Display="always" Required="true" Mask="false">/mnt/user/Music</Config>
<Config Name="PYTHONPATH" Target="PYTHONPATH" Default="/app" Mode="" Description="Python path (do not change)" Type="Variable" Display="advanced" Required="true" Mask="false">/app</Config>

Loading…
Cancel
Save