llamate / Dockerfile copy
m1b2lover's picture
Upload 8 files
f99ed48 verified
# Dockerfile
FROM python:3.11-slim
ENV PYTHONUNBUFFERED=1
ENV GRADIO_SERVER_NAME="0.0.0.0"
ARG MODEL_ID="Qwen/Qwen3-8B"
ENV MODEL_ID=${MODEL_ID}
# 量子化設定のデフォルト (Spaceのenvで上書き可能)
ENV LOAD_IN_4BIT="true"
ENV LOAD_IN_8BIT="false"
# 依存関係のインストール
COPY requirements.txt requirements.txt
RUN pip install --no-cache-dir -r requirements.txt
# コードのコピー
COPY main.py .
COPY model_loader.py .
COPY schemas.py .
# ちゃんと書き込みできるユーザー設定しないとエラーが出るっぽい。
RUN useradd -m -u 1000 gee
USER gee
ENV HOME=/home/gee \
PATH=/home/gee/.local/bin:$PATH
ENV HF_HOME=$HOME/app/.cache/huggingface
WORKDIR $HOME/app
COPY --chown=gee . $HOME/app
# ポートの公開 (Uvicornがリッスンするポート)
# Hugging Face Spacesでは通常7860がデフォルトだが、APIサーバーなら8000でも良い。
# README.mdのapp_portと合わせる。
EXPOSE 8000
# アプリケーションの起動コマンド
# CMD uvicorn main:app --host 0.0.0.0 --port ${PORT:-8000} --workers 1
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000", "--workers", "1"]