#!/usr/bin/env bash
# 部署（测试或正式环境通用）。施工员不执行上线；由总工运行。
# 用法：TAG=<镜像标签，默认当前 git 提交 sha> ./deploy.sh
set -euo pipefail
ROOT="$(cd "$(dirname "$0")" && pwd)"
cd "$ROOT/.."
if [[ ! -f deploy/.env ]]; then
    echo "缺少 deploy/.env。请复制 deploy/.env.example 后填写（正式口令不得入库）。" >&2
    exit 1
fi
if [[ -z "${TAG:-}" ]]; then
    TAG="$(git rev-parse --short HEAD 2>/dev/null || echo latest)"
fi
mkdir -p data/files
cd "$ROOT"
TAG="$TAG" docker compose -f compose.yaml up -d --build
echo "已启动：http://127.0.0.1:${APP_PORT:-4173}/  镜像 caiwuzongzhang:$TAG"
