fix(deploy): isolate installer command directory

This commit is contained in:
姚章浩
2026-09-11 12:10:08 +08:00
parent 27d4d45af4
commit 6153533b46
+6 -4
View File
@@ -11,6 +11,7 @@ backup_dir="$home/backups"
app_env="$config_dir/dobotai.env"
runtime_env="$container_dir/runtime.env"
image="${DOBOTAI_IMAGE:?root install-docker.sh must provide the local image}"
bin_dir="${DOBOTAI_BIN_DIR:-/usr/local/sbin}"
[[ ${EUID} -eq 0 ]] || { echo "请使用sudo执行安装脚本。" >&2; exit 1; }
docker image inspect "$image" >/dev/null 2>&1 || { echo "应用镜像不存在。" >&2; exit 1; }
@@ -50,8 +51,9 @@ DOBOTAI_ENV_FILE=$app_env
DOBOTAI_SECRET_DIR_HOST=$secret_dir
EOF
chmod 0600 "$runtime_env"
install -d -m 0755 "$bin_dir"
for command in configure start bind-admin; do
target="/usr/local/sbin/dobotai-dingtalk-$command"
target="$bin_dir/dobotai-dingtalk-$command"
cat > "$target" <<EOF
#!/usr/bin/env bash
set -euo pipefail
@@ -61,13 +63,13 @@ EOF
chmod 0750 "$target"
done
# configure is a Python entrypoint rather than a shell asset.
cat > /usr/local/sbin/dobotai-dingtalk-configure <<EOF
cat > "$bin_dir/dobotai-dingtalk-configure" <<EOF
#!/usr/bin/env bash
set -euo pipefail
export DOBOTAI_HOME='$home'
exec python3 '$container_dir/configure_env.py' --env-file '$app_env' --schema-script '$container_dir/rds-schema-init.sh' --start-script '/usr/local/sbin/dobotai-dingtalk-start'
exec python3 '$container_dir/configure_env.py' --env-file '$app_env' --schema-script '$container_dir/rds-schema-init.sh' --start-script '$bin_dir/dobotai-dingtalk-start'
EOF
chmod 0750 /usr/local/sbin/dobotai-dingtalk-configure
chmod 0750 "$bin_dir/dobotai-dingtalk-configure"
echo "应用容器资产已安装;尚未连接或修改阿里云RDS。"
echo "下一步执行:sudo dobotai-dingtalk-configure"