PG_HOST=localhost PG_PORT=5432 PG_DATABASE=omniai PG_USER=omniai PG_PASSWORD=change-me-before-first-start # Server PORT=3600 HOST=0.0.0.0 # JWT Secret (change this!) JWT_SECRET=change-me-to-a-random-string-at-least-32-chars # Default admin password used only for first-time bootstrap DEFAULT_ADMIN_PASSWORD=change-me-before-first-start # Token expiry JWT_EXPIRES_IN=7d # Connection pool PG_POOL_MAX=10 # CORS (comma separated allowed origins, * for all) CORS_ORIGINS=* # Phone verification. Use SMS_PROVIDER=mock for local development. # SMS_PROVIDER=http sends POST { phone, code, purpose } to SMS_HTTP_ENDPOINT. SMS_PROVIDER=mock SMS_HTTP_ENDPOINT= SMS_HTTP_TOKEN= SMS_CODE_SECRET=change-me-to-a-random-string-at-least-32-chars SMS_CODE_TTL_MINUTES=10 SMS_CODE_COOLDOWN_SECONDS=60 SMS_DEV_RETURN_CODE=0 # WeChat Open Platform login WECHAT_LOGIN_APP_ID= WECHAT_LOGIN_APP_SECRET= # Recommended callback: https://your-key-server.example.com/api/auth/wechat/callback WECHAT_LOGIN_REDIRECT_URI= # Alibaba Cloud STS — for issuing temporary OSS credentials to clients # The RAM user (STS_ACCESS_KEY_ID) needs AliyunSTSAssumeRoleAccess permission # The RAM role (OSS_ROLE_ARN) needs OSS read/write permission on the target bucket STS_ACCESS_KEY_ID= STS_ACCESS_KEY_SECRET= OSS_ROLE_ARN=acs:ram::YOUR_ACCOUNT_ID:role/OmniAI-OSS-Upload OSS_BUCKET=your-bucket-name OSS_REGION=oss-cn-hangzhou