docs(user): sync & update a reference to Docker image

This commit is contained in:
Elian Doran
2025-10-13 16:57:40 +03:00
parent 1d95205503
commit ef225704c3
4 changed files with 385 additions and 376 deletions

View File

@@ -10,10 +10,11 @@
<p>Configuration values are loaded in the following order of precedence (highest <p>Configuration values are loaded in the following order of precedence (highest
to lowest):</p> to lowest):</p>
<ol> <ol>
<li><strong>Environment variables</strong> (checked first)</li> <li data-list-item-id="e01b36dcd8ce9822628619499dbccd6f6"><strong>Environment variables</strong> (checked first)</li>
<li><strong>config.ini file values</strong> <li class="ck-list-marker-bold"
data-list-item-id="e4c20596fe72e848364b4486754e0b4fc"><strong>config.ini file values</strong>
</li> </li>
<li><strong>Default values</strong> <li class="ck-list-marker-bold" data-list-item-id="e815dca908c8526179f622710252ea82f"><strong>Default values</strong>
</li> </li>
</ol> </ol>
<h2>Environment Variable Patterns</h2> <h2>Environment Variable Patterns</h2>
@@ -22,322 +23,338 @@
</p> </p>
<p>Where:</p> <p>Where:</p>
<ul> <ul>
<li><code>SECTION</code> is the INI section name in UPPERCASE</li> <li data-list-item-id="e056ab96ed6aedc3039100cbe0519c28d"><code>SECTION</code> is the INI section name in UPPERCASE</li>
<li><code>KEY</code> is the camelCase configuration key converted to UPPERCASE <li data-list-item-id="edabbb90cc5cd6f0f372446174925bf97"><code>KEY</code> is the camelCase configuration key converted to UPPERCASE
(e.g., <code>instanceName</code><code>INSTANCENAME</code>)</li> (e.g., <code>instanceName</code><code>INSTANCENAME</code>)</li>
</ul> </ul>
<p>Additionally, shorter aliases are available for common configurations <p>Additionally, shorter aliases are available for common configurations
(see Alternative Variables section below).</p> (see Alternative Variables section below).</p>
<h2>Environment Variable Reference</h2> <h2>Environment Variable Reference</h2>
<h3>General Section</h3> <h3>General Section</h3>
<table> <figure class="table">
<thead> <table>
<tr> <thead>
<th>Environment Variable</th> <tr>
<th>Type</th> <th>Environment Variable</th>
<th>Default</th> <th>Type</th>
<th>Description</th> <th>Default</th>
</tr> <th>Description</th>
</thead> </tr>
<tbody> </thead>
<tr> <tbody>
<td><code>TRILIUM_GENERAL_INSTANCENAME</code> <tr>
</td> <td><code>TRILIUM_GENERAL_INSTANCENAME</code>
<td>string</td> </td>
<td>""</td> <td>string</td>
<td>Instance name for API identification</td> <td>""</td>
</tr> <td>Instance name for API identification</td>
<tr> </tr>
<td><code>TRILIUM_GENERAL_NOAUTHENTICATION</code> <tr>
</td> <td><code>TRILIUM_GENERAL_NOAUTHENTICATION</code>
<td>boolean</td> </td>
<td>false</td> <td>boolean</td>
<td>Disable authentication (server only)</td> <td>false</td>
</tr> <td>Disable authentication (server only)</td>
<tr> </tr>
<td><code>TRILIUM_GENERAL_NOBACKUP</code> <tr>
</td> <td><code>TRILIUM_GENERAL_NOBACKUP</code>
<td>boolean</td> </td>
<td>false</td> <td>boolean</td>
<td>Disable automatic backups</td> <td>false</td>
</tr> <td>Disable automatic backups</td>
<tr> </tr>
<td><code>TRILIUM_GENERAL_NODESKTOPICON</code> <tr>
</td> <td><code>TRILIUM_GENERAL_NODESKTOPICON</code>
<td>boolean</td> </td>
<td>false</td> <td>boolean</td>
<td>Disable desktop icon creation</td> <td>false</td>
</tr> <td>Disable desktop icon creation</td>
<tr> </tr>
<td><code>TRILIUM_GENERAL_READONLY</code> <tr>
</td> <td><code>TRILIUM_GENERAL_READONLY</code>
<td>boolean</td> </td>
<td>false</td> <td>boolean</td>
<td>Enable read-only mode</td> <td>false</td>
</tr> <td>Enable read-only mode</td>
</tbody> </tr>
</table> </tbody>
</table>
</figure>
<h3>Network Section</h3> <h3>Network Section</h3>
<table> <figure class="table">
<thead> <table>
<tr> <thead>
<th>Environment Variable</th> <tr>
<th>Type</th> <th>Environment Variable</th>
<th>Default</th> <th>Type</th>
<th>Description</th> <th>Default</th>
</tr> <th>Description</th>
</thead> </tr>
<tbody> </thead>
<tr> <tbody>
<td><code>TRILIUM_NETWORK_HOST</code> <tr>
</td> <td><code>TRILIUM_NETWORK_HOST</code>
<td>string</td> </td>
<td>"0.0.0.0"</td> <td>string</td>
<td>Server host binding</td> <td>"0.0.0.0"</td>
</tr> <td>Server host binding</td>
<tr> </tr>
<td><code>TRILIUM_NETWORK_PORT</code> <tr>
</td> <td><code>TRILIUM_NETWORK_PORT</code>
<td>string</td> </td>
<td>"3000"</td> <td>string</td>
<td>Server port</td> <td>"3000"</td>
</tr> <td>Server port</td>
<tr> </tr>
<td><code>TRILIUM_NETWORK_HTTPS</code> <tr>
</td> <td><code>TRILIUM_NETWORK_HTTPS</code>
<td>boolean</td> </td>
<td>false</td> <td>boolean</td>
<td>Enable HTTPS</td> <td>false</td>
</tr> <td>Enable HTTPS</td>
<tr> </tr>
<td><code>TRILIUM_NETWORK_CERTPATH</code> <tr>
</td> <td><code>TRILIUM_NETWORK_CERTPATH</code>
<td>string</td> </td>
<td>""</td> <td>string</td>
<td>SSL certificate path</td> <td>""</td>
</tr> <td>SSL certificate path</td>
<tr> </tr>
<td><code>TRILIUM_NETWORK_KEYPATH</code> <tr>
</td> <td><code>TRILIUM_NETWORK_KEYPATH</code>
<td>string</td> </td>
<td>""</td> <td>string</td>
<td>SSL key path</td> <td>""</td>
</tr> <td>SSL key path</td>
<tr> </tr>
<td><code>TRILIUM_NETWORK_TRUSTEDREVERSEPROXY</code> <tr>
</td> <td><code>TRILIUM_NETWORK_TRUSTEDREVERSEPROXY</code>
<td>boolean/string</td> </td>
<td>false</td> <td>boolean/string</td>
<td>Reverse proxy trust settings</td> <td>false</td>
</tr> <td>Reverse proxy trust settings</td>
<tr> </tr>
<td><code>TRILIUM_NETWORK_CORSALLOWORIGIN</code> <tr>
</td> <td><code>TRILIUM_NETWORK_CORSALLOWORIGIN</code>
<td>string</td> </td>
<td>""</td> <td>string</td>
<td>CORS allowed origins</td> <td>""</td>
</tr> <td>CORS allowed origins</td>
<tr> </tr>
<td><code>TRILIUM_NETWORK_CORSALLOWMETHODS</code> <tr>
</td> <td><code>TRILIUM_NETWORK_CORSALLOWMETHODS</code>
<td>string</td> </td>
<td>""</td> <td>string</td>
<td>CORS allowed methods</td> <td>""</td>
</tr> <td>CORS allowed methods</td>
<tr> </tr>
<td><code>TRILIUM_NETWORK_CORSALLOWHEADERS</code> <tr>
</td> <td><code>TRILIUM_NETWORK_CORSALLOWHEADERS</code>
<td>string</td> </td>
<td>""</td> <td>string</td>
<td>CORS allowed headers</td> <td>""</td>
</tr> <td>CORS allowed headers</td>
</tbody> </tr>
</table> </tbody>
</table>
</figure>
<h3>Session Section</h3> <h3>Session Section</h3>
<table> <figure class="table">
<thead> <table>
<tr> <thead>
<th>Environment Variable</th> <tr>
<th>Type</th> <th>Environment Variable</th>
<th>Default</th> <th>Type</th>
<th>Description</th> <th>Default</th>
</tr> <th>Description</th>
</thead> </tr>
<tbody> </thead>
<tr> <tbody>
<td><code>TRILIUM_SESSION_COOKIEMAXAGE</code> <tr>
</td> <td><code>TRILIUM_SESSION_COOKIEMAXAGE</code>
<td>integer</td> </td>
<td>1814400</td> <td>integer</td>
<td>Session cookie max age in seconds (21 days)</td> <td>1814400</td>
</tr> <td>Session cookie max age in seconds (21 days)</td>
</tbody> </tr>
</table> </tbody>
</table>
</figure>
<h3>Sync Section</h3> <h3>Sync Section</h3>
<table> <figure class="table">
<thead> <table>
<tr> <thead>
<th>Environment Variable</th> <tr>
<th>Type</th> <th>Environment Variable</th>
<th>Default</th> <th>Type</th>
<th>Description</th> <th>Default</th>
</tr> <th>Description</th>
</thead> </tr>
<tbody> </thead>
<tr> <tbody>
<td><code>TRILIUM_SYNC_SYNCSERVERHOST</code> <tr>
</td> <td><code>TRILIUM_SYNC_SYNCSERVERHOST</code>
<td>string</td> </td>
<td>""</td> <td>string</td>
<td>Sync server host URL</td> <td>""</td>
</tr> <td>Sync server host URL</td>
<tr> </tr>
<td><code>TRILIUM_SYNC_SYNCSERVERTIMEOUT</code> <tr>
</td> <td><code>TRILIUM_SYNC_SYNCSERVERTIMEOUT</code>
<td>string</td> </td>
<td>"120000"</td> <td>string</td>
<td>Sync server timeout in milliseconds</td> <td>"120000"</td>
</tr> <td>Sync server timeout in milliseconds</td>
<tr> </tr>
<td><code>TRILIUM_SYNC_SYNCPROXY</code> <tr>
</td> <td><code>TRILIUM_SYNC_SYNCPROXY</code>
<td>string</td> </td>
<td>""</td> <td>string</td>
<td>Sync proxy URL</td> <td>""</td>
</tr> <td>Sync proxy URL</td>
</tbody> </tr>
</table> </tbody>
</table>
</figure>
<h3>MultiFactorAuthentication Section</h3> <h3>MultiFactorAuthentication Section</h3>
<table> <figure class="table">
<thead> <table>
<tr> <thead>
<th>Environment Variable</th> <tr>
<th>Type</th> <th>Environment Variable</th>
<th>Default</th> <th>Type</th>
<th>Description</th> <th>Default</th>
</tr> <th>Description</th>
</thead> </tr>
<tbody> </thead>
<tr> <tbody>
<td><code>TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHBASEURL</code> <tr>
</td> <td><code>TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHBASEURL</code>
<td>string</td> </td>
<td>""</td> <td>string</td>
<td>OAuth/OpenID base URL</td> <td>""</td>
</tr> <td>OAuth/OpenID base URL</td>
<tr> </tr>
<td><code>TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHCLIENTID</code> <tr>
</td> <td><code>TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHCLIENTID</code>
<td>string</td> </td>
<td>""</td> <td>string</td>
<td>OAuth client ID</td> <td>""</td>
</tr> <td>OAuth client ID</td>
<tr> </tr>
<td><code>TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHCLIENTSECRET</code> <tr>
</td> <td><code>TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHCLIENTSECRET</code>
<td>string</td> </td>
<td>""</td> <td>string</td>
<td>OAuth client secret</td> <td>""</td>
</tr> <td>OAuth client secret</td>
<tr> </tr>
<td><code>TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERBASEURL</code> <tr>
</td> <td><code>TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERBASEURL</code>
<td>string</td> </td>
<td>"<a href="https://accounts.google.com">https://accounts.google.com</a>"</td> <td>string</td>
<td>OAuth issuer base URL</td> <td>"<a href="https://accounts.google.com">https://accounts.google.com</a>"</td>
</tr> <td>OAuth issuer base URL</td>
<tr> </tr>
<td><code>TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERNAME</code> <tr>
</td> <td><code>TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERNAME</code>
<td>string</td> </td>
<td>"Google"</td> <td>string</td>
<td>OAuth issuer display name</td> <td>"Google"</td>
</tr> <td>OAuth issuer display name</td>
<tr> </tr>
<td><code>TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERICON</code> <tr>
</td> <td><code>TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERICON</code>
<td>string</td> </td>
<td>""</td> <td>string</td>
<td>OAuth issuer icon URL</td> <td>""</td>
</tr> <td>OAuth issuer icon URL</td>
</tbody> </tr>
</table> </tbody>
</table>
</figure>
<h3>Logging Section</h3> <h3>Logging Section</h3>
<table> <figure class="table">
<thead> <table>
<tr> <thead>
<th>Environment Variable</th> <tr>
<th>Type</th> <th>Environment Variable</th>
<th>Default</th> <th>Type</th>
<th>Description</th> <th>Default</th>
</tr> <th>Description</th>
</thead> </tr>
<tbody> </thead>
<tr> <tbody>
<td><code>TRILIUM_LOGGING_RETENTIONDAYS</code> <tr>
</td> <td><code>TRILIUM_LOGGING_RETENTIONDAYS</code>
<td>integer</td> </td>
<td>90</td> <td>integer</td>
<td>Number of days to retain log files</td> <td>90</td>
</tr> <td>Number of days to retain log files</td>
</tbody> </tr>
</table> </tbody>
</table>
</figure>
<h2>Alternative Environment Variables</h2> <h2>Alternative Environment Variables</h2>
<p>The following alternative environment variable names are also supported <p>The following alternative environment variable names are also supported
and work identically to their longer counterparts:</p> and work identically to their longer counterparts:</p>
<h3>Network CORS Variables</h3> <h3>Network CORS Variables</h3>
<ul> <ul>
<li><code>TRILIUM_NETWORK_CORS_ALLOW_ORIGIN</code> (alternative to <code>TRILIUM_NETWORK_CORSALLOWORIGIN</code>)</li> <li data-list-item-id="eb8b1f15b023c10a1eb3ba027d85e3800"><code>TRILIUM_NETWORK_CORS_ALLOW_ORIGIN</code> (alternative to <code>TRILIUM_NETWORK_CORSALLOWORIGIN</code>)</li>
<li><code>TRILIUM_NETWORK_CORS_ALLOW_METHODS</code> (alternative to <code>TRILIUM_NETWORK_CORSALLOWMETHODS</code>)</li> <li
<li><code>TRILIUM_NETWORK_CORS_ALLOW_HEADERS</code> (alternative to <code>TRILIUM_NETWORK_CORSALLOWHEADERS</code>)</li> data-list-item-id="eae54f70c5191760092234efa58ef5e74"><code>TRILIUM_NETWORK_CORS_ALLOW_METHODS</code> (alternative to <code>TRILIUM_NETWORK_CORSALLOWMETHODS</code>)</li>
<li
data-list-item-id="ec86f6932632ef8375f57ad544027ee3a"><code>TRILIUM_NETWORK_CORS_ALLOW_HEADERS</code> (alternative to <code>TRILIUM_NETWORK_CORSALLOWHEADERS</code>)</li>
</ul> </ul>
<h3>Sync Variables</h3> <h3>Sync Variables</h3>
<ul> <ul>
<li><code>TRILIUM_SYNC_SERVER_HOST</code> (alternative to <code>TRILIUM_SYNC_SYNCSERVERHOST</code>)</li> <li data-list-item-id="e43ba356f96a86ec4fda045063a8c7688"><code>TRILIUM_SYNC_SERVER_HOST</code> (alternative to <code>TRILIUM_SYNC_SYNCSERVERHOST</code>)</li>
<li><code>TRILIUM_SYNC_SERVER_TIMEOUT</code> (alternative to <code>TRILIUM_SYNC_SYNCSERVERTIMEOUT</code>)</li> <li
<li><code>TRILIUM_SYNC_SERVER_PROXY</code> (alternative to <code>TRILIUM_SYNC_SYNCPROXY</code>)</li> data-list-item-id="ecaf5873ff53f77deeb6775e196e14343"><code>TRILIUM_SYNC_SERVER_TIMEOUT</code> (alternative to <code>TRILIUM_SYNC_SYNCSERVERTIMEOUT</code>)</li>
<li
data-list-item-id="e66a1ceb165464c39720072764f62ddd6"><code>TRILIUM_SYNC_SERVER_PROXY</code> (alternative to <code>TRILIUM_SYNC_SYNCPROXY</code>)</li>
</ul> </ul>
<h3>OAuth/MFA Variables</h3> <h3>OAuth/MFA Variables</h3>
<ul> <ul>
<li><code>TRILIUM_OAUTH_BASE_URL</code> (alternative to <code>TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHBASEURL</code>)</li> <li data-list-item-id="e8c2c2b37159644a4d220edb9918f9d0a"><code>TRILIUM_OAUTH_BASE_URL</code> (alternative to <code>TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHBASEURL</code>)</li>
<li><code>TRILIUM_OAUTH_CLIENT_ID</code> (alternative to <code>TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHCLIENTID</code>)</li> <li
<li><code>TRILIUM_OAUTH_CLIENT_SECRET</code> (alternative to <code>TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHCLIENTSECRET</code>)</li> data-list-item-id="e1cf27f36963616e929aa9fbcd75d63f5"><code>TRILIUM_OAUTH_CLIENT_ID</code> (alternative to <code>TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHCLIENTID</code>)</li>
<li><code>TRILIUM_OAUTH_ISSUER_BASE_URL</code> (alternative to <code>TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERBASEURL</code>)</li> <li
<li><code>TRILIUM_OAUTH_ISSUER_NAME</code> (alternative to <code>TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERNAME</code>)</li> data-list-item-id="eb6dd8d8c0177da4d0a467bb1527e7a9a"><code>TRILIUM_OAUTH_CLIENT_SECRET</code> (alternative to <code>TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHCLIENTSECRET</code>)</li>
<li><code>TRILIUM_OAUTH_ISSUER_ICON</code> (alternative to <code>TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERICON</code>)</li> <li
data-list-item-id="e07df03aef9e3b4630b5ed1edadadd6fb"><code>TRILIUM_OAUTH_ISSUER_BASE_URL</code> (alternative to <code>TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERBASEURL</code>)</li>
<li
data-list-item-id="e2a8099088f69823eb5f1797f85cb29a1"><code>TRILIUM_OAUTH_ISSUER_NAME</code> (alternative to <code>TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERNAME</code>)</li>
<li
data-list-item-id="edd9461cdb7f96371335413e17548dbed"><code>TRILIUM_OAUTH_ISSUER_ICON</code> (alternative to <code>TRILIUM_MULTIFACTORAUTHENTICATION_OAUTHISSUERICON</code>)</li>
</ul> </ul>
<h3>Logging Variables</h3> <h3>Logging Variables</h3>
<ul> <ul>
<li><code>TRILIUM_LOGGING_RETENTION_DAYS</code> (alternative to <code>TRILIUM_LOGGING_RETENTIONDAYS</code>)</li> <li data-list-item-id="ed3b4ee1ac943a37c729d973738cf5c76"><code>TRILIUM_LOGGING_RETENTION_DAYS</code> (alternative to <code>TRILIUM_LOGGING_RETENTIONDAYS</code>)</li>
</ul> </ul>
<h2>Boolean Values</h2> <h2>Boolean Values</h2>
<p>Boolean environment variables accept the following values:</p> <p>Boolean environment variables accept the following values:</p>
<ul> <ul>
<li><strong>True</strong>: <code>"true"</code>, <code>"1"</code>, <code>1</code> <li data-list-item-id="e7f2f6e6929d2dc30570666cc1df6fdb1"><strong>True</strong>: <code>"true"</code>, <code>"1"</code>, <code>1</code>
</li> </li>
<li><strong>False</strong>: <code>"false"</code>, <code>"0"</code>, <code>0</code> <li data-list-item-id="ea03e6536d3055634d536f429683efdc6"><strong>False</strong>: <code>"false"</code>, <code>"0"</code>, <code>0</code>
</li> </li>
<li>Any other value defaults to <code>false</code> <li data-list-item-id="e7b0f5806a421c801401712940730961e">Any other value defaults to <code>false</code>
</li> </li>
</ul> </ul>
<h2>Using Environment Variables</h2> <h2>Using Environment Variables</h2>
<p>Both naming patterns are fully supported and can be used interchangeably:</p> <p>Both naming patterns are fully supported and can be used interchangeably:</p>
<ul> <ul>
<li>The longer format follows the section/key pattern for consistency with <li data-list-item-id="e4be74ec58603a4ea748a13065ce0b965">The longer format follows the section/key pattern for consistency with
the INI file structure</li> the INI file structure</li>
<li>The shorter alternatives provide convenience for common configurations</li> <li data-list-item-id="e4f6aa6d54fce77025d4349f9569723de">The shorter alternatives provide convenience for common configurations</li>
<li>You can use whichever format you prefer - both are equally valid</li> <li
data-list-item-id="eafaaefcfe88288f4e3faef8130cb12c0">You can use whichever format you prefer - both are equally valid</li>
</ul> </ul>
<h2>Examples</h2> <h2>Examples</h2>
<h3>Docker Compose Example</h3><pre><code class="language-text-x-yaml">services: <h3>Docker Compose Example</h3><pre><code class="language-text-x-yaml">services:
trilium: trilium:
image: triliumnext/notes image: triliumnext/trilium
environment: environment:
# Using full format # Using full format
TRILIUM_GENERAL_INSTANCENAME: "My Trilium Instance" TRILIUM_GENERAL_INSTANCENAME: "My Trilium Instance"

View File

@@ -3,52 +3,49 @@
href="#root/_help_zEY4DaJG4YT5">relations</a>.</p> href="#root/_help_zEY4DaJG4YT5">relations</a>.</p>
<h2>Interaction</h2> <h2>Interaction</h2>
<ul> <ul>
<li data-list-item-id="e9deb23a94fcdda6eadc2c6200cefb994">To create a new note and add it to the board, press the plus button in <li>To create a new note and add it to the board, press the plus button in
the&nbsp;<a class="reference-link" href="#root/_help_XpOYSgsLkTJy">Floating buttons</a>. the&nbsp;<a class="reference-link" href="#root/_help_XpOYSgsLkTJy">Floating buttons</a>.
<ul> <ul>
<li data-list-item-id="e21d61b025a6624267b35b40b6f4b55ff">Afterwards, click anywhere on the map to place it there.</li> <li>Afterwards, click anywhere on the map to place it there.</li>
<li data-list-item-id="ed051c41bbb0b8178fb47adf3f0e59d0f">The note will be placed as a sub-child of the map.</li> <li>The note will be placed as a sub-child of the map.</li>
</ul> </ul>
</li> </li>
<li data-list-item-id="eca4edf0f072bcce1ea2772c74d9c5479">An existing note can also be dragged from the&nbsp;<a class="reference-link" <li>An existing note can also be dragged from the&nbsp;<a class="reference-link"
href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>. It will be placed at the href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>. It will be placed at the
position it's dragged on. position it's dragged on.
<ul> <ul>
<li data-list-item-id="e50aae94f1208a501d3181bcb28c1f0b9">Multiple notes can also be dragged via&nbsp;<a class="reference-link" <li>Multiple notes can also be dragged via&nbsp;<a class="reference-link"
href="#root/_help_yTjUdsOi4CIE">Multiple selection</a>. The notes will href="#root/_help_yTjUdsOi4CIE">Multiple selection</a>. The notes will
be positioned near the dragged position without overlapping.</li> be positioned near the dragged position without overlapping.</li>
<li data-list-item-id="e343808a2ab68009a10f884980468d02a">The dragged note can be a sub-child of the map, or it can be at any arbitrary <li>The dragged note can be a sub-child of the map, or it can be at any arbitrary
position.</li> position.</li>
</ul> </ul>
</li> </li>
<li data-list-item-id="ee160c0ebb7a90215bec3b29e86f163be">To create a relationship, hold the mouse on the box on the right of a <li>To create a relationship, hold the mouse on the box on the right of a
note and then: note and then:
<ul> <ul>
<li data-list-item-id="e17cb16e8553ae7da92086de463b97c57">Drag it over another note to create a relationship pointing from the first <li>Drag it over another note to create a relationship pointing from the first
note to the second one.</li> note to the second one.</li>
<li data-list-item-id="eeedb939234b3478ee6eda73fda651e74">Drag over the same note to create a self-referencing relationship (represented <li>Drag over the same note to create a self-referencing relationship (represented
as a loop).</li> as a loop).</li>
<li data-list-item-id="e575fbd1690aaec66b9f0f2ed8023375f">Once dragged, enter the name of the relationship to create. To cancel, <li>Once dragged, enter the name of the relationship to create. To cancel,
simply dismiss the dialog or press <kbd>Esc</kbd>.</li> simply dismiss the dialog or press <kbd>Esc</kbd>.</li>
</ul> </ul>
</li> </li>
<li data-list-item-id="e88dda852f390ee6da753767dbcf02fc1">To open a note, either click on the note (opening it in the current view) <li>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.</li> or use the right click menu to open in a new tab.</li>
<li data-list-item-id="e3846088ca4869ad8bb4874725275d527">To edit the title of a note or to delete it (either from the map, or delete <li>To edit the title of a note or to delete it (either from the map, or delete
it completely), right click the note.</li> it completely), right click the note.</li>
<li data-list-item-id="e8123533b7cab2d7479c0d500f8da2519">To delete a relationship, right click it and select the corresponding <li>To delete a relationship, right click it and select the corresponding
option.</li> option.</li>
</ul> </ul>
<h2>Development process demo</h2> <h2>Development process demo</h2>
<p>This is a basic example how you can create simple diagram using relation <p>This is a basic example how you can create simple diagram using relation
maps:</p> maps:</p>
<p> <img src="1_Relation Map_relation-map-.png" width="934" height="667">
<img src="1_Relation Map_relation-map-.png" width="934" height="667">
</p>
<p>And this is how you can create it:</p> <p>And this is how you can create it:</p>
<p> <img src="1_Relation Map_relation-map-.gif"
<img src="1_Relation Map_relation-map-.gif" width="812" height="585"> width="812" height="585">
</p>
<p>We start completely from scratch by first creating new note called "Development <p>We start completely from scratch by first creating new note called "Development
process" and changing its type to "Relation map". After that we create 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 new notes one by one and place them by clicking into the map. We also drag
@@ -61,47 +58,42 @@
<h2>Family demo</h2> <h2>Family demo</h2>
<p>This is more complicated demo using some advanced concepts. Resulting <p>This is more complicated demo using some advanced concepts. Resulting
diagram is here:</p> diagram is here:</p>
<p> <img src="Relation Map_relation-map-.png" width="941"
<img src="Relation Map_relation-map-.png" width="941" height="758"> height="758">
</p>
<p>This is how you get to it:</p> <p>This is how you get to it:</p>
<p> <img src="Relation Map_relation-map-.gif"
<img src="Relation Map_relation-map-.gif" width="812" height="585"> width="812" height="585">
</p>
<p>There are several steps here:</p> <p>There are several steps here:</p>
<ul> <ul>
<li data-list-item-id="e0edf9cfd7613dd744bef2b77a67ebfe6">we start with empty relation map and two existing notes representing Prince <li>we start with empty relation map and two existing notes representing Prince
Philip and Queen Elizabeth II. These two notes already have <code>isPartnerOf</code> Philip and Queen Elizabeth II. These two notes already have <code>isPartnerOf</code>
<a <a
href="#root/_help_zEY4DaJG4YT5">relations</a>defined. href="#root/_help_zEY4DaJG4YT5">relations</a>defined.
<ul> <ul>
<li data-list-item-id="e6a1191839d963d2d4cf15852ea9acc89">There are actually two "inverse" relations (one from Philip to Elizabeth <li>There are actually two "inverse" relations (one from Philip to Elizabeth
and one from Elizabeth to Philip)</li> and one from Elizabeth to Philip)</li>
</ul> </ul>
</li> </li>
<li data-list-item-id="e40dbe04d4e9bd69c397126932f4edaf3">we drag both notes to relation map and place to suitable position. Notice <li>we drag both notes to relation map and place to suitable position. Notice
how the existing <code>isPartnerOf</code> relations are displayed.</li> how the existing <code>isPartnerOf</code> relations are displayed.</li>
<li <li>now we create new note - we name it "Prince Charles" and place it on the
data-list-item-id="ee2476b8231bb8d48e9adb9c29ada592e">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 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).</li> created under the relation map note (visible in the note tree on the left).</li>
<li <li>we create two new relations <code>isChildOf</code> targeting both Philip
data-list-item-id="ed5140ee461efac10a20629ee03b277fd">we create two new relations <code>isChildOf</code> targeting both Philip and Elizabeth
and Elizabeth <ul>
<ul> <li>now there's something unexpected - we can also see the relation to display
<li data-list-item-id="ed88b374c9e48219fa191c45e245b4930">now there's something unexpected - we can also see the relation to display another <code>hasChild</code> relation. This is because there's a <a href="#root/_help_OFXdgB2nNk1F">relation definition</a> which
another <code>hasChild</code> relation. This is because there's a <a href="#root/_help_OFXdgB2nNk1F">relation definition</a> which puts <code>isChildOf</code> as an "<a href="#root/_help_OFXdgB2nNk1F">inverse</a>"
puts <code>isChildOf</code> as an "<a href="#root/_help_OFXdgB2nNk1F">inverse</a>" relation of <code>hasChildOf</code> (and vice versa) and thus it is created
relation of <code>hasChildOf</code> (and vice versa) and thus it is created automatically.</li>
automatically.</li> </ul>
</ul> </li>
</li> <li>we create another note for Princess Diana and create <code>isPartnerOf</code> relation
<li data-list-item-id="efd1ee343a23186191d0ff7b92cf68c57">we create another note for Princess Diana and create <code>isPartnerOf</code> relation from Charles. Again notice how the relation has arrows both ways - this
from Charles. Again notice how the relation has arrows both ways - this is because <code>isPartnerOf</code> definition specifies its inverse relation
is because <code>isPartnerOf</code> definition specifies its inverse relation as again "isPartnerOf" so the opposite relation is created automatically.</li>
as again "isPartnerOf" so the opposite relation is created automatically.</li> <li>as the last step we pan &amp; zoom the map to fit better to window dimensions.</li>
<li
data-list-item-id="ec3e7d407540df9ed00fa24af466cc068">as the last step we pan &amp; zoom the map to fit better to window dimensions.</li>
</ul> </ul>
<p>Relation definitions mentioned above come from "Person template" note <p>Relation definitions mentioned above come from "Person template" note
which is assigned to any child of "My Family Tree" relation note. You can which is assigned to any child of "My Family Tree" relation note. You can
@@ -114,6 +106,6 @@
the ones defined in the label.</p> the ones defined in the label.</p>
<h2>See also</h2> <h2>See also</h2>
<ul> <ul>
<li data-list-item-id="e90849a998c08784469041422147d5fcf"><a class="reference-link" href="#root/_help_bdUJEHsAPYQR">Note Map</a>&nbsp;is <li><a class="reference-link" href="#root/_help_bdUJEHsAPYQR">Note Map</a>&nbsp;is
a similar concept.</li> a similar concept.</li>
</ul> </ul>

View File

@@ -7671,6 +7671,55 @@
"type": "text", "type": "text",
"mime": "text/markdown", "mime": "text/markdown",
"attributes": [ "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", "type": "label",
"name": "shareAlias", "name": "shareAlias",
@@ -7684,55 +7733,6 @@
"value": "bx bxs-network-chart", "value": "bx bxs-network-chart",
"isInheritable": false, "isInheritable": false,
"position": 20 "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", "format": "markdown",

View File

@@ -133,7 +133,7 @@ Both naming patterns are fully supported and can be used interchangeably:
```yaml ```yaml
services: services:
trilium: trilium:
image: triliumnext/notes image: triliumnext/trilium
environment: environment:
# Using full format # Using full format
TRILIUM_GENERAL_INSTANCENAME: "My Trilium Instance" TRILIUM_GENERAL_INSTANCENAME: "My Trilium Instance"