ai-assistance / Dockerfile
LeoNguyen
Refactor Dockerfile and requirements: Simplify Python installation by removing unnecessary packages and adjust pip command in Dockerfile. Comment out unused dependencies in requirements_for_server.txt for clarity.
bfc6577
FROM nvidia/cuda:12.9.0-runtime-ubuntu22.04
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
DEBIAN_FRONTEND=noninteractive \
LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/compat:$LD_LIBRARY_PATH
WORKDIR /src
# Install Python 3.11 and dependencies
RUN apt-get update && apt-get install -y \
python3.11 \
python3-pip \
&& mkdir -p /etc/OpenCL/vendors \
&& echo "libnvidia-opencl.so.1" > /etc/OpenCL/vendors/nvidia.icd \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
&& ln -sf /usr/bin/python3.11 /usr/bin/python3
RUN mkdir -p /tmp/cache /tmp/vector_store /.cache && \
chown -R 1000:1000 /tmp /.cache
# 2. Copy requirements và thư viện local
COPY requirements_for_server.txt ./
# COPY local_packages_for_server/ /tmp/local_packages_for_server/
# 3. Cài đặt gói từ local
# RUN pip install --no-cache-dir --find-links=/tmp/local_packages_for_server -r requirements_for_server.txt
RUN pip install -r requirements_for_server.txt
# 4. Copy mã nguồn
COPY src/ .
# 5. Expose và chạy app
EXPOSE 7860
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]