Skip to content

Configuration ​

open-dpp is configured through environment variables. Some settings can also be changed in the admin UI, but environment variables always take precedence.

Common ​

VariableTypeRequiredDefaultDescription
OPEN_DPP_PORTnumberNo3000HTTP port for the main service.
OPEN_DPP_URLURLYes–Public base URL of open-dpp (https://your-open-dpp.example).
OPEN_DPP_LOG_FORMATjson | plainNoplainLog output format.
OPEN_DPP_LOG_LEVELfatal | error | warn | log | debug | verboseNodebugMost verbose level that is printed. Requests are logged at debug, successfully served frontend assets (JS, CSS, images, …) at verbose, and failed requests at warn (4xx) or error (5xx).
OPEN_DPP_TRUST_PROXYtrue | false | number | stringNofalseExpress trust proxy setting. Set it when running behind a reverse proxy so the real client IP is logged and used for rate limiting: a hop count (1), or a comma-separated list of trusted proxy IP addresses, CIDR ranges and the presets loopback, linklocal and uniquelocal (loopback, 10.0.0.0/8). Netmask notation (10.0.0.0/255.0.0.0) and hostnames are not accepted, and invalid values stop open-dpp at startup. true trusts any X-Forwarded-For, so only use it if open-dpp is not reachable directly.
OPEN_DPP_INSTANCE_BRANDINGstringNo–Optional instance branding image location.
OPEN_DPP_USAGE_MANAGEMENT_URLURLNo–http(s) URL where users manage their usage. When set, a button to it appears on the usage page. {organizationId} in the URL is replaced with the current organization's ID (e.g. https://billing.example.com/organizations/{organizationId}).

Database ​

VariableTypeRequiredDefaultDescription
OPEN_DPP_MONGODB_URIstringConditional–Full MongoDB connection URI.
OPEN_DPP_MONGODB_HOSTstringConditional–MongoDB host (when not using URI).
OPEN_DPP_MONGODB_PORTnumberConditional–MongoDB port (when not using URI).
OPEN_DPP_MONGODB_USERstringConditional–MongoDB username.
OPEN_DPP_MONGODB_PASSWORDstringConditional–MongoDB password.
OPEN_DPP_MONGODB_DATABASEstringConditionalmanagementMongoDB database name.

OPEN_DPP_MONGODB_URI or OPEN_DPP_MONGODB_HOST, OPEN_DPP_MONGODB_PORT, OPEN_DPP_MONGODB_PASSWORD and OPEN_DPP_MONGODB_USER must be provided.

AI Integration ​

VariableTypeRequiredDefaultDescription
OPEN_DPP_MISTRAL_API_KEYstringYes–API key for Mistral integration.

MISTRAL_DEBUG and LANGCHAIN_VERBOSE must not be set. They make the Mistral SDK and LangChain print every chat message and reply to the logs, so open-dpp refuses to start while either has a value. The Mistral SDK treats any non-empty value as on, even false.

S3 storage ​

VariableTypeRequiredDefaultDescription
OPEN_DPP_S3_ENDPOINTstringYes–S3 endpoint hostname/address.
OPEN_DPP_S3_PORTnumberYes–S3 endpoint port.
OPEN_DPP_S3_SSLboolean (string-parsed)Yes–Enable SSL for S3 connection ("true" => true).
OPEN_DPP_S3_ACCESS_KEYstringYes–S3 access key.
OPEN_DPP_S3_SECRET_KEYstringYes–S3 secret key.
OPEN_DPP_S3_DEFAULT_BUCKETstringNoopen-dppDefault bucket name.
OPEN_DPP_S3_PROFILE_PICTURE_BUCKETstringNoopen-dpp-profile-picturesProfile picture bucket name.

ClamAV ​

VariableTypeRequiredDefaultDescription
OPEN_DPP_CLAMAV_URLURL (http)No–clamav-rest endpoint incl. port, e.g. http://clamav-rest:9000. Unset or empty disables virus scanning: uploads are accepted unscanned and a warning is logged at startup. See the Production setup guide.

Mail ​

VariableTypeRequiredDefaultDescription
OPEN_DPP_MAIL_HOSTstringYes–SMTP host.
OPEN_DPP_MAIL_PORTnumberYes–SMTP port.
OPEN_DPP_MAIL_USERstringYes–SMTP username.
OPEN_DPP_MAIL_PASSWORDstringYes–SMTP password.
OPEN_DPP_MAIL_SENDER_ADDRESSstringYes–Sender address used in outgoing emails.

Authentication ​

VariableTypeRequiredDefaultDescription
OPEN_DPP_AUTH_SECRETstringYes–Authentication secret.
OPEN_DPP_AUTH_ADMIN_USERNAMEstringConditional–Optional admin bootstrap username.
OPEN_DPP_AUTH_ADMIN_PASSWORDstringConditional–Optional admin bootstrap password.

OPEN_DPP_AUTH_ADMIN_USERNAME and OPEN_DPP_AUTH_ADMIN_PASSWORD must be provided together (both set or both omitted).

OAuth Provider ​

VariableTypeRequiredDefaultDescription
OPEN_DPP_OAUTH_PROVIDER_ENABLEDstrict boolean (string)NofalseLets open-dpp act as OpenID Connect provider for one operator-configured Trusted Client; value must be "true" or "false". Unset or "false" = open-dpp is nobody's identity provider. See the Production setup guide.
OPEN_DPP_OAUTH_PROVIDER_CLIENT_IDstringConditional–The Trusted Client's client_id.
OPEN_DPP_OAUTH_PROVIDER_CLIENT_SECRETstringConditional–The Trusted Client's client_secret; stored as a salted scrypt hash (as User passwords are), re-applied on every startup.
OPEN_DPP_OAUTH_PROVIDER_REDIRECT_URISstring (comma-separated)Conditional–The Trusted Client's callback URLs: absolute https URLs without a fragment (http only on loopback hosts).
OPEN_DPP_OAUTH_PROVIDER_CLIENT_NAMEstringNo–Display name of the Trusted Client; defaults to the client id.

OPEN_DPP_OAUTH_PROVIDER_CLIENT_ID, OPEN_DPP_OAUTH_PROVIDER_CLIENT_SECRET and OPEN_DPP_OAUTH_PROVIDER_REDIRECT_URIS are required while OPEN_DPP_OAUTH_PROVIDER_ENABLED is "true" and ignored otherwise, and OPEN_DPP_URL must then be an https origin (http only on loopback hosts) because the issuer derives from it. An empty value counts as unset. The Trusted Client is written from these variables on every startup, so changes need a restart; token lifetimes are fixed (access token 15 minutes, refresh token 7 days sliding). The contract the Trusted Client follows is in Integrating a Trusted Client.

Instance settings ​

VariableTypeRequiredDefaultDescription
OPEN_DPP_INSTANCE_SIGNUP_ENABLEDstrict boolean (string)NotrueAllows/disables signup; value must be "true" or "false".
OPEN_DPP_INSTANCE_ORGANIZATION_CREATION_ENABLEDstrict boolean (string)NotrueAllows/disables creation of organizations for users which are not admins; value must be "true" or "false".

Official templates ​

VariableTypeRequiredDefaultDescription
OPEN_DPP_OFFICIAL_TEMPLATES_REPOstringNogithub:open-dpp/passport-templatesSource repository for official templates, in the form <provider>:<owner>/<repo> or <provider>:<owner>/<repo>@<branch>. The branch defaults to the repository's default branch when omitted. Only github is currently supported.

Official templates are imported into an organization automatically when it's created, and can be re-imported at any time via "Import official templates" on the templates page — for example after adding a template to the repo, or if the initial import at organization-creation time failed (e.g. the repository was briefly unreachable).

Default caps ​

VariableTypeRequiredDefaultDescription
OPEN_DPP_DEFAULT_MODEL_CREATE_CAPnumber (>= 0)No0Default model creation cap per organization.
OPEN_DPP_DEFAULT_AI_TOKEN_QUOTAnumber (>= 0)No0Default AI token quota per organization.
OPEN_DPP_DEFAULT_MEDIA_STORAGE_CAPnumber (>= 0)No0Default media storage cap per organization.
OPEN_DPP_DEFAULT_ORGANIZATION_MEMBER_CAPnumber (>= 0)No0Default member cap per organization.

A value of 0 means unlimited.