R24-1 R24-2: 补齐同机部署脚本与 Nginx 配置

这个提交包含在:
2026-03-22 13:51:14 +08:00
父节点 5d4fc2bbe3
当前提交 34181e3614
共修改 7 个文件,包含 270 行新增和 10 行删除
+62
查看文件
@@ -0,0 +1,62 @@
#!/usr/bin/env bash
# ============================================================
# hyb-oa - 同机部署服务器初始化脚本(在服务器上执行)
# 适用:官网 hyb-web 已在同机运行,现新增 OA 子域名
# ============================================================
set -euo pipefail
DEPLOY_USER="${DEPLOY_USER:-deploy}"
REMOTE_DIR="${REMOTE_DIR:-/opt/hyb-oa-trialrun}"
OA_HOST="${OA_HOST:-oa.hyinda.com}"
NGINX_SITE_NAME="${NGINX_SITE_NAME:-hyb-oa}"
need_cmd() {
command -v "$1" >/dev/null 2>&1 || {
echo "[ERROR] 缺少命令: $1" >&2
exit 1
}
}
if [[ "$(id -u)" -ne 0 ]]; then
echo "[ERROR] 请以 root 执行该脚本" >&2
exit 1
fi
echo ">>> 1. 安装 Docker / Compose 插件 / rsync"
export DEBIAN_FRONTEND=noninteractive
apt-get update -y
apt-get install -y docker.io rsync
if apt-cache show docker-compose-plugin >/dev/null 2>&1; then
apt-get install -y docker-compose-plugin
elif apt-cache show docker-compose-v2 >/dev/null 2>&1; then
apt-get install -y docker-compose-v2
elif apt-cache show docker-compose >/dev/null 2>&1; then
apt-get install -y docker-compose
else
echo "[WARN] 未在当前软件源找到 Compose 插件/包,请后续手工安装 Docker Compose。" >&2
fi
systemctl enable docker
systemctl start docker
echo ">>> 2. 让 ${DEPLOY_USER} 可运行 Docker"
id "${DEPLOY_USER}" >/dev/null 2>&1 || {
echo "[ERROR] 用户 ${DEPLOY_USER} 不存在,请先按官网方式创建 deploy 用户" >&2
exit 1
}
usermod -aG docker "${DEPLOY_USER}"
echo ">>> 3. 创建 OA 目录"
mkdir -p "${REMOTE_DIR}/deploy/trialrun/data/postgres"
mkdir -p "${REMOTE_DIR}/deploy/trialrun/data/storage"
mkdir -p "${REMOTE_DIR}/deploy/trialrun/data/minio"
mkdir -p "/etc/nginx/ssl/${OA_HOST}"
chown -R "${DEPLOY_USER}:${DEPLOY_USER}" "${REMOTE_DIR}"
echo ">>> 4. 初始化完成,后续手工操作:"
echo " 1) 把 OA Nginx 配置放到 /etc/nginx/sites-available/${NGINX_SITE_NAME}"
echo " 2) ln -sf /etc/nginx/sites-available/${NGINX_SITE_NAME} /etc/nginx/sites-enabled/${NGINX_SITE_NAME}"
echo " 3) 上传证书到 /etc/nginx/ssl/${OA_HOST}/server.crt 和 server.key"
echo " 4) 在 ${REMOTE_DIR}/deploy/trialrun/.env 写入 OA 环境变量"
echo " 5) 切换到 deploy 用户后,从本地执行 deploy/trialrun/deploy.sh"
echo " 6) 执行 nginx -t && systemctl reload nginx"