FROM node:20-alpine AS frontend-builder WORKDIR /app COPY frontend/package*.json frontend/ RUN npm ci --prefix frontend COPY frontend/ frontend/ RUN npm run build --prefix frontend FROM python:3.12-slim ARG APP_VERSION=dev ENV APP_VERSION=$APP_VERSION WORKDIR /app COPY backend/requirements.txt . RUN pip install --no-cache-dir -r requirements.txt psycopg2-binary COPY backend/ backend/ COPY --from=frontend-builder /app/frontend/dist frontend/dist COPY docker-entrypoint.sh . RUN chmod +x docker-entrypoint.sh EXPOSE 8000 8001 CMD ["./docker-entrypoint.sh"]