diff --git a/deploy/server/setup.sh b/deploy/server/setup.sh index e33c443..5231fa2 100755 --- a/deploy/server/setup.sh +++ b/deploy/server/setup.sh @@ -16,7 +16,7 @@ if [ -t 1 ]; then else B=""; D=""; A=""; G=""; Y=""; R=""; N="" fi -STEPS=("檢查" "網址" "帳號" "金鑰" "啟動") +STEPS=("檢查" "網址" "帳號" "啟動") AT=0 header() { @@ -36,7 +36,7 @@ card_open() { printf ' %s╭─%s %s%s%s\n %s│%s\n' "$D" "$N" "$B" "$1" "$N" line() { printf ' %s│%s %s\n' "$D" "$N" "$*"; } note() { printf ' %s│%s %s%s%s\n' "$D" "$N" "$D" "$*" "$N"; } ok() { printf ' %s│%s %s✓%s %s\n' "$D" "$N" "$G" "$N" "$*"; } -warn() { printf ' %s│%s %s!%s %s\n' "$D" "$N" "$Y" "$N" "$*"; } +warn() { WARNED=1; printf ' %s│%s %s!%s %s\n' "$D" "$N" "$Y" "$N" "$*"; } bad() { printf ' %s│%s %s✗ %s%s\n' "$D" "$N" "$R" "$*" "$N"; } card_close() { printf ' %s│%s\n %s╰────────────────────────────────────────────────%s\n' "$D" "$N" "$D" "$N"; [ -n "${1:-}" ] && printf ' %s%s%s\n' "$D" "$1" "$N"; } @@ -110,7 +110,7 @@ die() { card_close; printf '\n'; exit 1; } # ---------- 0. this server ---------- AT=0; header; card_open "檢查這台伺服器" -FAIL=0 +FAIL=0; WARNED=0 if command -v docker >/dev/null; then ok "Docker 已安裝"; else bad "沒有 Docker:curl -fsSL https://get.docker.com | sh"; FAIL=1; fi if docker compose version >/dev/null 2>&1; then ok "docker compose 可以用"; elif [ $FAIL = 0 ]; then bad "沒有 docker compose(Docker 太舊?請更新 Docker)"; FAIL=1; fi if [ $FAIL = 0 ] && ! docker info >/dev/null 2>&1; then bad "沒有權限使用 Docker:sudo usermod -aG docker \$USER,登出再登入"; FAIL=1; fi @@ -123,7 +123,8 @@ mem=$(awk '/MemTotal/ {print int($2/1024/1024+0.5)}' /proc/meminfo 2>/dev/null | disk=$(df -Pk . 2>/dev/null | awk 'NR==2 {print int($4/1024/1024)}') [ "${disk:-0}" -ge 10 ] && ok "硬碟還有 ${disk} GB" || warn "硬碟只剩 ${disk:-?} GB(建議 10 GB 以上)" if [ $FAIL = 1 ] && [ $DRY = 0 ]; then note ""; note "修好上面的問題後再執行一次 ./setup.sh"; die; fi -card_close; pause +# All fine: go on by itself. +if [ $WARNED = 1 ]; then card_close; pause; else card_close; sleep 1; fi # Keep the current settings? if [ -f .env ] && [ -f Caddyfile ]; then @@ -134,7 +135,7 @@ if [ -f .env ] && [ -f Caddyfile ]; then "重新設定|網址、帳號或金鑰要改" if [ "$KEEP" = 0 ]; then DOMAIN=${ANYBOT_RELAY_PUBLIC_URL#https://}; USERNAME=$ANYBOT_USER; INVITE=${ANYBOT_RELAY_INVITE:-}; BRAIN=${ANYBOT_HOST_NAME:-} - AT=4; SKIP=1 + AT=3; SKIP=1 fi fi @@ -177,41 +178,12 @@ if [ "${SKIP:-0}" != 1 ]; then if [ "${#PW1}" -lt 8 ]; then MSG=$(bad "密碼至少 8 個字"); continue; fi if [ "$PW1" != "$PW2" ]; then MSG=$(bad "兩次密碼不一樣"); continue; fi case "$PW1" in *"'"*) MSG=$(bad "密碼裡不能有單引號 '"); continue ;; esac - ask BRAIN "大腦名字" "${BRAIN:-雲端大腦}" - [ -z "$BRAIN" ] && BRAIN="雲端大腦" + BRAIN="雲端大腦" break done - choose OTHERS "別人可以在這台註冊帳號嗎?" \ - "只有我|最安全" \ - "給邀請碼的人可以|家人或同事拿邀請碼註冊,各自有自己的帳號和 Bot" - INVITE="" - [ "$OTHERS" = 1 ] && INVITE=$(LC_ALL=C tr -dc 'a-z0-9'
Bot 需要你允許、或在你不在時做完事,手機會跳通知。
+
+
+
加一台電腦
+
在那台電腦的終端機貼上這一行執行,它就會變成「」的手腳,開機自動執行。不用帳號密碼。
+
······
+ + +
+ +
+