feat: EwoooC 初始化 — 完整專案推版至 Gitea
Some checks failed
CD Pipeline / deploy (push) Failing after 59s

- 建立 Gitea Actions CD pipeline (.gitea/workflows/cd.yaml)
- 部署模式: rsync Python 檔案至 188 → docker restart (volume mount)
- Dockerfile/requirements 變動時自動重建 Docker image
- 部署通知: Telegram (開始/成功/失敗)
- 健康檢查: https://mo.wooo.work/health (最多 5 次重試)
- 同步最新 CLAUDE.md / ADR-008 / memory (2026-04-19)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
ogt
2026-04-19 01:21:13 +08:00
commit 1b4f3a7bbe
504 changed files with 387725 additions and 0 deletions

View File

@@ -0,0 +1,84 @@
#!/usr/bin/env python3
"""
初始化管理員帳號腳本
用於建立系統的第一個管理員帳號。
執行方式python init_admin.py
預設帳號admin
預設密碼Wooo@2026! (符合密碼複雜度要求)
"""
import os
import sys
# 確保專案根目錄在 sys.path
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, BASE_DIR)
from database.manager import DatabaseManager, get_session
from services.user_service import create_initial_admin
from database.user_models import User
def main():
print("=" * 60)
print(" WOOO TECH - 初始化管理員帳號")
print("=" * 60)
print()
# 初始化資料庫(確保資料表已建立)
print("1. 初始化資料庫...")
try:
db_manager = DatabaseManager()
print(" 資料庫連線成功")
except Exception as e:
print(f" 資料庫連線失敗: {e}")
sys.exit(1)
# 取得資料庫 session
db_session = get_session()
try:
# 檢查是否已有管理員
print()
print("2. 檢查現有管理員...")
existing_admin = db_session.query(User).filter(User.role == User.ROLE_ADMIN).first()
if existing_admin:
print(f" 已存在管理員帳號: {existing_admin.username}")
print()
print(" 如需重設密碼,請使用用戶管理介面或直接修改資料庫。")
print()
return
# 建立管理員
print()
print("3. 建立管理員帳號...")
success, message = create_initial_admin(db_session)
if success:
print(f" {message}")
print()
print("=" * 60)
print(" 管理員帳號建立成功!")
print("=" * 60)
print()
print(" 帳號: admin")
print(" 密碼: Wooo@2026!")
print()
print(" 請登入後立即修改密碼!")
print("=" * 60)
else:
print(f" {message}")
except Exception as e:
print(f" 發生錯誤: {e}")
import traceback
traceback.print_exc()
finally:
db_session.close()
if __name__ == '__main__':
main()