feat(deploy): Task 14 完成 docker-compose 扩展 + 环境变量双态部署
- deploy/docker-compose.dev.yml 新增 media-server 服务 + coturn(profiles:public),
全部服务参数改为 env 变量注入,go-service 依赖 media-server
- deploy/.env.example / .env.local.example / .env.public.example 三份模板,
公网模板用 _REPLACE_WITH_*_ 占位符防"示例值上生产"
- scripts/start.sh / stop.sh / status.sh 新增 full 子命令对接 docker compose --profile public
- scripts/deploy-public.sh 新建:env 校验 + 端口 checklist + Docker 自检 +
--profile public up -d --build + 健康检查闭环
- docs/deployment/meeting-mvp.md 新建:双态部署全流程 + 强密码生成 + 防火墙 + FAQ
- 双模式 docker compose config 校验通过;deploy-public.sh 三种错误场景按预期退出
同步更新 CURRENT_STATUS / implementation.plan / project-context
Task 0-14 ✅ / 剩余 Task 15-16
Made-with: Cursor
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# EchoChat 一键停止脚本
|
||||
# 用法:
|
||||
# ./scripts/stop.sh # 停止应用层(Go 后端 + 前台 + 管理端),保留 Docker 容器
|
||||
# ./scripts/stop.sh # 停止应用层(Go 后端 + 前台 + 管理端 + 媒体),保留 Docker 容器
|
||||
# ./scripts/stop.sh --all # 停止全部(含 Docker 中间件)
|
||||
# ./scripts/stop.sh full # 停止 docker compose 全栈(含 media-server 容器,含 public profile 的 coturn)
|
||||
# ./scripts/stop.sh backend # 仅停止指定服务(backend|frontend|admin|media|docker)
|
||||
# 不使用 set -e:即使某一项停止失败,其他项也要继续尝试
|
||||
set -uo pipefail
|
||||
@@ -10,6 +11,7 @@ set -uo pipefail
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
ROOT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||||
RUN_DIR="$ROOT_DIR/.run"
|
||||
DEPLOY_DIR="$ROOT_DIR/deploy"
|
||||
|
||||
COLOR_GREEN='\033[0;32m'
|
||||
COLOR_YELLOW='\033[0;33m'
|
||||
@@ -88,6 +90,15 @@ stop_docker() {
|
||||
log_ok "Docker 中间件已停止(数据卷保留)"
|
||||
}
|
||||
|
||||
# Phase 2e-2 Task 14:停止 docker compose 全栈(含 media-server、coturn)
|
||||
# 使用 --profile public 确保即使 coturn 在 public profile 下运行也能被停掉
|
||||
stop_full() {
|
||||
log_info "停止 docker compose 全栈(含 media-server / coturn)..."
|
||||
cd "$DEPLOY_DIR"
|
||||
docker compose -f docker-compose.dev.yml --profile public stop || true
|
||||
log_ok "全栈服务已停止(数据卷保留)"
|
||||
}
|
||||
|
||||
main() {
|
||||
local target="${1:-app}"
|
||||
|
||||
@@ -112,8 +123,9 @@ main() {
|
||||
admin) stop_admin ;;
|
||||
media) stop_media ;;
|
||||
docker) stop_docker ;;
|
||||
full) stop_full ;;
|
||||
*)
|
||||
echo "用法: $0 [app|--all|backend|frontend|admin|media|docker]"
|
||||
echo "用法: $0 [app|--all|backend|frontend|admin|media|docker|full]"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
Reference in New Issue
Block a user