Add app credentials, account-scoped idempotency and per-app terminal notifications. Consolidate the unreleased migration baseline, preserve rule descriptions as AI context, and regenerate provider contracts with regression coverage.
43 lines
2.6 KiB
Plaintext
43 lines
2.6 KiB
Plaintext
# Example values for local development only. Do not use these credentials in staging/production.
|
|
# .env is ignored by Git. .env.test is local-only and must point to ai_platform_test.
|
|
# Compose interpolates this file; only explicitly listed environment entries reach containers.
|
|
|
|
# Docker Compose PostgreSQL (local only)
|
|
POSTGRES_USER=ai_platform
|
|
POSTGRES_PASSWORD=local-change-this-password
|
|
POSTGRES_DB=ai_platform
|
|
POSTGRES_PORT=55432
|
|
# Shared backend port for native Make commands and the Compose host mapping.
|
|
BACKEND_PORT=8000
|
|
WEB_PORT=3000
|
|
|
|
# Backend: read by ai_platform.infrastructure.config.settings.Settings (AI_PLATFORM_ prefix)
|
|
AI_PLATFORM_ENVIRONMENT=development
|
|
AI_PLATFORM_DATABASE_URL=postgresql+asyncpg://ai_platform:local-change-this-password@127.0.0.1:55432/ai_platform
|
|
# Per-app terminal callback configuration (JSON). New admission is blocked without a mapping.
|
|
# Loopback example below requires backend and Omni running natively on the same host.
|
|
# In Compose, use a reachable HTTPS Omni endpoint; localhost is the backend container itself.
|
|
# Generate a secret with: uv run --no-sync python scripts/generate_secret.py LEAD_SCORING_WEBHOOK_SIGNING_SECRET
|
|
# Store the same value in Omni and signing_secret below; use the app ID that owns your key.
|
|
# AI_PLATFORM_APP_WEBHOOKS='{"omni-local":{"url":"http://localhost:3000/api/v1/internal/lead-scoring/notifications","signing_secret":"replace-with-generated-webhook-secret"}}'
|
|
AI_PLATFORM_ADMIN_COOKIE_SECURE=false
|
|
AI_PLATFORM_SESSION_TTL_SECONDS=28800
|
|
# Lead Scoring AI profile selects AIHub by default. Omni supplies X-Tenant-VKey per AI request.
|
|
# AI_PLATFORM_AIHUB_BASE_URL=http://localhost:8080
|
|
# Alternative for an internal Lead Scoring AI profile: server-only OpenAI-compatible endpoint.
|
|
# Run the backend natively when CLIProxy binds only to 127.0.0.1 on the host.
|
|
# Optional default OpenAI-compatible URL and key for this URL only.
|
|
# Admin Web may save another URL per AI profile; this key is never forwarded to other URLs.
|
|
# AI_PLATFORM_OPENAI_BASE_URL=http://127.0.0.1:8317
|
|
# Optional on local development loopback; configure separately before using a protected URL.
|
|
# AI_PLATFORM_OPENAI_API_KEY=
|
|
# Choose provider, URL and model in Admin Web Cấu hình AI; keys never go in the browser.
|
|
|
|
# Compose web origin only; native SvelteKit dev reads apps/web/.env.
|
|
WEB_ORIGIN=http://localhost:3000
|
|
# Web header label; set test only when the backend uses an isolated test database.
|
|
WEB_ENVIRONMENT=development
|
|
# Optional server-only key for the internal fixture runner; issue a separate test app.
|
|
# LEAD_SCORING_FIXTURE_APP_API_KEY=
|
|
# Do not place app keys, V-Keys, admin sessions or backend URLs in PUBLIC_* variables.
|