feat(docker): add Docker Compose deployment for Dokploy

- backend/Dockerfile: Python 3.12-slim, uvicorn on port 8000
- frontend/Dockerfile: multi-stage Node build + nginx:alpine serve
- frontend/nginx.conf: proxy /api to backend, SPA routing for Vue Router
- docker-compose.yml: backend+frontend services with Traefik labels
- fix(cors): use settings.frontend_url instead of hardcoded localhost

Fixes Nixpacks detection failure (requirements.txt/package.json not at root).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Claude Agent
2026-03-04 07:32:28 +00:00
parent 07cc58908f
commit b9f994cf8d
5 changed files with 91 additions and 1 deletions

13
frontend/Dockerfile Normal file
View File

@@ -0,0 +1,13 @@
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 80