From c8d955c45c1ef4a8f64cdf6fb5862c764b651dcf Mon Sep 17 00:00:00 2001 From: Woody Date: Thu, 7 May 2026 11:32:09 +0800 Subject: [PATCH] fix: add ffmpeg, uploads volume to Docker deployment for Phase 2 - Dockerfile: install ffmpeg for video audio extraction, create /app/uploads - docker-compose.yml: add uploads_data volume mount - README: add uploads_data to volumes table --- Dockerfile | 5 +++-- README.md | 1 + docker-compose.yml | 2 ++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index f3a761c..c508937 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,9 +15,10 @@ FROM python:3.11-slim WORKDIR /app -# Install system dependencies +# Install system dependencies (ffmpeg for video audio extraction) RUN apt-get update && apt-get install -y --no-install-recommends \ tini \ + ffmpeg \ && rm -rf /var/lib/apt/lists/* # Install Python dependencies @@ -31,7 +32,7 @@ COPY backend/ ./ COPY --from=frontend-build /app/frontend/dist ./frontend/dist # Create data directories -RUN mkdir -p /app/chroma_db /app/document_chunk /app/data /app/app/log +RUN mkdir -p /app/chroma_db /app/document_chunk /app/data /app/uploads /app/app/log # Expose port EXPOSE 8000 diff --git a/README.md b/README.md index 35ba9fe..c4b424f 100644 --- a/README.md +++ b/README.md @@ -50,6 +50,7 @@ The app is served at `http://localhost:8000` — both the API and the frontend U | `chroma_data` | ChromaDB vector store (persistent) | | `chunk_data` | Extracted PDF page files | | `sqlite_data` | Prompt templates and query history | +| `uploads_data` | Uploaded video files (persistent) | ### Environment Variables diff --git a/docker-compose.yml b/docker-compose.yml index 92c69e0..79f5ed1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,6 +12,7 @@ services: - chroma_data:/app/chroma_db - chunk_data:/app/document_chunk - sqlite_data:/app/data + - uploads_data:/app/uploads restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] @@ -24,3 +25,4 @@ volumes: chroma_data: chunk_data: sqlite_data: + uploads_data: