debug: add verbose logging and error checks to setup_data_dir
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
This commit is contained in:
@@ -19,13 +19,24 @@ PRIMARY_TAGS='["navidrome","web","traefik.enable=true","urlprefix-/navidrome","t
|
||||
# Ensure Navidrome's data directory exists and has the database symlinked to LiteFS
|
||||
setup_data_dir() {
|
||||
echo "Setting up Navidrome data directory..."
|
||||
mkdir -p /data
|
||||
|
||||
# Ensure /data exists (should be a volume mount)
|
||||
if [ ! -d "/data" ]; then
|
||||
echo "Creating /data directory..."
|
||||
mkdir -p /data || { echo "ERROR: Failed to create /data"; exit 1; }
|
||||
fi
|
||||
|
||||
# Check if we can write to /data
|
||||
touch /data/.write_test && rm /data/.write_test || { echo "ERROR: /data is not writable!"; exit 1; }
|
||||
|
||||
# Symlink the database and its sidecar files to the LiteFS mount.
|
||||
# This ensures SQLite writes go through LiteFS while Navidrome can still
|
||||
# create subdirectories (like /data/artwork) on the persistent host volume.
|
||||
ln -sf /litefs/navidrome.db /data/navidrome.db
|
||||
ln -sf /litefs/navidrome.db-wal /data/navidrome.db-wal
|
||||
ln -sf /litefs/navidrome.db-shm /data/navidrome.db-shm
|
||||
# We use -f to overwrite any existing files.
|
||||
echo "Creating symlinks to LiteFS..."
|
||||
ln -sf /litefs/navidrome.db /data/navidrome.db || echo "Warning: Failed to symlink navidrome.db"
|
||||
ln -sf /litefs/navidrome.db-wal /data/navidrome.db-wal || echo "Warning: Failed to symlink navidrome.db-wal"
|
||||
ln -sf /litefs/navidrome.db-shm /data/navidrome.db-shm || echo "Warning: Failed to symlink navidrome.db-shm"
|
||||
|
||||
echo "Data directory setup complete."
|
||||
}
|
||||
|
||||
# Backup Database (Only on Primary)
|
||||
|
||||
Reference in New Issue
Block a user