Dockerfile 919 B

1234567891011121314151617181920212223242526272829303132333435
  1. FROM node:21.7.2-bookworm-slim as frontend-builder
  2. WORKDIR /app
  3. COPY ./frontend/package.json frontend/package-lock.json ./
  4. RUN npm install
  5. COPY ./frontend ./
  6. RUN npm run build
  7. FROM python:3.12-slim as runtime
  8. WORKDIR /app
  9. ENV PYTHONPATH '/app'
  10. ENV RUN_AS_DEVIN=false
  11. ENV USE_HOST_NETWORK=false
  12. ENV SSH_HOSTNAME=host.docker.internal
  13. ENV WORKSPACE_BASE=/opt/workspace_base
  14. RUN mkdir -p $WORKSPACE_BASE
  15. RUN apt-get update -y \
  16. && apt-get install -y curl make git build-essential \
  17. && python3 -m pip install poetry --break-system-packages
  18. COPY ./pyproject.toml ./poetry.lock ./
  19. RUN poetry install --without evaluation
  20. COPY ./opendevin ./opendevin
  21. COPY ./agenthub ./agenthub
  22. RUN poetry run python opendevin/download.py # No-op to download assets
  23. COPY --from=frontend-builder /app/dist ./frontend/dist
  24. CMD ["poetry", "run", "uvicorn", "opendevin.server.listen:app", "--host", "0.0.0.0", "--port", "3000"]