# syntax=docker/dockerfile:1 | |
# Python 3.10 をベースイメージとして使用 | |
FROM python:3.10-slim | |
# 必要なシステムパッケージのインストール (git, curl など) | |
# tzdata は pyannote.audio の依存関係で必要になることがある | |
RUN apt-get update && apt-get install -y --no-install-recommends \ | |
git \ | |
curl \ | |
build-essential \ | |
tzdata \ | |
&& rm -rf /var/lib/apt/lists/* | |
# 作業ディレクトリを設定 | |
WORKDIR /app | |
# Style-Bert-VITS2 リポジトリを dev ブランチでクローン | |
# --depth 1 で履歴を浅くクローンし、ビルド時間を短縮 | |
RUN git clone --depth 1 --branch dev https://github.com/litagin02/Style-Bert-VITS2.git | |
WORKDIR /app/Style-Bert-VITS2 | |
# Style-Bert-VITS2 の依存関係をインストール | |
# ここで requirements.txt を直接指定してインストール | |
RUN pip install -r requirements.txt | |
# Style-Bert-VITS2 の初期化スクリプトを実行 (BERTモデルなどはダウンロードしない) | |
# この時点で Style-Bert-VITS2 のコードが利用可能になっている | |
RUN python initialize.py --skip_default_models | |
WORKDIR /app | |
# Gradioアプリ用の requirements.txt をコピー | |
COPY requirements.txt . | |
# Gradioアプリ自体の依存関係をインストール | |
RUN pip install -r requirements.txt | |
# Gradioアプリのコードをコピー | |
COPY app.py . | |
# アプリケーションのポートを指定 (Gradioのデフォルトは7860) | |
EXPOSE 7860 | |
# Gradioアプリを起動するための環境変数 | |
# Hugging Face Spacesが外部からアクセスできるようにするため | |
ENV GRADIO_SERVER_NAME=0.0.0.0 | |
RUN mkdir /app/outputs | |
RUN chmod -R 777 /app | |
RUN chmod -R 777 /usr/local/lib/python3.10/site-packages/pyopenjtalk | |
# Gradioアプリを起動 | |
# Hugging Face Spacesはこのコマンドを自動で実行します (app.pyが指定されている場合) | |
CMD ["python", "app.py"] |