diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Advanced Usage/Configuration (config.ini or e.html b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Advanced Usage/Configuration (config.ini or e.html index c5d9d47b3..89d03b158 100644 --- a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Advanced Usage/Configuration (config.ini or e.html +++ b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Advanced Usage/Configuration (config.ini or e.html @@ -1,24 +1,29 @@ -
Trilium supports configuration via a file named config.ini
and environment variables. This document provides a comprehensive reference for all configuration options.
Trilium supports configuration via a file named config.ini
and
+ environment variables. This document provides a comprehensive reference
+ for all configuration options.
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_[SECTION]_[KEY]
Trilium supports multiple environment variable patterns for flexibility.
+ The primary pattern is: TRILIUM_[SECTION]_[KEY]
+
Where:
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
)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).
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 @@
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:
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_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_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
)TRILIUM_LOGGING_RETENTION_DAYS
(alternative to TRILIUM_LOGGING_RETENTIONDAYS
)Boolean environment variables accept the following values:
"true"
, "1"
, 1
"false"
, "0"
, 0
false
"true"
, "1"
, 1
+ "false"
, "0"
, 0
+ false
+ Both naming patterns are fully supported and can be used interchangeably:
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
-For the complete list of configuration options and their INI file format, please review the config-sample.ini file in the Trilium repository.
\ No newline at end of file
+For the complete list of configuration options and their INI file format,
+ please review the config-sample.ini file
+ in the Trilium repository
\ No newline at end of file
diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Navigation/Quick search.html b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Navigation/Quick search.html
index 14166924f..292f4c585 100644
--- a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Navigation/Quick search.html
+++ b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Navigation/Quick search.html
@@ -5,18 +5,19 @@
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.
Layout
-Based on the Vertical and horizontal layout,
+
Based on the Vertical and horizontal layout,
the quick search is placed:
- - On the vertical layout, it is displayed right above the On the vertical layout, it is displayed right above the Note Tree.
- - On the horizontal layout, it is displayed in the On the horizontal layout, it is displayed in the Launch Bar, where it can be positioned
just like any other icon.
@@ -30,37 +31,120 @@
Infinite Scrolling
Results are loaded progressively as you scroll:
- - Initial display shows 15 results
- - Scrolling near the bottom automatically loads 10 more results
- - Continue scrolling to load all matching notes
+ - Initial display shows 15 results
+ - Scrolling near the bottom automatically loads 10 more results
+ - Continue scrolling to load all matching notes
Visual Features
- - Highlighting: Search terms appear in bold with accent
+
- Highlighting: Search terms appear in bold with accent
colors
- - Separation: Results are separated with dividers
- - Theme Support: Highlighting colors adapt to light/dark
+
- Separation: Results are separated with dividers
+ - Theme Support: Highlighting colors adapt to light/dark
themes
Search Behavior
Quick search uses progressive search:
- - Shows exact matches first
- - Includes fuzzy matches when exact results are fewer than 5
- - Exact matches appear before fuzzy matches
+ - Shows exact matches first
+ - Includes fuzzy matches when exact results are fewer than 5
+ - Exact matches appear before fuzzy matches
Keyboard Navigation
- - Press
Enter
to open the first result
- - Use arrow keys to navigate through results
- - Press
Escape
to close the quick search
+ - Press
Enter
to open the first result
+ - Use arrow keys to navigate through results
+ - Press
Escape
to close the quick search
Using Quick Search
- - Typo tolerance: Search finds results despite minor typos
- - Content previews: 200-character snippets show match context
- - Infinite scrolling: Additional results load on scroll
- - Specific terms: Specific search terms return more focused
- results
- - Match locations: Bold text indicates where matches occur
-
\ No newline at end of file
+ Typo tolerance: Search finds results despite minor typos
+ Content previews: 200-character snippets show match context
+ Infinite scrolling: Additional results load on scroll
+ Specific terms: Specific search terms return more focused
+ results
+ 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:
+
+ - Start your search query with the
=
operator
+ - 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 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/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-
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
If you encounter permission issues with the data volume, ensure that:
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">
- 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
+
oauthBaseUrl
should be the link of your Trilium instance server,
@@ -69,13 +71,15 @@ class="admonition warning">
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
-
- oauthIssuerName
and oauthIssuerIcon
are
- required for displaying correct issuer information at the Login page.
+ 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
+
+
+ oauthIssuerName
and oauthIssuerIcon
are required
+ for displaying correct issuer information at the Login page.
Authentik
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