6.8 KiB
		
	
	
	
	
	
		
			Vendored
		
	
	
	
			
		
		
	
	Configuration (config.ini or environment variables)
Trilium supports configuration via a file named config.ini and environment variables. This document provides a comprehensive reference for all configuration options.
Configuration Precedence
Configuration values are loaded in the following order of precedence (highest to lowest):
- Environment variables (checked first)
 - config.ini file values
 - Default values
 
Environment Variable Patterns
Trilium supports multiple environment variable patterns for flexibility. The primary pattern is: TRILIUM_[SECTION]_[KEY]
Where:
SECTIONis the INI section name in UPPERCASEKEYis the camelCase configuration key converted to UPPERCASE (e.g.,instanceName→INSTANCENAME)
Additionally, shorter aliases are available for common configurations (see Alternative Variables section below).
Environment Variable Reference
General Section
| Environment Variable | Type | Default | Description | 
|---|---|---|---|
TRILIUM_GENERAL_INSTANCENAME | 
string | "" | Instance name for API identification | 
TRILIUM_GENERAL_NOAUTHENTICATION | 
boolean | false | Disable authentication (server only) | 
TRILIUM_GENERAL_NOBACKUP | 
boolean | false | Disable automatic backups | 
TRILIUM_GENERAL_NODESKTOPICON | 
boolean | false | Disable desktop icon creation | 
TRILIUM_GENERAL_READONLY | 
boolean | false | Enable read-only mode | 
Network Section
| Environment Variable | Type | Default | Description | 
|---|---|---|---|
TRILIUM_NETWORK_HOST | 
string | "0.0.0.0" | Server host binding | 
TRILIUM_NETWORK_PORT | 
string | "3000" | Server port | 
TRILIUM_NETWORK_HTTPS | 
boolean | false | Enable HTTPS | 
TRILIUM_NETWORK_CERTPATH | 
string | "" | SSL certificate path | 
TRILIUM_NETWORK_KEYPATH | 
string | "" | SSL key path | 
TRILIUM_NETWORK_TRUSTEDREVERSEPROXY | 
boolean/string | false | Reverse proxy trust settings | 
TRILIUM_NETWORK_CORSALLOWORIGIN | 
string | "" | CORS allowed origins | 
TRILIUM_NETWORK_CORSALLOWMETHODS | 
string | "" | CORS allowed methods | 
TRILIUM_NETWORK_CORSALLOWHEADERS | 
string | "" | CORS allowed headers | 
Session Section
| Environment Variable | Type | Default | Description | 
|---|---|---|---|
TRILIUM_SESSION_COOKIEMAXAGE | 
integer | 1814400 | Session cookie max age in seconds (21 days) | 
Sync Section
| Environment Variable | Type | Default | Description | 
|---|---|---|---|
TRILIUM_SYNC_SYNCSERVERHOST | 
string | "" | Sync server host URL | 
TRILIUM_SYNC_SYNCSERVERTIMEOUT | 
string | "120000" | Sync server timeout in milliseconds | 
TRILIUM_SYNC_SYNCPROXY | 
string | "" | Sync proxy URL | 
MultiFactorAuthentication Section
| Environment Variable | Type | Default | Description | 
|---|---|---|---|
TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHBASEURL | 
string | "" | OAuth/OpenID base URL | 
TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHCLIENTID | 
string | "" | OAuth client ID | 
TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHCLIENTSECRET | 
string | "" | OAuth client secret | 
TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERBASEURL | 
string | "https://accounts.google.com" | OAuth issuer base URL | 
TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERNAME | 
string | "Google" | OAuth issuer display name | 
TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERICON | 
string | "" | OAuth issuer icon URL | 
Logging Section
| Environment Variable | Type | Default | Description | 
|---|---|---|---|
TRILIUM_LOGGING_RETENTIONDAYS | 
integer | 90 | Number of days to retain log files | 
Alternative Environment Variables
The following alternative environment variable names are also supported and work identically to their longer counterparts:
Network CORS Variables
TRILIUM_NETWORK_CORS_ALLOW_ORIGIN(alternative toTRILIUM_NETWORK_CORSALLOWORIGIN)TRILIUM_NETWORK_CORS_ALLOW_METHODS(alternative toTRILIUM_NETWORK_CORSALLOWMETHODS)TRILIUM_NETWORK_CORS_ALLOW_HEADERS(alternative toTRILIUM_NETWORK_CORSALLOWHEADERS)
Sync Variables
TRILIUM_SYNC_SERVER_HOST(alternative toTRILIUM_SYNC_SYNCSERVERHOST)TRILIUM_SYNC_SERVER_TIMEOUT(alternative toTRILIUM_SYNC_SYNCSERVERTIMEOUT)TRILIUM_SYNC_SERVER_PROXY(alternative toTRILIUM_SYNC_SYNCPROXY)
OAuth/MFA Variables
TRILIUM_OAUTH_BASE_URL(alternative toTRILIUM_MULTIFACTORAUTHENTICATION_OAUTHBASEURL)TRILIUM_OAUTH_CLIENT_ID(alternative toTRILIUM_MULTIFACTORAUTHENTICATION_OAUTHCLIENTID)TRILIUM_OAUTH_CLIENT_SECRET(alternative toTRILIUM_MULTIFACTORAUTHENTICATION_OAUTHCLIENTSECRET)TRILIUM_OAUTH_ISSUER_BASE_URL(alternative toTRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERBASEURL)TRILIUM_OAUTH_ISSUER_NAME(alternative toTRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERNAME)TRILIUM_OAUTH_ISSUER_ICON(alternative toTRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERICON)
Logging Variables
TRILIUM_LOGGING_RETENTION_DAYS(alternative toTRILIUM_LOGGING_RETENTIONDAYS)
Boolean Values
Boolean environment variables accept the following values:
- True: 
"true","1",1 - False: 
"false","0",0 - Any other value defaults to 
false 
Using Environment Variables
Both naming patterns are fully supported and can be used interchangeably:
- The longer format follows the section/key pattern for consistency with the INI file structure
 - The shorter alternatives provide convenience for common configurations
 - You can use whichever format you prefer - both are equally valid
 
Examples
Docker Compose Example
services:
  trilium:
    image: triliumnext/notes
    environment:
      # Using full format
      TRILIUM_GENERAL_INSTANCENAME: "My Trilium Instance"
      TRILIUM_NETWORK_PORT: "8080"
      TRILIUM_NETWORK_CORSALLOWORIGIN: "https://myapp.com"
      TRILIUM_SYNC_SYNCSERVERHOST: "https://sync.example.com"
      TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHBASEURL: "https://auth.example.com"
      
      # Or using shorter alternatives (equally valid)
      # TRILIUM_NETWORK_CORS_ALLOW_ORIGIN: "https://myapp.com"
      # TRILIUM_SYNC_SERVER_HOST: "https://sync.example.com"
      # TRILIUM_OAUTH_BASE_URL: "https://auth.example.com"
Shell Export Example
# Using either format
export TRILIUM_GENERAL_NOAUTHENTICATION=false
export TRILIUM_NETWORK_HTTPS=true
export TRILIUM_NETWORK_CERTPATH=/path/to/cert.pem
export TRILIUM_NETWORK_KEYPATH=/path/to/key.pem
export TRILIUM_LOGGING_RETENTIONDAYS=30
# Start Trilium
npm start
config.ini Reference
For the complete list of configuration options and their INI file format, please review the config-sample.ini file in the Trilium repository