feat: improve container setup and fix deployment issues

- Move images directory from /data/images to /app/images to separate app data from user media
- Implement config folder approach instead of direct file mounting
- Add automatic config initialization with example config on first boot
- Remove hardcoded media directory environment variables from Dockerfile
- Update startup script to handle config folder setup and validation
- Only create application-managed directories, not user media directories
- Update docker-compose.yaml to use config folder volume mapping

Fixes container startup failures when config.toml doesn't exist and improves
separation between application data and user media directories.
This commit is contained in:
wjbeckett
2025-07-18 12:54:08 +10:00
parent aaa025c2bb
commit df7d00ad99
8 changed files with 321 additions and 16 deletions

View File

@@ -16,12 +16,9 @@ LABEL author="github.com/maxdorninger"
LABEL version=${VERSION}
LABEL description="Docker image for MediaManager"
ENV MISC__IMAGE_DIRECTORY=/data/images \
MISC__TV_DIRECTORY=/data/tv \
MISC__MOVIE_DIRECTORY=/data/movies \
MISC__TORRENT_DIRECTORY=/data/torrents \
ENV MISC__IMAGE_DIRECTORY=/app/images \
PUBLIC_VERSION=${VERSION} \
CONFIG_FILE="/app/config.toml"\
CONFIG_DIR="/app/config"\
BASE_PATH=${BASE_PATH}\
FRONTEND_FILES_DIR="/app/web/build"
@@ -37,6 +34,7 @@ COPY pyproject.toml uv.lock ./
RUN uv sync --locked
COPY --chmod=755 mediamanager-backend-startup.sh .
COPY config.example.toml .
COPY media_manager ./media_manager
COPY alembic ./alembic
COPY alembic.ini .