feat: add Docker deployment support and fix /users/me endpoint

- Add docker/ directory with Dockerfile for backend and frontend
- Backend: pytorch/pytorch CUDA base image with all qwen_tts deps
- Frontend: multi-stage nginx build with /api/ proxy to backend
- docker-compose.yml (CPU) + docker-compose.gpu.yml (GPU overlay)
- Fix /users/me returning 404 due to missing route (was caught by /{user_id})
- Update .gitignore to exclude docker/models, docker/data, docker/.env
- Update README and README.zh.md with Docker deployment instructions

Images: bdim404/qwen3-tts-backend, bdim404/qwen3-tts-frontend

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-06 15:15:27 +08:00
parent 964ebb824c
commit 38e00fd38c
13 changed files with 201 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
.git
docs
images
**/__pycache__
**/*.pyc
**/*.pyo
qwen3-tts-backend/Qwen
qwen3-tts-backend/outputs
qwen3-tts-backend/voice_cache
qwen3-tts-backend/*.db
qwen3-tts-backend/.env
qwen3-tts-frontend/node_modules
qwen3-tts-frontend/dist
qwen3-tts-frontend/.env
models
data

22
docker/backend/Dockerfile Normal file
View File

@@ -0,0 +1,22 @@
FROM pytorch/pytorch:2.5.1-cuda12.1-cudnn9-runtime
WORKDIR /app
RUN apt-get update && apt-get install -y --no-install-recommends \
libsndfile1 \
&& rm -rf /var/lib/apt/lists/*
COPY qwen3-tts-backend/requirements.txt .
COPY docker/backend/requirements.qwen_tts.txt .
RUN pip install --no-cache-dir -r requirements.txt -r requirements.qwen_tts.txt
COPY qwen_tts ./qwen_tts
COPY qwen3-tts-backend .
RUN mkdir -p /app/Qwen /app/data /app/voice_cache /app/outputs
ENV PYTHONPATH=/app
EXPOSE 8000
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

View File

@@ -0,0 +1,6 @@
librosa
einops
transformers>=4.40.0,<5.0.0
accelerate
onnxruntime
sox