31 lines
652 B
Docker
31 lines
652 B
Docker
# syntax=docker/dockerfile:1
|
|
|
|
FROM node:22-alpine AS frontend
|
|
|
|
WORKDIR /frontend
|
|
COPY web/frontend/package*.json ./
|
|
RUN npm ci
|
|
|
|
COPY web/frontend/ ./
|
|
RUN npm run build
|
|
|
|
|
|
FROM python:3.11.3-slim AS runtime
|
|
|
|
WORKDIR /app
|
|
ENV PYTHONUNBUFFERED=1
|
|
|
|
COPY web/api/requirements.txt ./web-api-requirements.txt
|
|
RUN pip install --no-cache-dir -r web-api-requirements.txt
|
|
|
|
COPY api ./api
|
|
COPY conn ./conn
|
|
COPY web/__init__.py ./web/__init__.py
|
|
COPY web/api ./web/api
|
|
COPY --from=frontend /frontend/dist/ticket-web/browser ./web/static
|
|
|
|
ENV TICKET_WEB_STATIC_DIR=/app/web/static
|
|
EXPOSE 8080
|
|
|
|
CMD ["uvicorn", "web.api.app:app", "--host", "0.0.0.0", "--port", "8080"]
|