Skip to content

EN Reference Environment Variables

Cavanshirpro edited this page Sep 19, 2026 · 1 revision

Complete process 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" —

Sources and verification

This page describes the behavior at the pinned commits below. Recheck these contracts when upgrading.


English home · All English pages · Version maintenance

Clone this wiki locally