docker-start.sh 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #!/bin/bash
  2. # Pixelle-Video Docker Quick Start Script
  3. set -e
  4. echo "🐳 Pixelle-Video Docker Deployment"
  5. echo "=================================="
  6. echo ""
  7. # Check if config.yaml exists as a directory (Docker mount issue)
  8. if [ -d config.yaml ]; then
  9. echo "⚠️ config.yaml is a directory (Docker mount issue), removing it..."
  10. rm -rf config.yaml
  11. fi
  12. # Check if config.yaml exists, if not, create from example
  13. if [ ! -f config.yaml ]; then
  14. echo "⚠️ config.yaml not found, creating from config.example.yaml..."
  15. if [ -f config.example.yaml ]; then
  16. cp config.example.yaml config.yaml
  17. echo "✅ config.yaml created successfully!"
  18. echo ""
  19. echo "⚠️ IMPORTANT: Please edit config.yaml and fill in:"
  20. echo " - LLM API key and settings"
  21. echo " - ComfyUI URL (use host.docker.internal:8188 for local Mac/Windows)"
  22. echo " - RunningHub API key (optional, for cloud workflows)"
  23. echo ""
  24. echo "You can also configure these settings in the Web UI after starting."
  25. echo ""
  26. else
  27. echo "❌ Error: config.example.yaml not found!"
  28. echo ""
  29. exit 1
  30. fi
  31. fi
  32. # Check if docker-compose is available
  33. if ! command -v docker-compose &> /dev/null && ! docker compose version &> /dev/null; then
  34. echo "❌ Error: docker-compose not found!"
  35. echo ""
  36. echo "Please install Docker Compose first:"
  37. echo " https://docs.docker.com/compose/install/"
  38. echo ""
  39. exit 1
  40. fi
  41. # Use docker-compose or docker compose based on availability
  42. if command -v docker-compose &> /dev/null; then
  43. DOCKER_COMPOSE="docker-compose"
  44. else
  45. DOCKER_COMPOSE="docker compose"
  46. fi
  47. echo "📦 Building Docker images..."
  48. $DOCKER_COMPOSE build
  49. echo ""
  50. echo "🚀 Starting services..."
  51. $DOCKER_COMPOSE up -d
  52. echo ""
  53. echo "⏳ Waiting for services to be ready..."
  54. sleep 5
  55. echo ""
  56. echo "✅ Pixelle-Video is now running!"
  57. echo ""
  58. echo "Services:"
  59. echo " 🌐 Web UI: http://localhost:8501"
  60. echo " 🔌 API: http://localhost:8000"
  61. echo " 📚 API Docs: http://localhost:8000/docs"
  62. echo ""
  63. echo "Custom Resources (optional):"
  64. echo " 📁 data/bgm/ - Custom background music (overrides default)"
  65. echo " 📁 data/templates/ - Custom HTML templates (overrides default)"
  66. echo " 📁 data/workflows/ - Custom ComfyUI workflows (overrides default)"
  67. echo ""
  68. echo "Useful commands:"
  69. echo " View logs: $DOCKER_COMPOSE logs -f"
  70. echo " Stop: $DOCKER_COMPOSE down"
  71. echo " Restart: $DOCKER_COMPOSE restart"
  72. echo " Rebuild: $DOCKER_COMPOSE up -d --build"
  73. echo ""