Nexari-G1.1 / Dockerfile
Nexari-Research's picture
Update Dockerfile
6e45c2b verified
# Dockerfile β€” Optimized for Layer Caching
FROM python:3.10-slim
WORKDIR /app
# Install system deps
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
cmake \
git \
wget \
pkg-config \
python3-dev \
libopenblas-dev \
liblapack-dev \
libgomp1 \
libffi-dev \
libssl-dev \
zlib1g-dev \
&& rm -rf /var/lib/apt/lists/*
# === OPTIMIZATION: Cache Dependencies ===
# Pehle sirf requirements copy karo
COPY requirements.txt .
# Upgrade pip and install Python deps
# Ye layer tab tak cache rahegi jab tak requirements.txt change nahi hoti
RUN pip install --upgrade pip setuptools wheel
RUN pip install --no-cache-dir -r requirements.txt
# === CODE COPY ===
# Ab baki ka code copy karo (Ye change hone par upar wala step repeat nahi hoga)
COPY . .
# Ensure models dir exists and is writable by UID 1000
RUN mkdir -p /app/models && chown -R 1000:1000 /app/models
# Create unprivileged user and switch
RUN useradd -m -u 1000 user || true
USER user
ENV HOME=/home/user \
PATH=/home/user/.local/bin:$PATH
EXPOSE 7860
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]