このガイドでは、FramePack-FastAPIをDockerで実行する方法を説明します。
- Dockerfile - CPU版(軽量、推論のみ)
- Dockerfile.gpu - GPU版(CUDA対応、高性能)
- docker-compose.yml - CPU版用
- docker-compose.gpu.yml - GPU版用
# 自動ビルド&起動
./docker-run.sh
# または手動で
docker-compose up# 自動ビルド&起動(GPU必須)
./docker-run.sh --gpu
# または手動で
docker-compose -f docker-compose.gpu.yml up./docker-build.sh
# または
docker build -f Dockerfile -t framepack-fastapi:latest ../docker-build.sh --gpu
# または
docker build -f Dockerfile.gpu -t framepack-fastapi-gpu:latest .docker-compose up -d # バックグラウンド実行
docker-compose logs -f # ログを表示docker-compose -f docker-compose.gpu.yml up -d
docker-compose -f docker-compose.gpu.yml logs -fdocker run -d \
-p 8000:8000 \
-v $(pwd)/outputs:/app/outputs \
-v $(pwd)/temp_queue_images:/app/temp_queue_images \
-v $(pwd)/loras:/app/loras \
-v $(pwd)/hf_download:/app/hf_download \
framepack-fastapi:latestdocker run -d \
--gpus all \
-p 8000:8000 \
-v $(pwd)/outputs:/app/outputs \
-v $(pwd)/temp_queue_images:/app/temp_queue_images \
-v $(pwd)/loras:/app/loras \
-v $(pwd)/hf_download:/app/hf_download \
framepack-fastapi-gpu:latest# ポート8080で起動
./docker-run.sh --port 8080
# または環境変数で設定
export PORT=8080
docker-compose up重要な環境変数:
# API設定
API_HOST=0.0.0.0
API_PORT=8000
# モデルキャッシュ
HF_HOME=/app/hf_download
TRANSFORMERS_CACHE=/app/hf_download
# GPU設定(GPU版のみ)
CUDA_VISIBLE_DEVICES=0
NVIDIA_VISIBLE_DEVICES=all永続化されるデータ:
./outputs- 生成された動画・画像./temp_queue_images- キュー用一時画像./loras- LoRAファイル./hf_download- Hugging Faceモデルキャッシュ./job_queue.json- ジョブキュー状態
- RAM: 最小8GB、推奨16GB以上
- ストレージ: 最小20GB の空き容量
- CPU: マルチコア推奨
- GPU: NVIDIA GPU(CUDA 12.1対応)
- VRAM: 最小8GB、推奨24GB以上
- RAM: 最小16GB、推奨32GB以上
- ストレージ: 最小50GB の空き容量
- NVIDIA Docker: インストール済み
# NVIDIA Dockerの確認
docker run --rm --gpus all nvidia/cuda:12.1-base-ubuntu22.04 nvidia-smi
# GPU対応確認
docker-compose -f docker-compose.gpu.yml exec framepack-api-gpu python -c "import torch; print(torch.cuda.is_available())"# Dockerのメモリ制限を確認・調整
docker stats
# Swapファイルを有効化(Linux)
sudo swapon --show# Hugging Face キャッシュを事前ダウンロード
mkdir -p hf_download
docker run -v $(pwd)/hf_download:/app/hf_download framepack-fastapi-gpu:latest python -c "
from transformers import AutoTokenizer
AutoTokenizer.from_pretrained('hunyuanvideo-community/HunyuanVideo', cache_dir='/app/hf_download')
"# 使用中のポートを確認
netstat -tlnp | grep :8000
# 別のポートを使用
docker-compose up -e API_PORT=8080# サービスログ
docker-compose logs framepack-api
# リアルタイムログ
docker-compose logs -f framepack-api
# 特定コンテナのログ
docker logs <container_id># リソース使用量
docker stats
# GPU使用量(GPU版)
docker-compose -f docker-compose.gpu.yml exec framepack-api-gpu nvidia-smiコンテナ起動後、以下のURLでアクセス可能:
- API: http://localhost:8000
- API ドキュメント: http://localhost:8000/docs
- 動画生成: http://localhost:8000/generate
- 画像生成: http://localhost:8000/api/generate-image
# 最新コードでリビルド
./docker-build.sh --tag latest
# 古いイメージを削除
docker image prune -f# 生成データをバックアップ
tar -czf framepack-backup-$(date +%Y%m%d).tar.gz outputs/ temp_queue_images/ loras/ hf_download/# サービス停止
docker-compose down
# データボリュームも含めて削除
docker-compose down -v
# 完全クリーンアップ
docker system prune -af