FROM node:22-bookworm-slim AS frontend WORKDIR /build COPY frontend/package.json frontend/package-lock.json ./ RUN npm ci --include=dev COPY frontend/ ./ RUN npm run build FROM python:3.12-slim ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1 RUN useradd --create-home --uid 1000 appuser WORKDIR /app COPY backend/requirements.txt ./backend/requirements.txt RUN pip install --no-cache-dir -r backend/requirements.txt COPY --chown=appuser backend/ ./backend/ COPY --chown=appuser --from=frontend /build/dist ./frontend/dist USER appuser EXPOSE 7860 CMD ["python", "-m", "uvicorn", "app.main:app", "--app-dir", "backend", "--host", "0.0.0.0", "--port", "7860"]