R79 收口公网部署与治理事实源
这个提交包含在:
+18
-10
@@ -1,14 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
# ============================================================
|
||||
# hyb-oa - 同机部署服务器初始化脚本(在服务器上执行)
|
||||
# 适用:官网 hyb-web 已在同机运行,现新增 OA 子域名
|
||||
# 适用:官网 hyb-web 已在同机运行,现新增 OA 子域名;默认使用 Caddy 做反向代理
|
||||
# ============================================================
|
||||
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}"
|
||||
CADDY_CONFIG_PATH="${CADDY_CONFIG_PATH:-/etc/caddy/Caddyfile}"
|
||||
|
||||
need_cmd() {
|
||||
command -v "$1" >/dev/null 2>&1 || {
|
||||
@@ -22,11 +22,17 @@ if [[ "$(id -u)" -ne 0 ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ">>> 1. 安装 Docker / Compose 插件 / rsync"
|
||||
echo ">>> 1. 安装 Docker / Compose 插件 / rsync / Caddy"
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
apt-get update -y
|
||||
apt-get install -y docker.io rsync
|
||||
|
||||
if apt-cache show caddy >/dev/null 2>&1; then
|
||||
apt-get install -y caddy
|
||||
else
|
||||
echo "[WARN] 未在当前软件源找到 caddy,请后续手工安装。" >&2
|
||||
fi
|
||||
|
||||
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
|
||||
@@ -38,6 +44,10 @@ else
|
||||
fi
|
||||
systemctl enable docker
|
||||
systemctl start docker
|
||||
if systemctl list-unit-files caddy.service >/dev/null 2>&1; then
|
||||
systemctl enable caddy || true
|
||||
systemctl start caddy || true
|
||||
fi
|
||||
|
||||
echo ">>> 2. 让 ${DEPLOY_USER} 可运行 Docker"
|
||||
id "${DEPLOY_USER}" >/dev/null 2>&1 || {
|
||||
@@ -50,13 +60,11 @@ 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"
|
||||
echo " 1) 在 ${CADDY_CONFIG_PATH} 增加站点块:${OA_HOST} { reverse_proxy 127.0.0.1:3000 }"
|
||||
echo " 2) 执行 systemctl reload caddy"
|
||||
echo " 3) 在 ${REMOTE_DIR}/deploy/trialrun/.env 写入 OA 环境变量"
|
||||
echo " 4) 切换到 deploy 用户后,从本地执行 deploy/trialrun/deploy.sh"
|
||||
echo " 5) 用 curl -I https://${OA_HOST}/ready 或首页访问做最小探活"
|
||||
|
||||
在新工单中引用
屏蔽一个用户