VMIS Developer
cbfdd0e734
fix: rename management center containers to {realm}[-test] convention
...
- docker/vmis: container_name vmis-backend → vmis
- docker/vmis-test: container_name vmis-backend-test → vmis-admin-test
- route YAML: vmis_backend_url uses realm dynamically (http://{realm}:10281 )
All containers now follow consistent naming: nc-{realm}, oo-{realm}, {realm}
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-16 00:43:16 +08:00
VMIS Developer
47805b202f
feat: add vmis-backend-test container config and fix test env route
...
- Add docker/vmis-test/ with separate .env (10.1.0.20:5433) and docker-compose
- Route YAML: is_active=False → vmis-backend-test, is_active=True → vmis-backend
- Test and production managers now use independent backend containers
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 23:48:26 +08:00
VMIS Developer
8eb3909ca9
feat(deploy): 正式環境部署設定
...
- frontend/api.js: API URL 自動判斷 (localhost=dev, 其他=相對路徑 /api/v1)
- main.py: 加入 StaticFiles 掛載 admin-portal,CORS 開放
- schedule_tenant: Traefik 路由範本更新
- 管理租戶加入 /api 路由 (priority 200)
- /admin 加入 StripPrefix middleware
- admin 服務改指向 vmis-backend:10281
- docker/vmis: 新增 Dockerfile + docker-compose.yml
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 18:11:31 +08:00
VMIS Developer
62baadb06f
feat(vmis): 租戶自動開通完整流程 + Admin Portal SSO + NC 行事曆訂閱
...
Backend:
- schedule_tenant: NC 新容器自動 pgsql 安裝 (_nc_db_check 全新容器處理)
- schedule_tenant: NC 初始化加入 Redis + APCu memcache 設定 (修正 OIDC invalid_state)
- schedule_tenant: 新租戶 KC realm 自動設定 accessCodeLifespan=600s (修正 authentication_expired)
- schedule_account: NC Mail 帳號自動設定 (nc_mail_result/nc_mail_done_at)
- schedule_account: NC 台灣國定假日行事曆自動訂閱 (CalDAV MKCALENDAR)
- nextcloud_client: 新增 subscribe_calendar() CalDAV 訂閱方法
- settings: 新增系統設定 API (site_title/version/timezone/SSO/Keycloak)
- models/result: 新增 nc_mail_result, nc_mail_done_at 欄位
- alembic: 遷移 002(system_settings) 003(keycloak_admin) 004(nc_mail_result)
Frontend (Admin Portal):
- 新增完整管理後台 (index/tenants/accounts/servers/schedules/logs/settings/system-status)
- api.js: Keycloak JS Adapter SSO 整合 (PKCE/S256, fallback KC JS 來源, 自動 token 更新)
- index.html: Promise.allSettled 取代 Promise.all,防止單一 API 失敗影響整頁
- 所有頁面加入 try/catch + toast 錯誤處理
- 新增品牌 LOGO 與 favicon
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 15:31:37 +08:00