FROM python:3.12.11 RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential g++ cmake \ && rm -rf /var/lib/apt/lists/* # 作業ディレクトリの設定 WORKDIR /app # 依存関係のインストール COPY requirements.txt . RUN pip install --no-cache-dir --upgrade pip && \ pip install --no-cache-dir -r requirements.txt # プロジェクトのソースコードをコピー COPY . . # データディレクトリを作成し、権限を付与 # data は実行ユーザーから書き込み可能に(非root環境を考慮し 777) RUN mkdir -p data/generated && chmod -R 777 data # embeddings は hf_hub_download が local_dir 配下に `.cache/huggingface` を作るため # 実行ユーザーからの書き込みを許可する(環境により非root実行のため 777 を許容) RUN mkdir -p resources/embeddings/.cache/huggingface \ && chmod -R 777 resources # 起動時にデータをビルドするスクリプトをコピー COPY start.sh ./ RUN chmod +x start.sh # Hugging Face Hub のキャッシュディレクトリを設定 ENV HF_HOME /tmp/hf_cache # アプリケーションがリッスンするポート EXPOSE 7860 # エントリポイントスクリプトで初期化と起動を行う CMD ["./start.sh"]