Trilium Notes − мощное и гибкое приложение для ведения иерархических заметок, ориентированное на продвинутых пользователей, которые стремятся к организации больших объёмов информации. Кроме того, приложение поддерживает вложенные узлы, разметку Markdown, встроенные скрипты, историю изменений и множество других функций, В частности, Trilium Notes включает синхронизацию между устройствами через собственный сервер.
Trilium может работать как десктопное приложение, а также может быть установлен на виртуальный сервер. В такой конфигурации у приложения есть веб-интерфейс для доступа из браузера. Trilium Notes можно использовать для ведения базы знаний, исследований, планов или даже в качестве персональной вики. Данные хранятся в SQLite-базе. Это во многом упрощает резервное копирование и перенос данных.
В статье разберём, как установить сервер Trilium Notes и настроить его как системный сервис на VPS, работающем под управлением операционной системы семейства Linux.
Как установить Trilium Notes на Linux
Актуальная версия приложения, в том числе и его серверной компоненты, доступна на официальной GitHub-странице. Для установки сервера Trilium Notes необходимо на странице выбранного релиза при помощи контекстного меню скопировать ссылку на архив, предназначенный для Linux-систем.

Загрузку файлов из интернета через терминал позволяет производить утилита wget. В чистом образе Debian по умолчанию данной утилиты нет. Поэтому, если вы используете эту операционную систему, сначала проинсталлируйте wget:
$ sudo apt install wgetЗатем при помощи wget и скопированной ссылки загрузите в текущую директорию архив релиза:
$ wget https://github.com/TriliumNext/Notes/releases/download/v0.95.0/TriliumNextNotes-Server-v0.95.0-linux-x64.tar.xzДистрибутив представляет собой архив .tar.xz, для распаковки которого необходимо наличие в системе соответствующей утилиты. Установить её на Debian можно при помощи команды:
$ sudo apt install xz-utilsВ CentOS установка архиватора производится командой:
$ sudo dnf install tarВ Ubuntu инструмент для распаковки такого вида архива присутствует по умолчанию.
Следующей командой разархивируйте загруженный файл дистрибутива в текущий каталог:
$ tar -xvf TriliumNextNotes-Server-v0.95.0-linux-x64.tar.xzФайлы сервера Trilium Notes будут распакованы в каталог TriliumNextNotes-Server-0.95.0-linux-x64. Скопируйте его содержимое в директорию /opt/trilium:
$ sudo cp -r TriliumNextNotes-Server-0.95.0-linux-x64/ /opt/triliumВ том же каталоге создайте директорию trilium-data. Она будет использоваться для хранения всех пользовательских данных Trilium Notes.
$ sudo mkdir /opt/trilium/trilium-dataНастройка Trilium для работы в качестве службы
При запуске Trilium Notes в качестве системного сервиса необходимо поддержание определённого уровня безопасности сервера. Одной из мер, направленных на это, является создание отдельного системного пользователя с ограниченными правами. В нашем примере таким пользователем будет учётная запись trilium. Для его создания запустите команду:
$ sudo useradd --system --no-create-home --shell /usr/sbin/nologin triliumВ команде используются следующие опции:
- --system− параметр означает, что будет создан именно системный пользователь, предназначенный для запуска фоновых служб;
- --no-create-home− опция позволяет не создавать домашнюю директорию;
- --shell /usr/sbin/nologin− параметр назначает в качестве оболочки- /usr/sbin/nologin, что запрещает интерактивный вход в систему под именем создаваемого пользователя.
Далее измените владельца и группу каталога /opt/trilium, а также всех его вложенных файлов, на пользователя trilium. Это нужно, чтобы данный пользователь имел права на чтение, запись и выполнение необходимых файлов, поскольку сервис Trilium Notes запускается от имени этого системного пользователя. Соответственно, учётная запись trilium должна иметь полный доступ к каталогу /opt/trilium и данным внутри него.
$ sudo chown -R trilium:trilium /opt/triliumНа следующем шаге необходимо создать юнит-файл для новой службы. В Debian и Ubuntu для этого запустите команду:
$ sudo nano /etc/systemd/system/trilium.serviceВ CentOS для редактирования файлов по умолчанию используется редактор vi:
$ sudo vi /etc/systemd/system/trilium.serviceВ юнит-файл скопируйте следующее содержимое:
[Unit]
Description=Trilium Notes Service
After=network.target
[Service]
Type=simple
User=trilium
Group=trilium
WorkingDirectory=/opt/trilium
ExecStart=/opt/trilium/trilium.sh --data-dir /opt/trilium/trilium-data
Restart=always
Environment=NODE_ENV=production
Environment=TRILIUM_DATA_DIR=/opt/trilium/trilium-data
[Install]
WantedBy=multi-user.targetОбратите внимание на присутствие в файле переменной TRILIUM_DATA_DIR. По умолчанию Trilium Notes сохраняет файлы в домашней директории пользователя, от имени которого запускается служба. Однако ранее при создании пользователя trilium мы указали, что у него нет домашнего каталога. Исходя из чего, необходимо переопределить путь для хранения данных, указав ранее созданный каталог /opt/trilium/trilium-data. Именно для этого в юнит-файле используется переменная TRILIUM_DATA_DIR, которая заменяет путь по умолчанию на нужный.
После внесения всех изменений закройте юнит-файл с их сохранением и обновите конфигурацию systemd:
$ sudo systemctl daemon-reloadЗатем запустите созданную службу:
$ sudo systemctl start triliumУстановите службу trilium в автозагрузку:
$ sudo systemctl enable triliumЧтобы убедиться в корректном старте нового сервиса, следующей командой выведите в консоль его текущее состояние:
$ systemctl status triliumВывод команды не должен содержать сообщений об ошибках.

Подключение к Trilium Notes
Веб-интерфейс Trilium Notes работает через TCP-порт 8080. Исходя из чего, необходимо открыть доступ к вашему серверу с использованием данного порта. В Debian и Ubuntu добавьте соответствующее разрешающее правило в брандмауэр UFW:
$ sudo ufw allow 8080Если вы используете CentOS, доступ в межсетевом экране для порта 8080 можно открыть следующими командами:
$ sudo firewall-cmd --permanent --add-port=8080/tcp
$ sudo firewall-cmd --reloadТеперь откройте браузер и перейдите на http://X.X.X.X/8080, где вместо X.X.X.X укажите IP-адрес вашего виртуального сервера. На стартовой странице веб-интерфейса Trilium Notes кликните в строку I'm a new user,... и нажмите Next.

На следующей странице придумайте и дважды введите пароль, при помощи которого в дальнейшем будете подключаться к Trilium Notes. После чего нажмите Set password.

Затем введите этот пароль, но уже для авторизации в приложении, и кликните Login.

В итоге вы должны попасть на главную страницу, где можете переходить к полноценному использованию вашего экземпляра Trilium Notes.

