8.2.16 Встановлення Trilium Notes

The Host Banner Trilium

Trilium Notes — це потужний і гнучкий open-source-застосунок для ведення ієрархічних нотаток, який поєднує можливості повнотекстового редактора, бази знань і менеджера особистої інформації. Платформа підтримує WYSIWYG- та Markdown-редагування, вкладення будь-яких файлів, тегування, швидкий пошук і версіонування кожного запису. Вбудоване шифрування гарантує безпеку ваших даних, а механізм синхронізації дозволяє безшовно працювати з однією і тією ж базою одночасно на настільному клієнті, мобільному пристрої та через веб-інтерфейс. Завдяки API, WebDAV-доступу та широким можливостям кастомізації Trilium легко інтегрується у наявні робочі процеси й підходить як для особистих нотаток, так і для командних проєктів.

Підготовка сервера

Вимоги

Змінні, які потрібно замінити

  • TRILIUM_VERSION — тег образу Trilium у docker-compose.yml (наприклад latest, 0.63.4).
  • YOUR_USER — системне ім’я користувача у шляху WorkingDirectory=/home/<YOUR_USER>/trilium.
  • SERVER_IP — публічна IP-адреса сервера, що підставляється у посилання http://<SERVER_IP>:8080.
  • YOUR_DOMAIN — ваше доменне ім’я.

Встановлення Trilium

Створіть каталог для застосунку та перейдіть у нього:

mkdir ~/trilium && cd ~/trilium

Створіть файл docker-compose.yml, указавши потрібну версію Trilium (у прикладі — latest, ви можете обрати будь-який доступний тег):

version: '3.8'
services:
  trilium:
    image: zadam/trilium:latest
    container_name: trilium
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - ./data:/home/node/trilium-data

Примітка: каталог ./data міститиме всі нотатки та налаштування і монтується всередину контейнера.

Запустіть контейнер у фоновому режимі:

docker compose up -d

docker compose up -d

Trilium буде доступний за адресою http://<SERVER_IP>:8080.

Налаштування HTTPS (рекомендується)

За замовчуванням Trilium публікує веб-інтерфейс на незашифрованому порту 8080 (HTTP). Передавання паролів і нотаток безпечніше здійснювати через TLS. Найпростіше це реалізувати зворотним проксі.

Зворотний проксі (Nginx / Caddy / Traefik)

Проксі слухає 443 порт TCP, а контейнер Trilium — 8080 лише на localhost.

  1. Створіть віртуальний хост YOUR_DOMAIN і додайте правило proxy_pass http://127.0.0.1:8080;

  2. Випустіть сертифікат Let’s Encrypt за допомогою Certbot:

    sudo certbot --nginx -d YOUR_DOMAIN
    
  3. Certbot автоматично пропише директиви ssl_certificate і налаштує авто-продовження.

Порада: докладна інструкція зі створення Let’s Encrypt-сертифікатів через Certbot доступна в нашій статті.

Налаштування автозапуску

Щоб Trilium стартував разом із системою, створіть сервіс systemd:

sudo nano /etc/systemd/system/trilium.service

Вставте конфігурацію:

[Unit]
Description=Trilium Notes (via Docker Compose)
Requires=docker.service
After=docker.service

[Service]
WorkingDirectory=/home/YOUR_USER/trilium
ExecStart=/usr/bin/docker compose up -d
ExecStop=/usr/bin/docker compose down
Restart=always
TimeoutStartSec=0
RemainAfterExit=true

[Install]
WantedBy=multi-user.target

Активуйте сервіс:

sudo systemctl daemon-reexec
sudo systemctl enable trilium
sudo systemctl start trilium

Перевірка роботи

  1. Відкрийте у браузері http://SERVER_IP:8080.

  2. У вікні, що з’явиться, оберіть потрібний варіант налаштування.

  3. Переконайтеся, що відкривається веб-інтерфейс Trilium. trilium welcome page

  4. Перегляньте логи:

docker compose logs -f

docker compose logs

Поширені помилки
Помилка Причина Розв’язання
Порт 8080 вже зайнятий На сервері його щось використовує Змініть порт у docker-compose.yml
Дані не зберігаються Том не змонтовано Перевірте секцію volumes: і права доступу
Не запускається після рестарту Сервіс systemd не налаштований Виконайте systemctl enable trilium