FROM node:22-alpine AS web
WORKDIR /src/dashboard
ARG VITE_BASE_PATH=/
ARG VITE_API_BASE_URL=
ENV VITE_BASE_PATH=$VITE_BASE_PATH VITE_API_BASE_URL=$VITE_API_BASE_URL
COPY dashboard/package*.json ./
RUN npm ci
COPY dashboard/ ./
RUN npm run build

FROM python:3.12-slim
WORKDIR /app
COPY backend/ /app/backend/
RUN pip install --no-cache-dir /app/backend
COPY --from=web /src/dashboard/dist /app/dashboard
ENV POLYFORM_DB=/data/polyform.db \
    POLYFORM_DASHBOARD_DIR=/app/dashboard \
    HOST=0.0.0.0 \
    PORT=8000
VOLUME ["/data"]
EXPOSE 8000
CMD ["polyform-server"]
