Files
2026-10-13 12:22:49 +02:00

22 lines
762 B
Docker

FROM node:20-alpine AS FrontendBuild
WORKDIR /Frontend
COPY Frontend/package.json ./
RUN npm install
COPY Frontend/ ./
RUN npm run build
FROM python:3.12-slim
WORKDIR /App
COPY Backend/requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
# Headless Chromium for drawing the desktop client's diagrams (Backend/Diagrams.py).
RUN playwright install --with-deps --only-shell chromium
COPY Backend/ ./Backend/
COPY --from=FrontendBuild /Frontend/dist ./Frontend/dist
# The same Mermaid the web view uses, for Backend/Diagrams.py.
COPY --from=FrontendBuild /Frontend/node_modules/mermaid/dist/mermaid.min.js ./Backend/Vendor/mermaid.min.js
WORKDIR /App/Backend
EXPOSE 8420
CMD ["uvicorn", "Main:Application", "--host", "0.0.0.0", "--port", "8420"]