Files
Audiolib/.env.example
Audiolib 6166fd8ab0 FileBrowser: diagnose container mounts + support extra audio path
This is a Docker volume issue, not a code bug. The backend container
only sees paths explicitly mounted in docker-compose.yml. A new mount
on the Linux host (e.g. NAS share, USB drive) is invisible to the
container until added as a volume — restarting the container alone
doesn't help, and restarting just the host doesn't either.

Backend: New GET /api/filebrowser/diagnose endpoint reads
/proc/self/mountinfo and returns the actual bind/nfs/cifs mounts the
container sees, plus a check of common candidate roots (/audiofiles,
/mnt, /media, /srv, /home, /app/data) showing whether they exist and
have content.

Frontend: Info icon in FileBrowser header toggles a diagnose panel
showing mounts and root candidates. Quick-access buttons now built
dynamically from candidate roots that actually exist. On 'path not
found' error: helpful inline explanation including the exact .env
variable and docker-compose command needed to add a new mount.

docker-compose.yml: New EXTRA_AUDIO_PATH env variable. Mounts a
second host path 1:1 (same path inside container, like
AUDIOFILES_PATH does). Defaults to ./data → /extra_audio_unused
when unset, which is a no-op.

.env.example: Documents EXTRA_AUDIO_PATH usage with example.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 21:23:47 +02:00

24 lines
760 B
Plaintext

# Server
SERVER_PORT=3000
JWT_SECRET=change_me_in_production_use_a_long_random_string
# Pfade
# Absoluter Pfad zu deinen Audiodateien auf dem Host.
# Der Pfad wird 1:1 in den Container gemountet, d.h. /media bleibt /media.
# Beispiel: AUDIOFILES_PATH=/media
AUDIOFILES_PATH=./audiofiles
# Optionaler zweiter Pfad (NAS-Share, USB-Platte, neuer Mount).
# Wird ebenfalls 1:1 gemountet. Nach Setzen: docker-compose down && docker-compose up -d
# Beispiel: EXTRA_AUDIO_PATH=/mnt/nas-hoerbuecher
# EXTRA_AUDIO_PATH=
DATABASE_URL=sqlite+aiosqlite:////app/data/db/audiolib.db
HLS_CACHE_DIR=/app/data/hls_cache
COVERS_DIR=/app/data/covers
LOG_DIR=/app/data/logs
# Matching (true/false)
AUTO_MATCH_BOOKS=true
AUTO_MATCH_PODCASTS=true
PODCAST_UPDATE_INTERVAL_HOURS=24