Paul Dickson выпустил ролик, в котором показал, как отправлять файлы из n8n в Obsidian с помощью плагина Local REST API. Я же покажу, как отправлять файлы с помощью WebDAV.
Общая схема работы

Алгоритм работы довольно прост:
- Из n8n файл отправляется через
HTTP-запрос методомPUTна сервер, где настроен WebDAV - Хранилище Obsidian на сервере синхронизируется с локальным хранилищем пользователя через Syncthing
В данной схеме предполагается, что у пользователя есть персональный сервер.
WebDAV с помощью Docker
Как мне кажется, самый простой и легко воспроизводимый способ добавить WebDAV — использовать Docker.
Я предлагаю использовать этот контейнер. Минимально жизнеспособный docker-compose.yml:
services:
webdav-obsidian:
image: maltokyo/docker-nginx-webdav
container_name: webdav-obsidian
restart: unless-stopped
environment:
- USERNAME=username
- PASSWORD=pass
ports:
- "83:80"
volumes:
- /path/to/the/vault:/media/datausername— имя, которое будет использоваться при аутентификацииpass— пароль, который будет использоваться при аутентификации/path/to/the/vault— путь к хранилищу на сервере- Чтобы избежать проблем с правами, выполните команду
sudo chmod -R a+rwX /path/to/the/vault - Эта команда даст всем права на чтение и изменение файлов
- В общем случае это небезопасно, но для персонального сервера это непринципиально
- Чтобы избежать проблем с правами, выполните команду
Доступ к WebDAV будет по адресу http://<your-server-ip>:83. Я бы рекомендовал переадресовать на доменное имя с сертификатом, чтобы можно было обращаться к серверу, например, как к https://webdav.domain.com.
Ноды в n8n
Пример нодов будет для случая, когда отправляется MD-файл. Для других типов файлов подход будет идентичным.
Итак, есть 3 нода:

Text- Edit Fields
- В нём формируется текст, который нужно отправить
- Например, можно добавить сложный frontmatter и ответ ИИ (пример)
Text to MD- Convert to File
- Преобразование текста в MD-файл
Send to Obsidian- HTTP Request node
- Отправка файла на сервер
- На скрине файл отправляется в корень хранилища, но можно указать более точный путь
После отправки файла можно, например, добавить нод, который оповестит в Telegram об успешно выполненном процессе.
Вот такой простой способ отправлять файлы в своё хранилище. Если вы знаете, как это можно сделать ещё проще, то расскажите об этом в комментариях.