Dockerfile 872 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. FROM node:24-alpine AS admin-web-builder
  2. WORKDIR /admin-web
  3. COPY admin-web/package.json admin-web/package-lock.json ./
  4. RUN npm ci
  5. COPY admin-web/ ./
  6. RUN npm run build
  7. FROM python:3.12-slim-bullseye AS python-base
  8. WORKDIR /wbb
  9. ENV DEBIAN_FRONTEND=noninteractive
  10. ENV PYTHONUNBUFFERED=1
  11. ENV UV_NO_DEV=1
  12. RUN apt-get update -y && apt-get install -y --no-install-recommends \
  13. build-essential \
  14. ca-certificates \
  15. curl \
  16. gcc \
  17. git \
  18. iputils-ping \
  19. && rm -rf /var/lib/apt/lists/*
  20. ADD https://astral.sh/uv/install.sh /uv-installer.sh
  21. RUN sh /uv-installer.sh && rm /uv-installer.sh
  22. ENV PATH="/root/.local/bin/:$PATH"
  23. COPY .python-version pyproject.toml uv.lock ./
  24. RUN uv sync --frozen --no-dev
  25. COPY . .
  26. COPY --from=admin-web-builder /admin-web/dist /wbb/admin-web/dist
  27. EXPOSE 8088
  28. ENTRYPOINT ["uv", "run", "--no-sync", "python", "launcher.py"]