Machine-Learning-RPG / Dockerfile
horiyouta's picture
2508181746
9905360
# ベースイメージとしてPython 3.9-slimを使用
FROM python:3.9-slim
# コンテナ内の作業ディレクトリを設定
WORKDIR /app
# requirements.txtをコンテナにコピー
COPY requirements.txt .
# requirements.txtに記載されたライブラリをインストール
# --no-cache-dirでイメージサイズを削減
# PyTorchはCPU版をインストールしてさらにサイズを削減
RUN pip install --no-cache-dir -r requirements.txt --extra-index-url https://download.pytorch.org/whl/cpu
# ★★★ 1. キャッシュディレクトリを事前に作成し、全ユーザーに書き込み権限を付与 ★★★
# これにより、実行時に非rootユーザーがキャッシュディレクトリに書き込めるようになる
RUN mkdir -p /app/cache && chmod -R 777 /app/cache
# ★★★ 2. Hugging Faceライブラリに、作成したキャッシュディレクトリを使うよう指示 (これは維持) ★★★
ENV HF_HOME /app/cache
# アプリケーションのコードをコンテナにコピー
COPY . .
# Hugging Face Spacesのデフォルトポートである7860を公開
EXPOSE 7860
# コンテナ起動時にFastAPIサーバーを起動
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]