mirror of
https://github.com/escalante29/healthy-fit.git
synced 2026-03-21 10:48:46 +01:00
- Production Dockerfiles: backend (gunicorn + uvicorn workers), frontend (multi-stage Node build + nginx with API proxy) - docker-compose.prod.yml: integrates with VPS nginx-proxy via VIRTUAL_HOST for auto-TLS at fit.cescalante.dev - GitHub Actions workflow (Gitea Actions-compatible): builds images and deploys on push to main via self-hosted runner - Make CORS origins configurable via CORS_ORIGINS env var Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
16 lines
319 B
Docker
16 lines
319 B
Docker
# Stage 1: Build
|
|
FROM node:20-slim AS build
|
|
WORKDIR /app
|
|
COPY package*.json ./
|
|
RUN npm ci
|
|
COPY . .
|
|
ARG VITE_API_URL
|
|
ENV VITE_API_URL=${VITE_API_URL}
|
|
RUN npm run build
|
|
|
|
# Stage 2: Serve
|
|
FROM nginx:alpine
|
|
COPY --from=build /app/dist /usr/share/nginx/html
|
|
COPY nginx-frontend.conf /etc/nginx/conf.d/default.conf
|
|
EXPOSE 80
|