Avoid Permission denied on production when running ./restart.sh after pull. Co-authored-by: Cursor <cursoragent@cursor.com>
50 lines
1.4 KiB
Bash
Executable File
50 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
# AI 建站 — Linux 一键启动(Docker Compose)
|
||
# 用法:cd 项目根 && ./start.sh [--rebuild] [--no-pull]
|
||
# 默认从 Gitea 强制对齐最新代码再启动(可用 --no-pull / AIJZ_SKIP_GIT_PULL=1 跳过)
|
||
# 生产一键更新也可用:./restart.sh --pull 或 ./pull-and-restart.sh
|
||
# 行尾:LF
|
||
set -euo pipefail
|
||
ROOT="$(cd "$(dirname "$0")" && pwd)"
|
||
cd "$ROOT"
|
||
# shellcheck disable=SC1091
|
||
. "$ROOT/scripts/lib-aijz-deploy.sh"
|
||
|
||
REBUILD=0
|
||
DO_PULL=1
|
||
for a in "$@"; do
|
||
case "$a" in
|
||
--rebuild|-r) REBUILD=1 ;;
|
||
--no-pull) DO_PULL=0 ;;
|
||
--pull) DO_PULL=1 ;;
|
||
-h|--help)
|
||
echo "用法: $0 [--rebuild] [--no-pull|--pull]"
|
||
echo " 默认拉取并硬对齐: ${AIJZ_GIT_URL:-https://gitea.yuxindazhineng.com/whm/ai_site.git} 分支 ${GIT_BRANCH:-main}"
|
||
echo " 跳过拉取: --no-pull 或 AIJZ_SKIP_GIT_PULL=1"
|
||
echo " 仅更新重启: ./restart.sh --pull"
|
||
exit 0
|
||
;;
|
||
esac
|
||
done
|
||
if [ "${AIJZ_SKIP_GIT_PULL:-0}" = "1" ]; then
|
||
DO_PULL=0
|
||
fi
|
||
|
||
echo "========================================"
|
||
echo " AI 建站 启动"
|
||
echo " 路径: $ROOT"
|
||
echo "========================================"
|
||
|
||
if [ "$DO_PULL" = "1" ]; then
|
||
git_pull_hard
|
||
else
|
||
echo "已跳过代码拉取(--no-pull / AIJZ_SKIP_GIT_PULL)"
|
||
fi
|
||
|
||
ensure_docker
|
||
ensure_env_file
|
||
export_defaults
|
||
stack_up "$REBUILD"
|
||
healthcheck
|
||
print_endpoints
|