From 5237348975e9a1dad2bccaea687c746ced5b4d6f Mon Sep 17 00:00:00 2001
From: Elian Doran Trilium supports configuration via a file named Trilium supports configuration via a file named Configuration values are loaded in the following order of precedence (highest to lowest): Configuration values are loaded in the following order of precedence (highest
+ to lowest): Trilium supports multiple environment variable patterns for flexibility. The primary pattern is: Trilium supports multiple environment variable patterns for flexibility.
+ The primary pattern is: Where: Additionally, shorter aliases are available for common configurations (see Alternative Variables section below). Additionally, shorter aliases are available for common configurations
+ (see Alternative Variables section below). The following alternative environment variable names are also supported and work identically to their longer counterparts: The following alternative environment variable names are also supported
+ and work identically to their longer counterparts: Boolean environment variables accept the following values: Both naming patterns are fully supported and can be used interchangeably: For the complete list of configuration options and their INI file format, please review the config-sample.ini file in the Trilium repository. For the complete list of configuration options and their INI file format,
+ please review the config-sample.ini file
+ in the Trilium repository The Quick search function does a full-text search (that is, it
searches through the content of notes and not just the title of a note)
and displays the result in an easy-to-access manner. The alternative to the quick search is the Search function,
- which opens in a dedicated tab and has support for advanced queries. For even faster navigation, it's possible to use Jump to Note which will only search
+ The alternative to the quick search is the Search function, which opens in
+ a dedicated tab and has support for advanced queries. For even faster navigation, it's possible to use Jump to... which will only search
through the note titles instead of the content. Based on the Vertical and horizontal layout,
+ Based on the Vertical and horizontal layout,
the quick search is placed: Results are loaded progressively as you scroll: Quick search uses progressive search: Quick Search now supports the exact match operator ( To use exact match in Quick Search: When you use the This feature is particularly useful when: For a complete list of configuration environment variables (network settings, authentication, sync, etc.), see Configuration (config.ini or environment variables). For a complete list of configuration environment variables (network settings,
+ authentication, sync, etc.), see Configuration (config.ini or environment variables). If you encounter permission issues with the data volume, ensure that: The default OAuth issuer is Google. To use other services such as Authentik
or Auth0, you can configure the settings via config.ini
and environment variables. This document provides a comprehensive reference for all configuration options.config.ini
and
+ environment variables. This document provides a comprehensive reference
+ for all configuration options.Configuration Precedence
-
-
Environment Variable Patterns
-TRILIUM_[SECTION]_[KEY]
TRILIUM_[SECTION]_[KEY]
+
-SECTION
is the INI section name in UPPERCASEKEY
is the camelCase configuration key converted to UPPERCASE (e.g., instanceName
→ INSTANCENAME
)KEY
is the camelCase configuration key converted to UPPERCASE
+ (e.g., instanceName
→ INSTANCENAME
)Environment Variable Reference
-
General Section
@@ -31,31 +36,36 @@
-
+ TRILIUM_GENERAL_INSTANCENAME
TRILIUM_GENERAL_INSTANCENAME
+ string
""
Instance name for API identification
-
+ TRILIUM_GENERAL_NOAUTHENTICATION
TRILIUM_GENERAL_NOAUTHENTICATION
+ boolean
false
Disable authentication (server only)
-
+ TRILIUM_GENERAL_NOBACKUP
TRILIUM_GENERAL_NOBACKUP
+ boolean
false
Disable automatic backups
-
+ TRILIUM_GENERAL_NODESKTOPICON
TRILIUM_GENERAL_NODESKTOPICON
+ boolean
false
Disable desktop icon creation
-
+ TRILIUM_GENERAL_READONLY
TRILIUM_GENERAL_READONLY
+ boolean
false
Enable read-only mode
@@ -75,55 +85,64 @@
-
+ TRILIUM_NETWORK_HOST
TRILIUM_NETWORK_HOST
+ string
"0.0.0.0"
Server host binding
-
+ TRILIUM_NETWORK_PORT
TRILIUM_NETWORK_PORT
+ string
"3000"
Server port
-
+ TRILIUM_NETWORK_HTTPS
TRILIUM_NETWORK_HTTPS
+ boolean
false
Enable HTTPS
-
+ TRILIUM_NETWORK_CERTPATH
TRILIUM_NETWORK_CERTPATH
+ string
""
SSL certificate path
-
+ TRILIUM_NETWORK_KEYPATH
TRILIUM_NETWORK_KEYPATH
+ string
""
SSL key path
-
+ TRILIUM_NETWORK_TRUSTEDREVERSEPROXY
TRILIUM_NETWORK_TRUSTEDREVERSEPROXY
+ boolean/string
false
Reverse proxy trust settings
-
+ TRILIUM_NETWORK_CORSALLOWORIGIN
TRILIUM_NETWORK_CORSALLOWORIGIN
+ string
""
CORS allowed origins
-
+ TRILIUM_NETWORK_CORSALLOWMETHODS
TRILIUM_NETWORK_CORSALLOWMETHODS
+ string
""
CORS allowed methods
-
+ TRILIUM_NETWORK_CORSALLOWHEADERS
TRILIUM_NETWORK_CORSALLOWHEADERS
+ string
""
CORS allowed headers
@@ -143,7 +162,8 @@
-
+ TRILIUM_SESSION_COOKIEMAXAGE
TRILIUM_SESSION_COOKIEMAXAGE
+ integer
1814400
Session cookie max age in seconds (21 days)
@@ -163,19 +183,22 @@
-
+ TRILIUM_SYNC_SYNCSERVERHOST
TRILIUM_SYNC_SYNCSERVERHOST
+ string
""
Sync server host URL
-
+ TRILIUM_SYNC_SYNCSERVERTIMEOUT
TRILIUM_SYNC_SYNCSERVERTIMEOUT
+ string
"120000"
Sync server timeout in milliseconds
-
+ TRILIUM_SYNC_SYNCPROXY
TRILIUM_SYNC_SYNCPROXY
+ string
""
Sync proxy URL
@@ -195,37 +218,43 @@
-
+ TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHBASEURL
TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHBASEURL
+ string
""
OAuth/OpenID base URL
-
+ TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHCLIENTID
TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHCLIENTID
+ string
""
OAuth client ID
-
+ TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHCLIENTSECRET
TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHCLIENTSECRET
+ string
""
OAuth client secret
-
+ TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERBASEURL
TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERBASEURL
+ string
- "https://accounts.google.com"
+ "https://accounts.google.com"
OAuth issuer base URL
-
+ TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERNAME
TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERNAME
+ string
"Google"
OAuth issuer display name
-
+ TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERICON
TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERICON
+ string
""
OAuth issuer icon URL
@@ -245,7 +274,8 @@
-
+ TRILIUM_LOGGING_RETENTIONDAYS
TRILIUM_LOGGING_RETENTIONDAYS
+ integer
90
Number of days to retain log files
@@ -254,22 +284,20 @@
Alternative Environment Variables
-Network CORS Variables
-
TRILIUM_NETWORK_CORS_ALLOW_ORIGIN
(alternative to TRILIUM_NETWORK_CORSALLOWORIGIN
)TRILIUM_NETWORK_CORS_ALLOW_METHODS
(alternative to TRILIUM_NETWORK_CORSALLOWMETHODS
)TRILIUM_NETWORK_CORS_ALLOW_HEADERS
(alternative to TRILIUM_NETWORK_CORSALLOWHEADERS
)Sync Variables
-
TRILIUM_SYNC_SERVER_HOST
(alternative to TRILIUM_SYNC_SYNCSERVERHOST
)TRILIUM_SYNC_SERVER_TIMEOUT
(alternative to TRILIUM_SYNC_SYNCSERVERTIMEOUT
)TRILIUM_SYNC_SERVER_PROXY
(alternative to TRILIUM_SYNC_SYNCPROXY
)OAuth/MFA Variables
-
TRILIUM_OAUTH_BASE_URL
(alternative to TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHBASEURL
)TRILIUM_OAUTH_ISSUER_NAME
(alternative to TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERNAME
)TRILIUM_OAUTH_ISSUER_ICON
(alternative to TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERICON
)Logging Variables
-
TRILIUM_LOGGING_RETENTION_DAYS
(alternative to TRILIUM_LOGGING_RETENTIONDAYS
)Boolean Values
-
-
"true"
, "1"
, 1
"false"
, "0"
, 0
false
"true"
, "1"
, 1
+ "false"
, "0"
, 0
+ false
+ Using Environment Variables
-
-
Examples
-
-Docker Compose Example
-services:
+
Docker Compose Example
-
-services:
trilium:
image: triliumnext/notes
environment:
@@ -319,9 +345,7 @@
# 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
+
Shell Export Example
-
# Using either format
export TRILIUM_GENERAL_NOAUTHENTICATION=false
export TRILIUM_NETWORK_HTTPS=true
export TRILIUM_NETWORK_CERTPATH=/path/to/cert.pem
@@ -330,6 +354,7 @@ export TRILIUM_LOGGING_RETENTIONDAYS=30
# Start Trilium
npm start
config.ini Reference
-Layout
-
-
@@ -30,37 +31,120 @@
Infinite Scrolling
-
Visual Features
-
Search Behavior
-
Keyboard Navigation
-
Enter
to open the first resultEscape
to close the quick searchEnter
to open the first resultEscape
to close the quick searchUsing Quick Search
-
\ No newline at end of file
+ Quick Search - Exact Match Operator
+=
) at
+ the beginning of your search query. This allows you to search for notes
+ where the title or content exactly matches your search term, rather than
+ just containing it.Usage
+
+
+=
operator=
)Examples
+
+
+=example
- Finds notes with title exactly "example" or content
+ exactly "example"=Project Plan
- Finds notes with title exactly "Project Plan"
+ or content exactly "Project Plan"='hello world'
- Use quotes for multi-word exact matchesComparison with Regular Search
+
+
+
+
+
+
+
+ Query
+ Behavior
+
+
+
+ example
+ Finds all notes containing "example" anywhere in title or content
+
+
+
+
+ =example
+ Finds only notes where the title equals "example" or content equals "example"
+ exactly
+ Technical Details
+=
operator:
+
+Limitations
+
+
+=
operator must be at the very beginning of the search
+ query=
will treat it as a regular search=
operators (like ==example
) are treated
+ as regular text searchUse Cases
+
+
+Related Features
+
+
\ No newline at end of file
diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Using Docker.html b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Using Docker.html
index 79c565cea..a4c7191eb 100644
--- a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Using Docker.html
+++ b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Using Docker.html
@@ -134,7 +134,8 @@ docker run -d --name trilium -p 8080:8080 --user $(id -u):$(id -g) -v ~/trilium-
~=
operator
+ in the full search*=*
, =*
,
+ or *=
in the full searchTRILIUM_DATA_DIR
: Path to the data directory inside the container
(default: /home/node/trilium-data
)Volume Permissions
diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Installation & Setup/Server Installation/Multi-Factor Authentication.html b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Installation & Setup/Server Installation/Multi-Factor Authentication.html
index 93eba27c0..6650d0a4f 100644
--- a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Installation & Setup/Server Installation/Multi-Factor Authentication.html
+++ b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Installation & Setup/Server Installation/Multi-Factor Authentication.html
@@ -51,8 +51,10 @@ class="admonition warning">
-
TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHBASEURL
, TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHCLIENTID
, TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHCLIENTSECRET
TRILIUM_OAUTH_BASE_URL
, TRILIUM_OAUTH_CLIENT_ID
, TRILIUM_OAUTH_CLIENT_SECRET
TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHBASEURL
, TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHCLIENTID
, TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHCLIENTSECRET
+ TRILIUM_OAUTH_BASE_URL
, TRILIUM_OAUTH_CLIENT_ID
, TRILIUM_OAUTH_CLIENT_SECRET
+ oauthBaseUrl
should be the link of your Trilium instance server,
@@ -69,13 +71,15 @@ class="admonition warning">
oauthIssuerBaseUrl
, oauthIssuerName
,
and oauthIssuerIcon
in the config.ini
file. Alternatively,
- these values can be set using environment variables:
-
-
- TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERBASEURL
, TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERNAME
, TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERICON
TRILIUM_OAUTH_ISSUER_BASE_URL
, TRILIUM_OAUTH_ISSUER_NAME
, TRILIUM_OAUTH_ISSUER_ICON
oauthIssuerName
and oauthIssuerIcon
are
- required for displaying correct issuer information at the Login page.
TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERBASEURL
, TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERNAME
, TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERICON
+ TRILIUM_OAUTH_ISSUER_BASE_URL
, TRILIUM_OAUTH_ISSUER_NAME
, TRILIUM_OAUTH_ISSUER_ICON
+ oauthIssuerName
and oauthIssuerIcon
are required
+ for displaying correct issuer information at the Login page.
If you don’t already have a running Authentik instance, please follow diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Installation & Setup/Server Installation/TLS Configuration.html b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Installation & Setup/Server Installation/TLS Configuration.html index 3bd1f0cf2..6eb68f890 100644 --- a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Installation & Setup/Server Installation/TLS Configuration.html +++ b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Installation & Setup/Server Installation/TLS Configuration.html @@ -26,8 +26,8 @@ https=true certPath=/[username]/.acme.sh/[hostname]/fullchain.cer keyPath=/[username]/.acme.sh/[hostname]/example.com.key
You can also review the configuration file
- to provide all config.ini
values as environment variables instead. For example, you can configure TLS using environment variables:
export TRILIUM_NETWORK_HTTPS=true
+ to provide all config.ini
values as environment variables instead.
+ For example, you can configure TLS using environment variables:export TRILIUM_NETWORK_HTTPS=true
export TRILIUM_NETWORK_CERTPATH=/path/to/cert.pem
export TRILIUM_NETWORK_KEYPATH=/path/to/key.pem
The above example shows how this is set up in an environment where the
diff --git a/docs/Developer Guide/!!!meta.json b/docs/Developer Guide/!!!meta.json
index aee04e341..2117cdac6 100644
--- a/docs/Developer Guide/!!!meta.json
+++ b/docs/Developer Guide/!!!meta.json
@@ -1,6 +1,6 @@
{
"formatVersion": 2,
- "appVersion": "0.97.2",
+ "appVersion": "0.98.0",
"files": [
{
"isClone": false,
diff --git a/docs/Release Notes/!!!meta.json b/docs/Release Notes/!!!meta.json
index 472a9bd57..67162cd1c 100644
--- a/docs/Release Notes/!!!meta.json
+++ b/docs/Release Notes/!!!meta.json
@@ -1,6 +1,6 @@
{
"formatVersion": 2,
- "appVersion": "0.97.2",
+ "appVersion": "0.98.0",
"files": [
{
"isClone": false,
diff --git a/docs/Release Notes/Release Notes/v0.98.0.md b/docs/Release Notes/Release Notes/v0.98.0.md
index 30a9e9a11..d4c5eb9aa 100644
--- a/docs/Release Notes/Release Notes/v0.98.0.md
+++ b/docs/Release Notes/Release Notes/v0.98.0.md
@@ -44,12 +44,14 @@
## 🌍 Internationalization
* Improvements to multiple languages:
+
* Chinese (Traditional)
* Spanish
* Some work started on new languages:
Portuguese (Brazil), Japanese, Russian, Serbian, Italian, Greek, Catalan
* Added new languages:
+
* Russian (translations by @questamor)
* Japanese language (translations by [acwr47](https://hosted.weblate.org/user/acwr47/))\[…\]
diff --git a/docs/User Guide/!!!meta.json b/docs/User Guide/!!!meta.json
index c4a1899a3..cb90db5b3 100644
--- a/docs/User Guide/!!!meta.json
+++ b/docs/User Guide/!!!meta.json
@@ -1,6 +1,6 @@
{
"formatVersion": 2,
- "appVersion": "0.97.2",
+ "appVersion": "0.98.0",
"files": [
{
"isClone": false,
diff --git a/docs/User Guide/User Guide/Advanced Usage/Configuration (config.ini or e.md b/docs/User Guide/User Guide/Advanced Usage/Configuration (config.ini or e.md
index 292451913..aca209e0e 100644
--- a/docs/User Guide/User Guide/Advanced Usage/Configuration (config.ini or e.md
+++ b/docs/User Guide/User Guide/Advanced Usage/Configuration (config.ini or e.md
@@ -1,21 +1,22 @@
# 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):
-1. **Environment variables** (checked first)
-2. **config.ini file values**
-3. **Default values**
+
+1. **Environment variables** (checked first)
+2. **config.ini file values**
+3. **Default values**
## Environment Variable Patterns
Trilium supports multiple environment variable patterns for flexibility. The primary pattern is: `TRILIUM_[SECTION]_[KEY]`
Where:
-- `SECTION` is the INI section name in UPPERCASE
-- `KEY` is the camelCase configuration key converted to UPPERCASE (e.g., `instanceName` → `INSTANCENAME`)
+
+* `SECTION` is the INI section name in UPPERCASE
+* `KEY` is the camelCase configuration key converted to UPPERCASE (e.g., `instanceName` → `INSTANCENAME`)
Additionally, shorter aliases are available for common configurations (see Alternative Variables section below).
@@ -24,8 +25,8 @@ Additionally, shorter aliases are available for common configurations (see Alter
### General Section
| Environment Variable | Type | Default | Description |
-|------------------|------|---------|-------------|
-| `TRILIUM_GENERAL_INSTANCENAME` | string | "" | Instance name for API identification |
+| --- | --- | --- | --- |
+| `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 |
@@ -34,91 +35,97 @@ Additionally, shorter aliases are available for common configurations (see Alter
### 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_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 |
+| `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_SYNCSERVERHOST` | string | "" | Sync server host URL |
| `TRILIUM_SYNC_SYNCSERVERTIMEOUT` | string | "120000" | Sync server timeout in milliseconds |
-| `TRILIUM_SYNC_SYNCPROXY` | string | "" | Sync proxy URL |
+| `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_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](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 |
+| `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 |
+| --- | --- | --- | --- |
+| `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 to `TRILIUM_NETWORK_CORSALLOWORIGIN`)
-- `TRILIUM_NETWORK_CORS_ALLOW_METHODS` (alternative to `TRILIUM_NETWORK_CORSALLOWMETHODS`)
-- `TRILIUM_NETWORK_CORS_ALLOW_HEADERS` (alternative to `TRILIUM_NETWORK_CORSALLOWHEADERS`)
+
+* `TRILIUM_NETWORK_CORS_ALLOW_ORIGIN` (alternative to `TRILIUM_NETWORK_CORSALLOWORIGIN`)
+* `TRILIUM_NETWORK_CORS_ALLOW_METHODS` (alternative to `TRILIUM_NETWORK_CORSALLOWMETHODS`)
+* `TRILIUM_NETWORK_CORS_ALLOW_HEADERS` (alternative to `TRILIUM_NETWORK_CORSALLOWHEADERS`)
### Sync Variables
-- `TRILIUM_SYNC_SERVER_HOST` (alternative to `TRILIUM_SYNC_SYNCSERVERHOST`)
-- `TRILIUM_SYNC_SERVER_TIMEOUT` (alternative to `TRILIUM_SYNC_SYNCSERVERTIMEOUT`)
-- `TRILIUM_SYNC_SERVER_PROXY` (alternative to `TRILIUM_SYNC_SYNCPROXY`)
+
+* `TRILIUM_SYNC_SERVER_HOST` (alternative to `TRILIUM_SYNC_SYNCSERVERHOST`)
+* `TRILIUM_SYNC_SERVER_TIMEOUT` (alternative to `TRILIUM_SYNC_SYNCSERVERTIMEOUT`)
+* `TRILIUM_SYNC_SERVER_PROXY` (alternative to `TRILIUM_SYNC_SYNCPROXY`)
### OAuth/MFA Variables
-- `TRILIUM_OAUTH_BASE_URL` (alternative to `TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHBASEURL`)
-- `TRILIUM_OAUTH_CLIENT_ID` (alternative to `TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHCLIENTID`)
-- `TRILIUM_OAUTH_CLIENT_SECRET` (alternative to `TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHCLIENTSECRET`)
-- `TRILIUM_OAUTH_ISSUER_BASE_URL` (alternative to `TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERBASEURL`)
-- `TRILIUM_OAUTH_ISSUER_NAME` (alternative to `TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERNAME`)
-- `TRILIUM_OAUTH_ISSUER_ICON` (alternative to `TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERICON`)
+
+* `TRILIUM_OAUTH_BASE_URL` (alternative to `TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHBASEURL`)
+* `TRILIUM_OAUTH_CLIENT_ID` (alternative to `TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHCLIENTID`)
+* `TRILIUM_OAUTH_CLIENT_SECRET` (alternative to `TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHCLIENTSECRET`)
+* `TRILIUM_OAUTH_ISSUER_BASE_URL` (alternative to `TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERBASEURL`)
+* `TRILIUM_OAUTH_ISSUER_NAME` (alternative to `TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERNAME`)
+* `TRILIUM_OAUTH_ISSUER_ICON` (alternative to `TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERICON`)
### Logging Variables
-- `TRILIUM_LOGGING_RETENTION_DAYS` (alternative to `TRILIUM_LOGGING_RETENTIONDAYS`)
+
+* `TRILIUM_LOGGING_RETENTION_DAYS` (alternative to `TRILIUM_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`
+
+* **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
+* 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
+
```yaml
services:
trilium:
@@ -138,7 +145,8 @@ services:
```
### Shell Export Example
-```bash
+
+```sh
# Using either format
export TRILIUM_GENERAL_NOAUTHENTICATION=false
export TRILIUM_NETWORK_HTTPS=true
diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Quick search - Exact Match.md b/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Quick search - Exact Match.md
deleted file mode 100644
index 186709b07..000000000
--- a/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Quick search - Exact Match.md
+++ /dev/null
@@ -1,53 +0,0 @@
-# Quick Search - Exact Match Operator
-
-## Overview
-
-Quick Search now supports the exact match operator (`=`) at the beginning of your search query. This allows you to search for notes where the title or content exactly matches your search term, rather than just containing it.
-
-## Usage
-
-To use exact match in Quick Search:
-
-1. Start your search query with the `=` operator
-2. Follow it immediately with your search term (no space after `=`)
-
-### Examples
-
-- `=example` - Finds notes with title exactly "example" or content exactly "example"
-- `=Project Plan` - Finds notes with title exactly "Project Plan" or content exactly "Project Plan"
-- `='hello world'` - Use quotes for multi-word exact matches
-
-### Comparison with Regular Search
-
-| Query | Behavior |
-|-------|----------|
-| `example` | Finds all notes containing "example" anywhere in title or content |
-| `=example` | Finds only notes where the title equals "example" or content equals "example" exactly |
-
-## Technical Details
-
-When you use the `=` operator:
-- The search performs an exact match on note titles
-- For note content, it looks for exact matches of the entire content
-- Partial word matches are excluded
-- The search is case-insensitive
-
-## Limitations
-
-- The `=` operator must be at the very beginning of the search query
-- Spaces after `=` will treat it as a regular search
-- Multiple `=` operators (like `==example`) are treated as regular text search
-
-## Use Cases
-
-This feature is particularly useful when:
-- You know the exact title of a note
-- You want to find notes with specific, complete content
-- You need to distinguish between notes with similar but not identical titles
-- You want to avoid false positives from partial matches
-
-## Related Features
-
-- For more complex exact matching queries, use the full [Search](Search.md) functionality
-- For fuzzy matching (finding results despite typos), use the `~=` operator in the full search
-- For partial matches with wildcards, use operators like `*=*`, `=*`, or `*=` in the full search
\ No newline at end of file
diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Quick search.md b/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Quick search.md
index 277a7feae..996cc0c46 100644
--- a/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Quick search.md
+++ b/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Quick search.md
@@ -3,16 +3,16 @@
The _Quick search_ function does a full-text search (that is, it searches through the content of notes and not just the title of a note) and displays the result in an easy-to-access manner.
-The alternative to the quick search is the Search function, which opens in a dedicated tab and has support for advanced queries.
+The alternative to the quick search is the Search function, which opens in a dedicated tab and has support for advanced queries.
-For even faster navigation, it's possible to use Jump to Note which will only search through the note titles instead of the content.
+For even faster navigation, it's possible to use Jump to... which will only search through the note titles instead of the content.
## Layout
-Based on the Vertical and horizontal layout, the quick search is placed:
+Based on the Vertical and horizontal layout, the quick search is placed:
-* On the vertical layout, it is displayed right above the Note Tree.
-* On the horizontal layout, it is displayed in the Launch Bar, where it can be positioned just like any other icon.
+* On the vertical layout, it is displayed right above the Note Tree.
+* On the horizontal layout, it is displayed in the Launch Bar, where it can be positioned just like any other icon.
## Search Features
@@ -56,4 +56,58 @@ Quick search uses progressive search:
2. **Content previews**: 200-character snippets show match context
3. **Infinite scrolling**: Additional results load on scroll
4. **Specific terms**: Specific search terms return more focused results
-5. **Match locations**: Bold text indicates where matches occur
\ No newline at end of file
+5. **Match locations**: Bold text indicates where matches occur
+
+## Quick Search - Exact Match Operator
+
+Quick Search now supports the exact match operator (`=`) at the beginning of your search query. This allows you to search for notes where the title or content exactly matches your search term, rather than just containing it.
+
+### Usage
+
+To use exact match in Quick Search:
+
+1. Start your search query with the `=` operator
+2. Follow it immediately with your search term (no space after `=`)
+
+#### Examples
+
+* `=example` - Finds notes with title exactly "example" or content exactly "example"
+* `=Project Plan` - Finds notes with title exactly "Project Plan" or content exactly "Project Plan"
+* `='hello world'` - Use quotes for multi-word exact matches
+
+#### Comparison with Regular Search
+
+| Query | Behavior |
+| --- | --- |
+| `example` | Finds all notes containing "example" anywhere in title or content |
+| `=example` | Finds only notes where the title equals "example" or content equals "example" exactly |
+
+### Technical Details
+
+When you use the `=` operator:
+
+* The search performs an exact match on note titles
+* For note content, it looks for exact matches of the entire content
+* Partial word matches are excluded
+* The search is case-insensitive
+
+### Limitations
+
+* The `=` operator must be at the very beginning of the search query
+* Spaces after `=` will treat it as a regular search
+* Multiple `=` operators (like `==example`) are treated as regular text search
+
+### Use Cases
+
+This feature is particularly useful when:
+
+* You know the exact title of a note
+* You want to find notes with specific, complete content
+* You need to distinguish between notes with similar but not identical titles
+* You want to avoid false positives from partial matches
+
+### Related Features
+
+* For more complex exact matching queries, use the full [Search](Search.md) functionality
+* For fuzzy matching (finding results despite typos), use the `~=` operator in the full search
+* For partial matches with wildcards, use operators like `*=*`, `=*`, or `*=` in the full search
\ No newline at end of file
diff --git a/docs/User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Using Docker.md b/docs/User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Using Docker.md
index b11c079a2..a484446d7 100644
--- a/docs/User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Using Docker.md
+++ b/docs/User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Using Docker.md
@@ -187,7 +187,7 @@ docker run -d --name trilium -p 8080:8080 --user $(id -u):$(id -g) -v ~/trilium-
* `TRILIUM_GID`: GID to use for the container process (passed to Docker's `--user` flag)
* `TRILIUM_DATA_DIR`: Path to the data directory inside the container (default: `/home/node/trilium-data`)
-For a complete list of configuration environment variables (network settings, authentication, sync, etc.), see Configuration (config.ini or environment variables).
+For a complete list of configuration environment variables (network settings, authentication, sync, etc.), see Configuration (config.ini or environment variables).
### Volume Permissions
diff --git a/docs/User Guide/User Guide/Installation & Setup/Server Installation/Multi-Factor Authentication.md b/docs/User Guide/User Guide/Installation & Setup/Server Installation/Multi-Factor Authentication.md
index ee6e93363..5ef20f3ac 100644
--- a/docs/User Guide/User Guide/Installation & Setup/Server Installation/Multi-Factor Authentication.md
+++ b/docs/User Guide/User Guide/Installation & Setup/Server Installation/Multi-Factor Authentication.md
@@ -38,8 +38,8 @@ In order to setup OpenID, you will need to setup a authentication provider. This
1. Set the `oauthBaseUrl`, `oauthClientId` and `oauthClientSecret` in the `config.ini` file (check Configuration (config.ini or environment variables) for more information).
1. You can also setup through environment variables:
- - Standard: `TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHBASEURL`, `TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHCLIENTID`, `TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHCLIENTSECRET`
- - Legacy (still supported): `TRILIUM_OAUTH_BASE_URL`, `TRILIUM_OAUTH_CLIENT_ID`, `TRILIUM_OAUTH_CLIENT_SECRET`
+ * Standard: `TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHBASEURL`, `TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHCLIENTID`, `TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHCLIENTSECRET`
+ * Legacy (still supported): `TRILIUM_OAUTH_BASE_URL`, `TRILIUM_OAUTH_CLIENT_ID`, `TRILIUM_OAUTH_CLIENT_SECRET`
2. `oauthBaseUrl` should be the link of your Trilium instance server, for example, `https://`.
2. Restart the server
3. Go to "Menu" -> "Options" -> "MFA"
@@ -49,8 +49,9 @@ In order to setup OpenID, you will need to setup a authentication provider. This
> [!NOTE]
> The default OAuth issuer is Google. To use other services such as Authentik or Auth0, you can configure the settings via `oauthIssuerBaseUrl`, `oauthIssuerName`, and `oauthIssuerIcon` in the `config.ini` file. Alternatively, these values can be set using environment variables:
-> - Standard: `TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERBASEURL`, `TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERNAME`, `TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERICON`
-> - Legacy (still supported): `TRILIUM_OAUTH_ISSUER_BASE_URL`, `TRILIUM_OAUTH_ISSUER_NAME`, `TRILIUM_OAUTH_ISSUER_ICON`
+>
+> * Standard: `TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERBASEURL`, `TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERNAME`, `TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERICON`
+> * Legacy (still supported): `TRILIUM_OAUTH_ISSUER_BASE_URL`, `TRILIUM_OAUTH_ISSUER_NAME`, `TRILIUM_OAUTH_ISSUER_ICON`
>
> `oauthIssuerName` and `oauthIssuerIcon` are required for displaying correct issuer information at the Login page.
diff --git a/docs/User Guide/User Guide/Installation & Setup/Server Installation/TLS Configuration.md b/docs/User Guide/User Guide/Installation & Setup/Server Installation/TLS Configuration.md
index d4004a8cb..eaa0bbba0 100644
--- a/docs/User Guide/User Guide/Installation & Setup/Server Installation/TLS Configuration.md
+++ b/docs/User Guide/User Guide/Installation & Setup/Server Installation/TLS Configuration.md
@@ -27,7 +27,7 @@ keyPath=/[username]/.acme.sh/[hostname]/example.com.key
You can also review the [configuration](../../Advanced%20Usage/Configuration%20\(config.ini%20or%20e.md) file to provide all `config.ini` values as environment variables instead. For example, you can configure TLS using environment variables:
-```bash
+```sh
export TRILIUM_NETWORK_HTTPS=true
export TRILIUM_NETWORK_CERTPATH=/path/to/cert.pem
export TRILIUM_NETWORK_KEYPATH=/path/to/key.pem