FROM node:20-alpine AS dashboard-build WORKDIR /dashboard COPY dashboard/package*.json ./ RUN npm ci COPY dashboard/ . RUN npm run build FROM python:3.12-alpine RUN apk add --no-cache postgresql-client WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY server.py . COPY --from=dashboard-build /dashboard/dist /app/dashboard/dist ENV PORT=8080 ENV DIST_DIR=/app/dashboard/dist EXPOSE 8080 CMD ["python", "server.py"]