Repository navigation
EN Reference Environment Variables
English · Türkçe · Languages / Diller
Scope: JSON API Forge 0.5.1 · Source review: 17 September 2026 · Language: English
These are server-process environment settings. The table covers only the Settings class; project JSON can reference additional variables such as $env:MY_CUSTOM_NAME. Names are shown uppercase, while the loader is case-insensitive. .env loads from the working/deployment root, with actual process environment taking precedence. Settings type conversion and JSON model types are separate: a textual environment value and a JSON boolean do not use identical parsing paths.
Empty defaults for secret fields do not mean setup is complete. Follow forge init and the authentication guide. The control plane also enforces its own HTTPS/IP/host and permission policies. EDITOR_PASSWORD_MIN_LENGTH is a runtime password rule in addition to request-model transport bounds.
| Environment variable | Type | Required | Default | Schema constraints |
|---|---|---|---|---|
APP_ENV |
string |
No | "development" |
— |
APPS_DIR |
string |
No | "app" |
format="path" |
APPS_AUTO_RELOAD |
boolean |
No | true |
— |
APPS_RELOAD_INTERVAL_SECONDS |
number |
No | 1.0 |
min=0.1; max=60.0
|
APPS_RELOAD_DEBOUNCE_SECONDS |
number |
No | 0.5 |
min=0.1; max=60.0
|
BOOTSTRAP_ADMIN_KEY |
string |
No | "" |
— |
JWT_SECRET |
string |
No | "" |
— |
OPERATOR_TOKEN |
string |
No | "" |
— |
EDITOR_API_ENABLED |
boolean |
No | false |
— |
EDITOR_TOKEN |
string |
No | "" |
— |
EDITOR_SETUP_ENABLED |
boolean |
No | true |
— |
EDITOR_LEGACY_TOKEN_ENABLED |
boolean |
No | false |
— |
EDITOR_REQUIRE_HTTPS |
boolean |
No | true |
— |
EDITOR_ALLOWED_IPS |
string |
No | "127.0.0.1/32,::1/128" |
— |
EDITOR_TRUSTED_PROXY_CIDRS |
string |
No | "" |
— |
EDITOR_TRUSTED_HOSTS |
string |
No | "localhost,127.0.0.1,[::1]" |
— |
EDITOR_READ_ONLY |
boolean |
No | false |
— |
EDITOR_ALLOW_CREATE_PROJECTS |
boolean |
No | false |
— |
EDITOR_ALLOW_HOOKS |
boolean |
No | false |
— |
EDITOR_ALLOW_GRAPHS |
boolean |
No | false |
— |
EDITOR_ALLOWED_PROJECTS |
string |
No | "" |
— |
EDITOR_MAX_DOCUMENT_BYTES |
integer |
No | 2097152 |
min=1024; max=16777216
|
EDITOR_SESSION_TTL_SECONDS |
integer |
No | 43200 |
min=300; max=604800
|
EDITOR_SESSION_IDLE_SECONDS |
integer |
No | 3600 |
min=60; max=86400
|
EDITOR_SESSION_BIND_USER_AGENT |
boolean |
No | true |
— |
EDITOR_PASSWORD_MIN_LENGTH |
integer |
No | 12 |
min=12; max=64
|
EDITOR_LOGIN_MAX_ATTEMPTS |
integer |
No | 5 |
min=3; max=20
|
EDITOR_LOGIN_WINDOW_SECONDS |
integer |
No | 300 |
min=60; max=3600
|
EDITOR_LOGIN_LOCK_SECONDS |
integer |
No | 900 |
min=60; max=86400
|
EDITOR_COLLABORATION_ENABLED |
boolean |
No | true |
— |
EDITOR_CALLS_ENABLED |
boolean |
No | true |
— |
EDITOR_CALL_TICKET_TTL_SECONDS |
integer |
No | 60 |
min=15; max=300
|
EDITOR_CALL_SIGNAL_TTL_SECONDS |
integer |
No | 300 |
min=60; max=3600
|
EDITOR_CALL_ICE_SERVERS_JSON |
string |
No | "[{\"urls\":\"stun:stun.cloudflare.com:3478\"}]" |
— |
EDITOR_DATABASE_BROWSER_ENABLED |
boolean |
No | true |
— |
EDITOR_DATABASE_EXPOSE_UNDECLARED |
boolean |
No | false |
— |
EDITOR_DATABASE_ROW_LIMIT |
integer |
No | 100 |
min=1; max=500
|
EDITOR_MAX_MESSAGE_CHARS |
integer |
No | 8000 |
min=256; max=64000
|
EDITOR_MAX_NOTE_CHARS |
integer |
No | 128000 |
min=1024; max=1000000
|
EDITOR_ATTACHMENT_DIR |
string |
No | "data/editor-attachments" |
format="path" |
EDITOR_MAX_ATTACHMENT_BYTES |
integer |
No | 26214400 |
min=1024; max=262144000
|
INTERNAL_DATABASE_URL |
string |
No | "sqlite+aiosqlite:///./data/internal-v4.db" |
— |
INTERNAL_POOL_PRE_PING |
boolean |
No | true |
— |
INTERNAL_POOL_SIZE |
integer |
No | 10 |
min=1 |
INTERNAL_MAX_OVERFLOW |
integer |
No | 20 |
min=0 |
INTERNAL_POOL_TIMEOUT |
integer |
No | 30 |
min=1 |
INTERNAL_POOL_RECYCLE |
integer |
No | 1800 |
min=-1 |
INTERNAL_SCHEMA_MODE |
string |
No | "create" |
— |
PRIMARY_DATABASE_URL |
string |
No | "sqlite+aiosqlite:///./data/app.db" |
— |
MYSQL_DATABASE_URL |
string | null |
No | null |
— |
REDIS_URL |
string | null |
No | null |
— |
LOG_LEVEL |
string |
No | "INFO" |
— |
This page describes the behavior at the pinned commits below. Recheck these contracts when upgrading.