# ベースイメージ FROM python:3.13 # 作業ディレクトリ WORKDIR /app # 必要パッケージのインストール RUN apt-get update && \ apt-get install -y \ git \ git-lfs \ ffmpeg \ libsm6 \ libxext6 \ cmake \ rsync \ libgl1 \ && rm -rf /var/lib/apt/lists/* \ && git lfs install # Node.js のインストール RUN apt-get update && \ apt-get install -y curl && \ curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \ apt-get install -y nodejs && \ rm -rf /var/lib/apt/lists/* && \ apt-get clean COPY . . RUN npm install packager@git+https://github.com/izum00/turbowarp-packager.git # pip のアップグレードと必要ライブラリのインストール RUN pip install --no-cache-dir pip -U && \ pip install --no-cache-dir \ datasets \ "huggingface-hub>=0.30" \ "hf-transfer>=0.1.4" \ "protobuf<4" \ "click<8.1" # requirements.txt に基づく Python パッケージのインストール # gradio、uvicorn、websockets、spaces も追加 RUN --mount=target=/tmp/requirements.txt,source=requirements.txt \ pip install --no-cache-dir -r /tmp/requirements.txt \ gradio[oauth,mcp]==6.5.1 \ "uvicorn>=0.14.0" \ "websockets>=10.4" \ spaces # ユーザ用ディレクトリ作成とシンボリックリンク RUN mkdir -p /home/user && \ ( [ -e /home/user/app ] || ln -s /app/ /home/user/app ) || true # 現在のディレクトリをコンテナ内 /app にコピー COPY ./ /app # pip freeze 保存用 RUN mkdir -p /pipfreeze && pip freeze > /pipfreeze/freeze.txt # コンテナ起動時に app.py を実行 CMD ["python", "app.py"]