fix: run init_db with panel venv python

Use venv interpreter so werkzeug is available; sync admin user from .env on init.
Set default panel username to dekun.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-06-16 09:14:12 +08:00
parent bccf6cfdce
commit 042ae5a422
4 changed files with 10 additions and 10 deletions
+2 -1
View File
@@ -6,7 +6,8 @@ DOMAIN=66.hyf2.cc
ACME_EMAIL=admin@hyf2.cc ACME_EMAIL=admin@hyf2.cc
REALITY_SERVER_NAME=www.microsoft.com REALITY_SERVER_NAME=www.microsoft.com
PANEL_USERNAME=admin PANEL_USERNAME=dekun
PANEL_PASSWORD=Woaini521@
REALITY_PRIVATE_KEY=IPKtaw1aVb4fS0TPcimu8zwaVGml-JJ5H1rj-_TFQHM REALITY_PRIVATE_KEY=IPKtaw1aVb4fS0TPcimu8zwaVGml-JJ5H1rj-_TFQHM
REALITY_PUBLIC_KEY=51H_ikqYdDRgCpjq3pvMYNbqrX8S3zuow1UEjqTN-nI REALITY_PUBLIC_KEY=51H_ikqYdDRgCpjq3pvMYNbqrX8S3zuow1UEjqTN-nI
+1 -1
View File
@@ -14,7 +14,7 @@ ACME_EMAIL=admin@hyf2.cc
REALITY_SERVER_NAME=www.microsoft.com REALITY_SERVER_NAME=www.microsoft.com
# 管理面板登录(安装完成后访问 https://域名:8444 # 管理面板登录(安装完成后访问 https://域名:8444
PANEL_USERNAME=admin PANEL_USERNAME=dekun
# 以下由 scripts/generate-keys.sh 自动生成 # 以下由 scripts/generate-keys.sh 自动生成
# REALITY_PRIVATE_KEY= # REALITY_PRIVATE_KEY=
+6 -7
View File
@@ -44,14 +44,13 @@ def init_db(env: dict[str, str]) -> None:
username = env.get("PANEL_USERNAME", "admin") username = env.get("PANEL_USERNAME", "admin")
password = env.get("PANEL_PASSWORD") password = env.get("PANEL_PASSWORD")
if not password: if not password:
raise SystemExit("请在 .env 中设置 PANEL_PASSWORD(运行 generate-keys.sh 可自动生成)") raise SystemExit("请在 .env 中设置 PANEL_PASSWORD")
row = conn.execute("SELECT id FROM admin WHERE username = ?", (username,)).fetchone() conn.execute("DELETE FROM admin")
if row is None: conn.execute(
conn.execute( "INSERT INTO admin (username, password_hash) VALUES (?, ?)",
"INSERT INTO admin (username, password_hash) VALUES (?, ?)", (username, generate_password_hash(password)),
(username, generate_password_hash(password)), )
)
count = conn.execute("SELECT COUNT(*) AS c FROM nodes").fetchone()["c"] count = conn.execute("SELECT COUNT(*) AS c FROM nodes").fetchone()["c"]
if count == 0: if count == 0:
+1 -1
View File
@@ -143,7 +143,7 @@ python3 -m venv "$ROOT_DIR/panel/venv"
"$ROOT_DIR/panel/venv/bin/pip" install -q -r "$ROOT_DIR/panel/requirements.txt" "$ROOT_DIR/panel/venv/bin/pip" install -q -r "$ROOT_DIR/panel/requirements.txt"
log "初始化节点数据库 ..." log "初始化节点数据库 ..."
python3 "$ROOT_DIR/panel/init_db.py" "$ROOT_DIR/panel/venv/bin/python" "$ROOT_DIR/panel/init_db.py"
log "生成 sing-box 服务端配置 ..." log "生成 sing-box 服务端配置 ..."
python3 "$ROOT_DIR/scripts/render-server.py" python3 "$ROOT_DIR/scripts/render-server.py"