From ef225704c37f7f12ca22f40a00250462d70de109 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 13 Oct 2025 16:57:40 +0300 Subject: [PATCH] docs(user): sync & update a reference to Docker image --- .../Configuration (config.ini or e.html | 573 +++++++++--------- .../User Guide/Note Types/Relation Map.html | 88 ++- docs/User Guide/!!!meta.json | 98 +-- .../Configuration (config.ini or e.md | 2 +- 4 files changed, 385 insertions(+), 376 deletions(-) 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 1b35888ab..93dacff5f 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 @@ -10,10 +10,11 @@

Configuration values are loaded in the following order of precedence (highest to lowest):

    -
  1. Environment variables (checked first)
  2. -
  3. config.ini file values +
  4. Environment variables (checked first)
  5. +
  6. config.ini file values
  7. -
  8. Default values +
  9. Default values

Environment Variable Patterns

@@ -22,322 +23,338 @@

Where:

Additionally, shorter aliases are available for common configurations (see Alternative Variables section below).

Environment Variable Reference

General Section

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Environment VariableTypeDefaultDescription
TRILIUM_GENERAL_INSTANCENAME - string""Instance name for API identification
TRILIUM_GENERAL_NOAUTHENTICATION - booleanfalseDisable authentication (server only)
TRILIUM_GENERAL_NOBACKUP - booleanfalseDisable automatic backups
TRILIUM_GENERAL_NODESKTOPICON - booleanfalseDisable desktop icon creation
TRILIUM_GENERAL_READONLY - booleanfalseEnable read-only mode
- +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Environment VariableTypeDefaultDescription
TRILIUM_GENERAL_INSTANCENAME + string""Instance name for API identification
TRILIUM_GENERAL_NOAUTHENTICATION + booleanfalseDisable authentication (server only)
TRILIUM_GENERAL_NOBACKUP + booleanfalseDisable automatic backups
TRILIUM_GENERAL_NODESKTOPICON + booleanfalseDisable desktop icon creation
TRILIUM_GENERAL_READONLY + booleanfalseEnable read-only mode
+

Network Section

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Environment VariableTypeDefaultDescription
TRILIUM_NETWORK_HOST - string"0.0.0.0"Server host binding
TRILIUM_NETWORK_PORT - string"3000"Server port
TRILIUM_NETWORK_HTTPS - booleanfalseEnable HTTPS
TRILIUM_NETWORK_CERTPATH - string""SSL certificate path
TRILIUM_NETWORK_KEYPATH - string""SSL key path
TRILIUM_NETWORK_TRUSTEDREVERSEPROXY - boolean/stringfalseReverse proxy trust settings
TRILIUM_NETWORK_CORSALLOWORIGIN - string""CORS allowed origins
TRILIUM_NETWORK_CORSALLOWMETHODS - string""CORS allowed methods
TRILIUM_NETWORK_CORSALLOWHEADERS - string""CORS allowed headers
- +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Environment VariableTypeDefaultDescription
TRILIUM_NETWORK_HOST + string"0.0.0.0"Server host binding
TRILIUM_NETWORK_PORT + string"3000"Server port
TRILIUM_NETWORK_HTTPS + booleanfalseEnable HTTPS
TRILIUM_NETWORK_CERTPATH + string""SSL certificate path
TRILIUM_NETWORK_KEYPATH + string""SSL key path
TRILIUM_NETWORK_TRUSTEDREVERSEPROXY + boolean/stringfalseReverse 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 VariableTypeDefaultDescription
TRILIUM_SESSION_COOKIEMAXAGE - integer1814400Session cookie max age in seconds (21 days)
- +
+ + + + + + + + + + + + + + + + + +
Environment VariableTypeDefaultDescription
TRILIUM_SESSION_COOKIEMAXAGE + integer1814400Session cookie max age in seconds (21 days)
+

Sync Section

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Environment VariableTypeDefaultDescription
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
- +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Environment VariableTypeDefaultDescription
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 VariableTypeDefaultDescription
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
- +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Environment VariableTypeDefaultDescription
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 VariableTypeDefaultDescription
TRILIUM_LOGGING_RETENTIONDAYS - integer90Number of days to retain log files
- +
+ + + + + + + + + + + + + + + + + +
Environment VariableTypeDefaultDescription
TRILIUM_LOGGING_RETENTIONDAYS + integer90Number 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

Sync Variables

OAuth/MFA Variables

Logging Variables

Boolean Values

Boolean environment variables accept the following values:

Using Environment Variables

Both naming patterns are fully supported and can be used interchangeably:

Examples

Docker Compose Example

services:
   trilium:
-    image: triliumnext/notes
+    image: triliumnext/trilium
     environment:
       # Using full format
       TRILIUM_GENERAL_INSTANCENAME: "My Trilium Instance"
diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Relation Map.html b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Relation Map.html
index 42224af95..64ee6ff60 100644
--- a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Relation Map.html	
+++ b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Relation Map.html	
@@ -3,52 +3,49 @@
   href="#root/_help_zEY4DaJG4YT5">relations.

Interaction

    -
  • To create a new note and add it to the board, press the plus button in +
  • To create a new note and add it to the board, press the plus button in the Floating buttons.
      -
    • Afterwards, click anywhere on the map to place it there.
    • -
    • The note will be placed as a sub-child of the map.
    • +
    • Afterwards, click anywhere on the map to place it there.
    • +
    • The note will be placed as a sub-child of the map.
  • -
  • An existing note can also be dragged from the An existing note can also be dragged from the Note Tree. It will be placed at the position it's dragged on.
      -
    • Multiple notes can also be dragged via Multiple notes can also be dragged via Multiple selection. The notes will be positioned near the dragged position without overlapping.
    • -
    • The dragged note can be a sub-child of the map, or it can be at any arbitrary +
    • The dragged note can be a sub-child of the map, or it can be at any arbitrary position.
  • -
  • To create a relationship, hold the mouse on the box on the right of a +
  • To create a relationship, hold the mouse on the box on the right of a note and then:
      -
    • Drag it over another note to create a relationship pointing from the first +
    • Drag it over another note to create a relationship pointing from the first note to the second one.
    • -
    • Drag over the same note to create a self-referencing relationship (represented +
    • Drag over the same note to create a self-referencing relationship (represented as a loop).
    • -
    • Once dragged, enter the name of the relationship to create. To cancel, +
    • Once dragged, enter the name of the relationship to create. To cancel, simply dismiss the dialog or press Esc.
  • -
  • To open a note, either click on the note (opening it in the current view) +
  • To open a note, either click on the note (opening it in the current view) or use the right click menu to open in a new tab.
  • -
  • To edit the title of a note or to delete it (either from the map, or delete +
  • To edit the title of a note or to delete it (either from the map, or delete it completely), right click the note.
  • -
  • To delete a relationship, right click it and select the corresponding +
  • To delete a relationship, right click it and select the corresponding option.

Development process demo

This is a basic example how you can create simple diagram using relation maps:

-

- -

+

And this is how you can create it:

-

- -

+

We start completely from scratch by first creating new note called "Development process" and changing its type to "Relation map". After that we create new notes one by one and place them by clicking into the map. We also drag @@ -61,47 +58,42 @@

Family demo

This is more complicated demo using some advanced concepts. Resulting diagram is here:

-

- -

+

This is how you get to it:

-

- -

+

There are several steps here:

    -
  • we start with empty relation map and two existing notes representing Prince +
  • we start with empty relation map and two existing notes representing Prince Philip and Queen Elizabeth II. These two notes already have isPartnerOf relationsdefined.
      -
    • There are actually two "inverse" relations (one from Philip to Elizabeth +
    • There are actually two "inverse" relations (one from Philip to Elizabeth and one from Elizabeth to Philip)
  • -
  • we drag both notes to relation map and place to suitable position. Notice +
  • we drag both notes to relation map and place to suitable position. Notice how the existing isPartnerOf relations are displayed.
  • -
  • now we create new note - we name it "Prince Charles" and place it on the +
  • now we create new note - we name it "Prince Charles" and place it on the relation map by clicking on the desired position. The note is by default created under the relation map note (visible in the note tree on the left).
  • -
  • we create two new relations isChildOf targeting both Philip - and Elizabeth -
      -
    • now there's something unexpected - we can also see the relation to display - another hasChild relation. This is because there's a relation definition which - puts isChildOf as an "inverse" - relation of hasChildOf (and vice versa) and thus it is created - automatically.
    • -
    -
  • -
  • we create another note for Princess Diana and create isPartnerOf relation - from Charles. Again notice how the relation has arrows both ways - this - is because isPartnerOf definition specifies its inverse relation - as again "isPartnerOf" so the opposite relation is created automatically.
  • -
  • as the last step we pan & zoom the map to fit better to window dimensions.
  • +
  • we create two new relations isChildOf targeting both Philip + and Elizabeth +
      +
    • now there's something unexpected - we can also see the relation to display + another hasChild relation. This is because there's a relation definition which + puts isChildOf as an "inverse" + relation of hasChildOf (and vice versa) and thus it is created + automatically.
    • +
    +
  • +
  • we create another note for Princess Diana and create isPartnerOf relation + from Charles. Again notice how the relation has arrows both ways - this + is because isPartnerOf definition specifies its inverse relation + as again "isPartnerOf" so the opposite relation is created automatically.
  • +
  • as the last step we pan & zoom the map to fit better to window dimensions.

Relation definitions mentioned above come from "Person template" note which is assigned to any child of "My Family Tree" relation note. You can @@ -114,6 +106,6 @@ the ones defined in the label.

See also

\ No newline at end of file diff --git a/docs/User Guide/!!!meta.json b/docs/User Guide/!!!meta.json index 404d2ab40..d169c0f29 100644 --- a/docs/User Guide/!!!meta.json +++ b/docs/User Guide/!!!meta.json @@ -7671,6 +7671,55 @@ "type": "text", "mime": "text/markdown", "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "zEY4DaJG4YT5", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "XpOYSgsLkTJy", + "isInheritable": false, + "position": 20 + }, + { + "type": "relation", + "name": "internalLink", + "value": "oPVyFC7WL2Lp", + "isInheritable": false, + "position": 30 + }, + { + "type": "relation", + "name": "internalLink", + "value": "yTjUdsOi4CIE", + "isInheritable": false, + "position": 40 + }, + { + "type": "relation", + "name": "internalLink", + "value": "OFXdgB2nNk1F", + "isInheritable": false, + "position": 50 + }, + { + "type": "relation", + "name": "internalLink", + "value": "wX4HbRucYSDD", + "isInheritable": false, + "position": 60 + }, + { + "type": "relation", + "name": "internalLink", + "value": "bdUJEHsAPYQR", + "isInheritable": false, + "position": 70 + }, { "type": "label", "name": "shareAlias", @@ -7684,55 +7733,6 @@ "value": "bx bxs-network-chart", "isInheritable": false, "position": 20 - }, - { - "type": "relation", - "name": "internalLink", - "value": "zEY4DaJG4YT5", - "isInheritable": false, - "position": 30 - }, - { - "type": "relation", - "name": "internalLink", - "value": "XpOYSgsLkTJy", - "isInheritable": false, - "position": 40 - }, - { - "type": "relation", - "name": "internalLink", - "value": "oPVyFC7WL2Lp", - "isInheritable": false, - "position": 50 - }, - { - "type": "relation", - "name": "internalLink", - "value": "yTjUdsOi4CIE", - "isInheritable": false, - "position": 60 - }, - { - "type": "relation", - "name": "internalLink", - "value": "OFXdgB2nNk1F", - "isInheritable": false, - "position": 70 - }, - { - "type": "relation", - "name": "internalLink", - "value": "wX4HbRucYSDD", - "isInheritable": false, - "position": 80 - }, - { - "type": "relation", - "name": "internalLink", - "value": "bdUJEHsAPYQR", - "isInheritable": false, - "position": 90 } ], "format": "markdown", 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 e89d1a3fb..936cc3c4e 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 @@ -133,7 +133,7 @@ Both naming patterns are fully supported and can be used interchangeably: ```yaml services: trilium: - image: triliumnext/notes + image: triliumnext/trilium environment: # Using full format TRILIUM_GENERAL_INSTANCENAME: "My Trilium Instance"