diff --git a/Dockerfile b/Dockerfile index 72b3f4d..2ebe268 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,22 +1,33 @@ -# build stage FROM python:3.10-slim as base +LABEL org.opencontainers.image.source="https://github.com/ZiRO-Bot/nexus" +LABEL org.opencontainers.image.description="FastAPI-based backend" +LABEL org.opencontainers.image.licenses=MPL-2.0 + # --- FROM base as builder +WORKDIR /app + +ENV PATH="/root/.local/bin:${PATH}" \ + VIRTUAL_ENV="/venv" + RUN pip install -U pip setuptools wheel RUN pip install pdm -COPY pyproject.toml pdm.lock README.md /project/ -COPY nexus/ /project/nexus - -WORKDIR /project -RUN mkdir __pypackages__ && pdm sync --prod --no-editable +COPY pyproject.toml pdm.lock ./ +COPY nexus/ ./ +RUN pdm sync --prod --no-editable # --- FROM base as final -WORKDIR /project -COPY --from=builder /project/nexus ./nexus +WORKDIR /app + +ENV PATH="/venv/bin:${PATH}" \ + VIRTUAL_ENV="/venv" + +COPY --from=builder /venv /venv +COPY --from=builder /app/nexus/ /app/nexus CMD ["uvicorn", "nexus.app:app", "--proxy-headers", "--host", "0.0.0.0", "--port", "80"] \ No newline at end of file