Dockerfile.backend 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. FROM python:3.11-slim
  2. WORKDIR /opt/maxkb-app
  3. ENV DEBIAN_FRONTEND=noninteractive \
  4. PYTHONDONTWRITEBYTECODE=1 \
  5. PYTHONUNBUFFERED=1 \
  6. HF_HOME=/opt/maxkb-app/model/base \
  7. TMPDIR=/opt/maxkb-app/tmp \
  8. PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple \
  9. PIP_TRUSTED_HOST=pypi.tuna.tsinghua.edu.cn
  10. RUN echo 'deb http://mirrors.aliyun.com/debian/ bookworm main non-free contrib' > /etc/apt/sources.list \
  11. && echo 'deb http://mirrors.aliyun.com/debian/ bookworm-updates main non-free contrib' >> /etc/apt/sources.list \
  12. && echo 'deb http://mirrors.aliyun.com/debian-security/ bookworm-security main non-free contrib' >> /etc/apt/sources.list \
  13. && apt-get update && apt-get install -y --no-install-recommends \
  14. build-essential \
  15. gcc \
  16. python3-dev \
  17. libpq-dev \
  18. curl \
  19. git \
  20. wget \
  21. && rm -rf /var/lib/apt/lists/*
  22. RUN pip install --no-cache-dir --upgrade pip setuptools wheel
  23. COPY pyproject.toml ./
  24. RUN pip install --no-cache-dir --break-system-packages torch==2.8.0 --index-url https://pypi.tuna.tsinghua.edu.cn/simple
  25. RUN pip install --no-cache-dir --break-system-packages \
  26. django==5.2.13 \
  27. drf-spectacular==0.28.0 \
  28. django-redis==6.0.0 \
  29. django-db-connection-pool==1.2.6 \
  30. django-mptt==0.17.0 \
  31. djangorestframework==3.17.1 \
  32. psycopg==3.2.9 \
  33. python-dotenv==1.1.1 \
  34. uuid-utils==0.14.0 \
  35. captcha==0.7.1 \
  36. pytz==2025.2 \
  37. psutil==7.0.0 \
  38. cffi==1.17.1 \
  39. beautifulsoup4==4.13.4 \
  40. jieba==0.42.1 \
  41. langchain==1.2.15 \
  42. langchain-core==1.2.31 \
  43. langchain-openai==1.1.14 \
  44. langchain-anthropic==1.4.0 \
  45. langchain-community==0.4.1 \
  46. langchain-deepseek==1.0.1 \
  47. langchain-google-genai==4.2.2 \
  48. langchain-mcp-adapters==0.2.2 \
  49. langchain-huggingface==1.2.1 \
  50. langchain-ollama==1.1.0 \
  51. langchain-aws==1.4.4 \
  52. langgraph==1.1.6 \
  53. deepagents==0.5.3 \
  54. numpy==1.26.4 \
  55. qianfan==0.4.12.3 \
  56. zhipuai==2.1.5.20250708 \
  57. volcengine-python-sdk==4.0.5 \
  58. boto3==1.42.46 \
  59. tencentcloud-sdk-python==3.0.1420 \
  60. xinference-client==1.7.1.post1 \
  61. anthropic==0.89.0 \
  62. dashscope==1.25.16 \
  63. celery==5.5.3 \
  64. django-celery-beat==2.8.1 \
  65. celery-once==3.0.1 \
  66. django-apscheduler==0.7.0 \
  67. html2text==2025.4.15 \
  68. openpyxl==3.1.5 \
  69. python-docx==1.2.0 \
  70. xlrd==2.0.2 \
  71. xlwt==1.3.0 \
  72. pymupdf==1.26.3 \
  73. pypdf==6.10.2 \
  74. pydub==0.25.1 \
  75. gunicorn==23.0.0 \
  76. python-daemon==3.1.2 \
  77. websockets==15.0.1 \
  78. cohere==5.17.0 \
  79. jsonpath-ng==1.8.0 \
  80. sentence-transformers==5.0.0
  81. COPY apps/ ./apps/
  82. COPY main.py ./
  83. RUN mkdir -p /opt/maxkb-app/model/base /opt/maxkb-app/tmp /opt/maxkb-app/logs
  84. EXPOSE 8080
  85. CMD ["python", "main.py", "start", "all"]