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
This commit is contained in:
Woody 2026-05-07 11:32:09 +08:00
parent 563ef263ed
commit c8d955c45c
3 changed files with 6 additions and 2 deletions

View File

@ -15,9 +15,10 @@ FROM python:3.11-slim
WORKDIR /app WORKDIR /app
# Install system dependencies # Install system dependencies (ffmpeg for video audio extraction)
RUN apt-get update && apt-get install -y --no-install-recommends \ RUN apt-get update && apt-get install -y --no-install-recommends \
tini \ tini \
ffmpeg \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
# Install Python dependencies # Install Python dependencies
@ -31,7 +32,7 @@ COPY backend/ ./
COPY --from=frontend-build /app/frontend/dist ./frontend/dist COPY --from=frontend-build /app/frontend/dist ./frontend/dist
# Create data directories # 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 port
EXPOSE 8000 EXPOSE 8000

View File

@ -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) | | `chroma_data` | ChromaDB vector store (persistent) |
| `chunk_data` | Extracted PDF page files | | `chunk_data` | Extracted PDF page files |
| `sqlite_data` | Prompt templates and query history | | `sqlite_data` | Prompt templates and query history |
| `uploads_data` | Uploaded video files (persistent) |
### Environment Variables ### Environment Variables

View File

@ -12,6 +12,7 @@ services:
- chroma_data:/app/chroma_db - chroma_data:/app/chroma_db
- chunk_data:/app/document_chunk - chunk_data:/app/document_chunk
- sqlite_data:/app/data - sqlite_data:/app/data
- uploads_data:/app/uploads
restart: unless-stopped restart: unless-stopped
healthcheck: healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/health"] test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
@ -24,3 +25,4 @@ volumes:
chroma_data: chroma_data:
chunk_data: chunk_data:
sqlite_data: sqlite_data:
uploads_data: