На информационном ресурсе применяются рекомендательные технологии (информационные технологии предоставления информации на основе сбора, систематизации и анализа сведений, относящихся к предпочтениям пользователей сети "Интернет", находящихся на территории Российской Федерации)

artydev & Co

1 подписчик

Синхронизация заметок Obsidian

Настройка синхронизации Obsidian между своими устройствами с использованием единого хранилища

img

Введение

Пришло время систематизировать систему знаний, накопленную за более чем 10 лет ведения заметок в разных местах, начиная от обычных приложений для заметок, заканчивая полноценными инструкциями по выполнению тех или иных задач.

Выбор пал в пользу набирающиего популярность инструмента Obsidian.

Установка

В качестве инструмента синхронизации будем использовать сервис syncthing, установим его на наш отдельный linux сервер: Инструкция (всего 5 команд)

1-й запуск (необходим для генерации конфига):

syncthing 

Небольшие правки в конфиге:

vim ~/.config/syncthing/config.xml 

Ищем gui enabled, примерно 92 строка файла, там будет адрес и порт. Вносим правки (базовый пример):

Адрес: 0.0.0.0, порт 8122, tls="false"

<gui enabled="true" tls="false" debugging="false">     <address>0.0.0.0:8122</address>     <user>artydev</user> </gui> 

Запускаем сервис (где www - пользователь, от которого происходит запуск):

sudo systemctl enable syncthing@www.service sudo systemctl start syncthing@www.service sudo systemctl status syncthing@www.service 

Итого, мы получаем сервис на адресе вашего выделенного сервера, далее закроем его HTTPS протоколом и отдельным доменными именем (в качестве примера возьмем notes.example.ru).

cd /etc/nginx/sites-available; \ touch notes.example.ru; \ ln -s /etc/nginx/sites-available/notes.example.ru /etc/nginx/sites-enabled 

Содержимое файла /etc/nginx/sites-available/notes.

example.ru

server {         server_name notes.example.ru;         location / {                 include proxy_params;                 proxy_pass http://127.0.0.1:8122;         } } 

Проверка nginx -t, если succesfull - генерируем ssl-сертификат (Инструкция по установке certbot для ubuntu)

sudo certbot --nginx 

Перезапускаем nginx:

sudo systemctl restart nginx 

Переходим по https://notes.example.ru, в диалоговом окне создаем пользователя и пароль.

  1. Создаем папку (директорию)
img
  1. Указываем путь к новой папке (директории)
img
  1. Получаем координаты этой папки для добавления на другие устройства (Действия -> Показать ID)
img
  1. Готово!

Безопасность

Храня данные в одном месте, хоть и на собственном сервере - всегда существует риск их потерять.
Не буду перечислять возможные ситуации с удалением всех файлов и синхронизацией пустой папки на остальных ваших устройствах, а просто напишем простенький скрипт для архивирования (бэкапирования) содержимого директории.

vim backup.py 
import shutil import datetime day = datetime.datetime.now().strftime("%Y-%m-%d") archive_dir = f"/home/www/archive/notes_{day}" notes_dir = "/home/www/obsidian/notes" shutil.make_archive(archive_dir, "zip", notes_dir) 
crontab -e 
50 23 * * * python3 /home/www/backup.py 

Большое спасибо всем за внимание!
Подписывайтесь на мой телеграм-канал artydev & Co.

Ссылка на первоисточник
наверх