All configuration is through environment variables. No secrets in code. Required variables have no default and will cause startup failure. Optional variables have working defaults.
| Variable | Required | Default | Notes |
|---|
APP_NAME | yes | — | Display name |
APP_ENV | yes | — | local or production |
APP_KEY | yes | — | Generate with php artisan key:generate |
APP_URL | yes | — | http://{HOST_IP}:6081 (ip-test) |
APP_DEBUG | no | false | true in local only |
FRONTEND_URL | yes | — | http://{HOST_IP}:6080 |
TENANT_SLUG | yes | — | ubios — prefixes schema names |
| Variable | Required | Default | Notes |
|---|
DB_CONNECTION | no | pgsql | |
DB_HOST | yes | — | ubios_postgres |
DB_PORT | no | 5432 | |
DB_DATABASE | yes | — | ubios |
DB_USERNAME | yes | — | postgres (ip-test), ubios_app (production) |
DB_PASSWORD | yes | — | |
| Variable | Required | Default | Notes |
|---|
REDIS_CLIENT | no | phpredis | |
REDIS_HOST | yes | — | ubios_redis |
REDIS_PORT | no | 6379 | |
CACHE_STORE | no | redis | |
SESSION_DRIVER | no | redis | |
QUEUE_CONNECTION | no | redis | |
| Variable | Required | Default | Notes |
|---|
AGNO_API_URL | yes | — | http://ubios_agno:8001 |
AGNO_API_KEY | yes | — | Shared secret. dev-key in ip-test |
AGNO_TIMEOUT_SECONDS | no | 60 | Sync agent response timeout |
AGNO_ASYNC_TIMEOUT_SECONDS | no | 300 | Async/scheduled timeout |
| Variable | Required | Default | Notes |
|---|
MAIL_MAILER | no | smtp | ses in production |
MAIL_HOST | no | ubios_mailpit | |
MAIL_PORT | no | 1025 | |
MAIL_FROM_ADDRESS | no | noreply@ubios.dev | |
| Variable | Required | Default | Notes |
|---|
ENCRYPTION_KEY | no | dev_encryption_key_... | Generate unique for production |
BLIND_INDEX_KEY | no | dev_blind_index_key_... | Generate unique for production |
RLS_ENABLED | no | true | Row-level security toggle |
SANCTUM_STATEFUL_DOMAINS | yes | — | {HOST_IP},{HOST_IP}:6080,localhost |
| Variable | Required | Default | Notes |
|---|
MINIO_ENDPOINT | yes | — | http://ubios-minio:9000 |
MINIO_ACCESS_KEY | yes | — | ubios-minio |
MINIO_SECRET_KEY | yes | — | ubios-minio_secret |
MINIO_BUCKET | yes | — | ubios-documents |
MINIO_USE_PATH_STYLE | no | true | Required for MinIO |
| Variable | Default | What it controls |
|---|
FEATURE_PROACTIVE_AGENTS | true | Scheduled agents |
FEATURE_DOCUMENT_EXTRACTION | true | Document extraction pipeline |
FEATURE_METABASE_EMBED | true | BI dashboard embedding |
FEATURE_QUERY_CACHE | true | Redis query caching |
| Variable | Default | Endpoint |
|---|
UBIOS_RATE_LIMIT_CHAT | 50 | Agent queries |
UBIOS_RATE_LIMIT_SUGGEST | 100 | Widget suggestions |
UBIOS_RATE_LIMIT_REPORT | 5 | Report generation |
UBIOS_RATE_LIMIT_UPLOAD | 10 | Document upload |
| Variable | Required | Default | Notes |
|---|
AGNO_API_KEY | yes | — | Must match Laravel's |
TENANT_SLUG | yes | — | Must match Laravel's |
DB_HOST | yes | — | ubios_postgres |
DB_PORT | no | 5432 | |
DB_DATABASE | yes | — | ubios |
DB_READONLY_USERNAME | yes | — | postgres (ip-test), ubios_reader (production) |
DB_READONLY_PASSWORD | yes | — | |
DB_APP_USERNAME | yes | — | postgres (ip-test), ubios_app (production) |
DB_APP_PASSWORD | yes | — | |
REDIS_HOST | yes | — | ubios_redis |
LOG_LEVEL | no | INFO | debug for development |
DOCLING_SERVICE_URL | no | — | http://host.docker.internal:8010 |
PADDLEOCR_SERVICE_URL | no | — | http://host.docker.internal:8015 |
FIRECRAWL_SERVICE_URL | no | — | http://host.docker.internal:8030 |
All optional — at least one needed for AI features:
| Variable | Provider |
|---|
OPENAI_API_KEY | OpenAI |
ANTHROPIC_API_KEY | Anthropic |
OPENROUTER_API_KEY | OpenRouter (100+ models) |
GLM_API_KEY | GLM (Zhipu AI) |
DEEPSEEK_API_KEY | DeepSeek |
GOOGLE_API_KEY | Google Gemini |
MISTRAL_API_KEY | Mistral |
GROQ_API_KEY | Groq |
AZURE_API_KEY | Azure OpenAI |
COHERE_API_KEY | Cohere |
PERPLEXITY_API_KEY | Perplexity |
TOGETHER_API_KEY | Together AI |
FIREWORKS_API_KEY | Fireworks AI |
CUSTOM_LLM_API_KEY | Custom OpenAI-compatible endpoint |
| Variable | Default | Notes |
|---|
EMBEDDING_PROVIDER | openai | openai or local |
EMBEDDING_MODEL | text-embedding-3-small | |
EMBEDDING_DIMENSIONS | 1536 | Must match pgvector columns |
| Variable | Required | Notes |
|---|
SECRET_KEY | yes | Dify's own secret |
DB_HOST | yes | ubios_postgres |
DB_DATABASE | yes | ubios_dify (separate database) |
DB_USERNAME / DB_PASSWORD | yes | Dify's own DB user |
REDIS_HOST | yes | ubios_redis |
REDIS_DB | no | 5 (separate index) |
STORAGE_TYPE | yes | s3 |
S3_ENDPOINT | yes | http://ubios-minio:9000 |
S3_BUCKET_NAME | yes | ubios-dify |
S3_ACCESS_KEY / S3_SECRET_KEY | yes | MinIO credentials |
| Variable | Notes |
|---|
MB_DB_CONNECTION_URI | postgresql://postgres:331331331@ubios_postgres:5432/ubios_metabase |
| Variable | Default | Notes |
|---|
NUXT_PUBLIC_API_BASE | /api | Proxied to Laravel |
NUXT_PUBLIC_API_VERSION | v1 | |
NUXT_PUBLIC_SITE_URL | — | http://{HOST_IP}:6080 |
NUXT_API_PROXY_TARGET | — | http://ubios_api:8000 |
NUXT_SSR_API_BASE | — | http://ubios_api:8000/api |
PORT | 5080 | Internal port |
NODE_ENV | development | |
NUXT_PUBLIC_THEME | fimula-base | Theme package |
NUXT_PUBLIC_THEME_PRESET | teal | Color preset |
NUXT_PUBLIC_DEFAULT_THEME_MODE | light | light or dark |