File size: 2,076 Bytes
d93a08f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | # Development Dockerfile for Yomitalk
# Based on the production Dockerfile but includes development tools
FROM python:3.11-slim
WORKDIR /app
# VOICEVOX規約に自動同意するための環境変数を設定
ENV VOICEVOX_ACCEPT_AGREEMENT=true
# 対話型プロンプトを無効化し、ページャーをcatに置き換える
ENV PAGER=cat
ENV LESSCHARSET=utf-8
# システム依存パッケージのインストール(開発用ツールを追加)
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
make \
sudo \
curl \
ffmpeg \
git \
wget \
unzip \
build-essential \
pkg-config \
&& rm -rf /var/lib/apt/lists/*
# リポジトリのコードをコピー
COPY . /app/
# Python依存関係のインストール(Docker内では仮想環境を使わない)
RUN pip install --upgrade pip
# 開発用依存関係をインストール
RUN pip install --timeout 300 --retries 3 \
pre-commit \
playwright \
pytest \
pytest-playwright \
pytest-bdd \
pytest-asyncio \
pytest-mock \
black \
isort \
flake8 \
mypy \
autoflake \
autopep8
# 大きなパッケージを段階的にインストール
# PyTorch関連のパッケージを先にインストール
RUN pip install --timeout 600 --retries 5 torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
# 残りの依存関係をインストール
RUN pip install --timeout 300 --retries 3 -r requirements.txt
# パーミッション問題を解決するため、dataディレクトリの権限を設定
RUN mkdir -p /app/data/temp /app/data/output && chmod -R 777 /app/data
# ポート設定
ENV PORT=7860
# 開発環境では setup.sh が VOICEVOX Core のセットアップを行うため、
# ここではスキップ(マウントされたボリュームにインストールされる)
# 開発環境用の起動コマンド(実際にはdevcontainerのpostCreateCommandでsetup.shが実行される)
CMD ["python", "app.py"]
|