refactor: rename backend/frontend dirs and remove NovelWriter submodule

- Rename qwen3-tts-backend → canto-backend
- Rename qwen3-tts-frontend → canto-frontend
- Remove NovelWriter embedded repo

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-07 18:03:29 +08:00
parent 777a7ec006
commit 2fa9c1fcb6
346 changed files with 548 additions and 585 deletions

View File

@@ -1,2 +0,0 @@
SECRET_KEY=change-this-to-a-strong-random-key
MODEL_DEVICE=cuda:0

View File

@@ -1,16 +0,0 @@
.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

View File

@@ -1,22 +0,0 @@
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

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

View File

@@ -1,9 +0,0 @@
services:
backend:
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]

View File

@@ -1,24 +0,0 @@
services:
backend:
image: bdim404/qwen3-tts-backend:latest
environment:
SECRET_KEY: ${SECRET_KEY:?Set SECRET_KEY in docker/.env}
MODEL_DEVICE: ${MODEL_DEVICE:-cuda:0}
MODEL_BASE_PATH: /app/Qwen
DATABASE_URL: sqlite:////app/data/qwen_tts.db
CACHE_DIR: /app/voice_cache
OUTPUT_DIR: /app/outputs
volumes:
- ./models:/app/Qwen
- ./data/db:/app/data
- ./data/cache:/app/voice_cache
- ./data/outputs:/app/outputs
restart: unless-stopped
frontend:
image: bdim404/qwen3-tts-frontend:latest
ports:
- "80:80"
depends_on:
- backend
restart: unless-stopped

View File

@@ -1,12 +0,0 @@
.git
docs
images
**/__pycache__
**/*.pyc
qwen3-tts-backend
qwen_tts
qwen3-tts-frontend/node_modules
qwen3-tts-frontend/dist
qwen3-tts-frontend/.env
models
data

View File

@@ -1,18 +0,0 @@
FROM node:20-alpine AS builder
WORKDIR /app
COPY qwen3-tts-frontend/package*.json ./
RUN npm ci
COPY qwen3-tts-frontend/ .
RUN npm run build
FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html
COPY docker/frontend/nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

View File

@@ -1,25 +0,0 @@
server {
listen 80;
root /usr/share/nginx/html;
index index.html;
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml text/javascript;
location /api/ {
proxy_pass http://backend:8000/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 300s;
proxy_send_timeout 300s;
client_max_body_size 50m;
}
location / {
try_files $uri $uri/ /index.html;
}
}