forked from wangziqi/gongxue-base
feat: establish production SaaS foundation
This commit is contained in:
33
.env.example
33
.env.example
@@ -9,12 +9,36 @@ NODE_ENV=development
|
||||
|
||||
# API 服务端口
|
||||
PORT=8787
|
||||
API_HEADERS_TIMEOUT_MS=15000
|
||||
API_REQUEST_TIMEOUT_MS=120000
|
||||
API_KEEP_ALIVE_TIMEOUT_MS=5000
|
||||
API_SHUTDOWN_GRACE_PERIOD_MS=30000
|
||||
API_MAX_REQUESTS_PER_SOCKET=1000
|
||||
|
||||
# Supabase/PostgreSQL 重构 API
|
||||
DATABASE_URL=postgresql://postgres:postgres@127.0.0.1:54322/postgres
|
||||
# 本地 postgres 可留空;生产 API 必须为 tiku_api,worker 必须为 tiku_worker。
|
||||
DB_EXPECTED_RUNTIME_ROLE=
|
||||
# 不要在 .env 中持久化 SMOKE_SEED_CONFIRM;破坏性测试只通过受控 npm script/CLI 临时确认。
|
||||
# API/worker 各自进程使用。生产建议 API 10-20、worker 4-8,并结合 PgBouncer/连接池总量核算。
|
||||
DB_POOL_MAX=10
|
||||
DB_CONNECTION_TIMEOUT_MS=5000
|
||||
DB_QUERY_TIMEOUT_MS=35000
|
||||
DB_STATEMENT_TIMEOUT_MS=30000
|
||||
DB_LOCK_TIMEOUT_MS=5000
|
||||
DB_IDLE_IN_TRANSACTION_TIMEOUT_MS=30000
|
||||
DB_IDLE_TIMEOUT_MS=30000
|
||||
DB_POOL_MAX_USES=7500
|
||||
DB_POOL_MAX_LIFETIME_SECONDS=1800
|
||||
DB_APPLICATION_NAME=tiku-local
|
||||
DEFAULT_TENANT_SLUG=master
|
||||
# 生产必须只写真实 HTTPS 域名,不能包含 *
|
||||
# 生产只列中央平台/运维的固定 HTTPS Origin,不能包含 *。
|
||||
# 各租户 H5 Origin 从 active tenant_domains + active tenants 动态准入,不要把数百个租户域名展开到此列表。
|
||||
CORS_ORIGIN=http://127.0.0.1:5173,http://localhost:5173
|
||||
CORS_TENANT_DOMAINS_ENABLED=false
|
||||
CORS_TENANT_DOMAIN_CACHE_TTL_MS=60000
|
||||
CORS_TENANT_DOMAIN_NEGATIVE_CACHE_TTL_MS=10000
|
||||
CORS_TENANT_DOMAIN_CACHE_MAX_ENTRIES=10000
|
||||
MAX_JSON_BODY_BYTES=1048576
|
||||
MAX_IMPORT_JSON_BODY_BYTES=10485760
|
||||
|
||||
@@ -32,6 +56,11 @@ AUTH_JWT_SECRET=development-jwt-secret-change-me
|
||||
AUTH_JWT_JWKS_URL=
|
||||
AUTH_CODE_TTL_SECONDS=300
|
||||
AUTH_SMS_COOLDOWN_SECONDS=60
|
||||
AUTH_SMS_TENANT_DAILY_LIMIT=20000
|
||||
AUTH_SMS_PHONE_DAILY_LIMIT=10
|
||||
# 校园/运营商 NAT 会共享 IP,IP 配额应宽于手机号/设备配额。
|
||||
AUTH_SMS_IP_HOURLY_LIMIT=120
|
||||
AUTH_SMS_DEVICE_HOURLY_LIMIT=10
|
||||
AUTH_SESSION_TTL_SECONDS=604800
|
||||
|
||||
# 远程 Auth/JWKS 验收脚本配置。只在预生产/生产验收命令行临时设置真实 access token,
|
||||
@@ -113,6 +142,8 @@ WORKER_ASSET_SECURITY_SCAN_FAIL_OPEN=false
|
||||
# Worker 配置:大批量内容导入
|
||||
WORKER_IMPORT_BATCH_SIZE=5
|
||||
WORKER_IMPORT_ID=imports-1
|
||||
WORKER_IMPORT_LEASE_SECONDS=120
|
||||
WORKER_IMPORT_HEARTBEAT_INTERVAL_MS=30000
|
||||
WORKER_IMPORT_BACKOFF_SECONDS=30,120,600,1800
|
||||
|
||||
# Worker 配置:公共题库自动同步。冲突会保留租户自改题目并等待后台处理。
|
||||
|
||||
Reference in New Issue
Block a user