From ae1895ff4dc03d6d6483e70281b1604d5a792fdd Mon Sep 17 00:00:00 2001 From: OoO Date: Wed, 13 May 2026 13:01:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=88=E4=BD=8F=20compose=20=E7=92=B0?= =?UTF-8?q?=E5=A2=83=E8=AE=8A=E6=95=B8=E6=96=87=E4=BB=B6=E5=A5=91=E7=B4=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.example | 17 +++++++++++++++++ tests/test_phase3f_cleanup_contracts.py | 12 ++++++++++++ 2 files changed, 29 insertions(+) diff --git a/.env.example b/.env.example index 4e19b39..0f04104 100644 --- a/.env.example +++ b/.env.example @@ -47,6 +47,14 @@ EMAIL_RECEIVER=receiver_email@gmail.com PUBLIC_URL=http://your_server_ip:port NGROK_AUTH_TOKEN=your_ngrok_auth_token +# ========================================== +# Image / Release Tag(docker-compose*.yml) +# ========================================== +MOMO_IMAGE=registry.wooo.work/wooo/momo-pro-system +VERSION=stable +FRONTEND_IMAGE=registry.wooo.work/wooo/momo-frontend +FRONTEND_VERSION=stable + # ========================================== # 市場情報模組設定(預設全部關閉) # ========================================== @@ -344,6 +352,10 @@ MCP_POSTGRES_URL=http://127.0.0.1:3001 MCP_FIRECRAWL_URL=http://127.0.0.1:3002 MCP_OMNISEARCH_URL=http://127.0.0.1:3003 MCP_FILESYSTEM_URL=http://127.0.0.1:3004 +MCP_POSTGRES_PASSWORD=your_mcp_readonly_password_here +TAVILY_API_KEY= +EXA_API_KEY= +FIRECRAWL_AUTH_KEY=momo-internal-only MCP_TIMEOUT_SEC=30 MCP_CACHE_TTL_SEC=3600 MCP_MAX_RESULT_BYTES=65536 @@ -374,6 +386,11 @@ PG_SYNC_INTERVAL=300 # [選填] 外部 BI 連結(模板全域變數) METABASE_URL=https://mo.wooo.work/metabase GRIST_URL=https://grist.wooo.work +MB_SITE_URL=https://mo.wooo.work/metabase +GRIST_ADMIN_EMAIL=admin@wooo.work +GRAFANA_PASSWORD=change-me +PGADMIN_EMAIL=admin@wooo.work +PGADMIN_PASSWORD=change-me # ────────────────────────────────────────────────────────────────────────── # n8n Workflow Automation(monitoring profile) diff --git a/tests/test_phase3f_cleanup_contracts.py b/tests/test_phase3f_cleanup_contracts.py index 997b836..7fc1290 100644 --- a/tests/test_phase3f_cleanup_contracts.py +++ b/tests/test_phase3f_cleanup_contracts.py @@ -39,6 +39,14 @@ def _runtime_env_keys_from_code() -> set[str]: return keys +def _compose_env_keys() -> set[str]: + pattern = re.compile(r"""\$\{([A-Z][A-Z0-9_]+)(?::-[^}]*)?\}""") + keys = set() + for path in ROOT.glob("docker-compose*.yml"): + keys.update(pattern.findall(path.read_text(encoding="utf-8", errors="ignore"))) + return keys + + def test_phase3f_orphan_ai_services_stay_removed(): orphan_services = [ "services/elephant_alpha_decision_router.py", @@ -151,6 +159,10 @@ def test_env_example_documents_runtime_os_env_keys(): assert _runtime_env_keys_from_code() - internal_runtime_keys <= _env_example_keys() +def test_env_example_documents_docker_compose_variables(): + assert _compose_env_keys() <= _env_example_keys() + + def test_scheduler_does_not_silently_swallow_exceptions(): scheduler_source = (ROOT / "scheduler.py").read_text(encoding="utf-8")