#!/bin/bash # ========================================== # 直播服务 Docker 部署脚本 # ========================================== set -e echo "==========================================" echo " 直播服务 Docker 部署" echo "==========================================" # 检查 .env 文件 if [ ! -f ".env" ]; then echo "❌ 错误: 未找到 .env 文件" echo "请复制 .env.example 为 .env 并修改配置" echo " cp .env.example .env" echo " nano .env" exit 1 fi # 加载环境变量 source .env echo "" echo "📋 当前配置:" echo " - 公网地址: ${PUBLIC_SRS_HOST:-未设置}" echo " - API 端口: ${API_EXPOSE_PORT:-25001}" echo " - RTMP 端口: ${SRS_RTMP_EXPOSE_PORT:-25002}" echo " - HTTP 端口: ${SRS_HTTP_EXPOSE_PORT:-25003}" echo "" # 确认部署 read -p "是否继续部署? (y/n): " confirm if [ "$confirm" != "y" ]; then echo "已取消部署" exit 0 fi echo "" echo "🔨 构建镜像..." docker-compose build echo "" echo "🚀 启动服务..." docker-compose up -d echo "" echo "✅ 部署完成!" echo "" echo "==========================================" echo " 服务状态" echo "==========================================" docker-compose ps echo "" echo "==========================================" echo " 访问地址" echo "==========================================" echo " API 服务: http://${PUBLIC_SRS_HOST:-localhost}:${API_EXPOSE_PORT:-25001}" echo " RTMP 推流: rtmp://${PUBLIC_SRS_HOST:-localhost}:${SRS_RTMP_EXPOSE_PORT:-25002}/live/[streamKey]" echo " HTTP 拉流: http://${PUBLIC_SRS_HOST:-localhost}:${SRS_HTTP_EXPOSE_PORT:-25003}/live/[streamKey].flv" echo "" echo "==========================================" echo " 常用命令" echo "==========================================" echo " 查看日志: docker-compose logs -f" echo " 停止服务: docker-compose down" echo " 重启服务: docker-compose restart" echo " 查看状态: docker-compose ps" echo ""