# ベースイメージとして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"]