2026-01-24 22:36:29 +08:00
|
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
set -euo pipefail
|
|
|
|
|
|
|
|
|
|
|
|
source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/_common.sh"
|
|
|
|
|
|
|
2026-01-25 09:04:08 +08:00
|
|
|
|
SUPERADMIN_EMAIL="admin@svc.plus"
|
|
|
|
|
|
SUPERADMIN_USERNAME="${SUPERADMIN_USERNAME:-Admin}"
|
|
|
|
|
|
|
|
|
|
|
|
if [ -z "${SUPERADMIN_PASSWORD:-}" ] || [ "${SUPERADMIN_PASSWORD}" = "ChangeMe" ]; then
|
|
|
|
|
|
if command -v openssl >/dev/null; then
|
|
|
|
|
|
SUPERADMIN_PASSWORD="$(openssl rand -base64 12 | tr -d '\n' | tr '/+' 'Aa' | cut -c1-10)"
|
|
|
|
|
|
else
|
|
|
|
|
|
SUPERADMIN_PASSWORD="$(LC_ALL=C tr -dc 'A-Za-z0-9' </dev/urandom | head -c 10)"
|
|
|
|
|
|
fi
|
|
|
|
|
|
echo "⚠️ 未指定 SUPERADMIN_PASSWORD,已生成随机初始密码: ${SUPERADMIN_PASSWORD}"
|
2026-01-24 22:36:29 +08:00
|
|
|
|
fi
|
|
|
|
|
|
|
2026-01-24 22:57:37 +08:00
|
|
|
|
if psql "${DB_URL}" -Atc "SELECT 1 FROM users WHERE username='${SUPERADMIN_USERNAME}' OR email='${SUPERADMIN_EMAIL}' LIMIT 1" | grep -qx '1'; then
|
2026-01-25 09:04:08 +08:00
|
|
|
|
if [ -z "${SUPERADMIN_CURRENT_PASSWORD:-}" ]; then
|
|
|
|
|
|
echo "⚠️ 超级管理员已存在,未提供 SUPERADMIN_CURRENT_PASSWORD,跳过更新"
|
|
|
|
|
|
exit 0
|
|
|
|
|
|
fi
|
|
|
|
|
|
go run ./cmd/createadmin/main.go \
|
|
|
|
|
|
--driver postgres \
|
|
|
|
|
|
--dsn "${DB_URL}" \
|
|
|
|
|
|
--username "${SUPERADMIN_USERNAME}" \
|
|
|
|
|
|
--password "${SUPERADMIN_PASSWORD}" \
|
|
|
|
|
|
--email "${SUPERADMIN_EMAIL}" \
|
|
|
|
|
|
--current-password "${SUPERADMIN_CURRENT_PASSWORD}"
|
|
|
|
|
|
echo "✅ 登录信息(仅本次输出)"
|
|
|
|
|
|
echo " 网址:https://console.svc.plus/login"
|
|
|
|
|
|
echo " 邮箱:admin@svc.plus"
|
|
|
|
|
|
echo " 密码:${SUPERADMIN_PASSWORD}"
|
2026-01-24 22:57:37 +08:00
|
|
|
|
exit 0
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
2026-01-24 22:36:29 +08:00
|
|
|
|
go run ./cmd/createadmin/main.go \
|
|
|
|
|
|
--driver postgres \
|
|
|
|
|
|
--dsn "${DB_URL}" \
|
|
|
|
|
|
--username "${SUPERADMIN_USERNAME}" \
|
|
|
|
|
|
--password "${SUPERADMIN_PASSWORD}" \
|
|
|
|
|
|
--email "${SUPERADMIN_EMAIL}"
|
2026-01-25 09:04:08 +08:00
|
|
|
|
|
|
|
|
|
|
echo "✅ 登录信息(仅本次输出)"
|
|
|
|
|
|
echo " 网址:https://console.svc.plus/login"
|
|
|
|
|
|
echo " 邮箱:admin@svc.plus"
|
|
|
|
|
|
echo " 密码:${SUPERADMIN_PASSWORD}"
|