| |
| |
| |
| |
| FROM python:3.11-slim AS runtime |
|
|
| |
| EXPOSE 7860 |
|
|
| |
| ENV PYTHONUNBUFFERED=1 \ |
| PYTHONDONTWRITEBYTECODE=1 \ |
| PIP_NO_CACHE_DIR=1 \ |
| PIP_DISABLE_PIP_VERSION_CHECK=1 \ |
| HF_HUB_DOWNLOAD_TIMEOUT=60 \ |
| MODEL_DIR=/data/model \ |
| GRADIO_SERVER_NAME=0.0.0.0 \ |
| GRADIO_SERVER_PORT=7860 |
|
|
| |
| RUN apt-get update && apt-get install -y --no-install-recommends \ |
| libgl1 \ |
| libglib2.0-0 \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| WORKDIR /app |
|
|
| |
| |
| COPY requirements-docker.txt /app/requirements-docker.txt |
| RUN pip install --no-cache-dir \ |
| --extra-index-url https://download.pytorch.org/whl/cpu \ |
| -r /app/requirements-docker.txt \ |
| && python -c "import torch, torchvision, timm, safetensors, gradio, PIL; print('deps ok')" \ |
| && python -c "import torch; assert not torch.cuda.is_available(); print('cpu-only ok')" |
|
|
| |
| COPY docker/app.py /app/app.py |
| COPY docker/download_model.py /app/download_model.py |
| COPY docker/docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh |
|
|
| |
| RUN mkdir -p /data/model && chmod +x /usr/local/bin/docker-entrypoint.sh |
|
|
| ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] |
| CMD [] |
|
|