Добавлена новая статья
This commit is contained in:
100
content/blog/refused-syncthing/index.md
Normal file
100
content/blog/refused-syncthing/index.md
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
+++
|
||||||
|
title = "Отказался от Syncthing"
|
||||||
|
date = 2025-11-28
|
||||||
|
description = "За последние годы я был преданным пользователем Syncthing. Он честно отрабатывал синхронизацию дотфайлов, музыки, баз паролей и хранилища Obsidian между ПК, домашним сервером и телефоном."
|
||||||
|
|
||||||
|
[taxonomies]
|
||||||
|
tags = ["syncthing", "rsync", "music", "keepass", "seafile", "webdav", "git", "obsidian", "sync", "android", "archlinux"]
|
||||||
|
|
||||||
|
[extra]
|
||||||
|
quick_navigation_buttons = true
|
||||||
|
toc = false
|
||||||
|
mermaid = false
|
||||||
|
social_media_card = "social_cards/refused-syncthing.png"
|
||||||
|
+++
|
||||||
|
|
||||||
|
За последние годы я был преданным пользователем `Syncthing`. Он честно отрабатывал синхронизацию дотфайлов, музыки, баз паролей и хранилища `Obsidian` между ПК, домашним сервером и телефоном.
|
||||||
|
|
||||||
|
Но со временем накопился «технический долг»: постоянные конфликты в `KeePassXC`, лишний трафик, батарея на телефоне, а главное — ощущение, что я использую универсальный молоток там, где достаточно отвёртки. В итоге я полностью отказался от `Syncthing` и перешёл на три узкоспециализированных, но гораздо более надёжных и лёгких решения.
|
||||||
|
|
||||||
|
## 1. Музыка для Navidrome → rsync (односторонняя синхронизация)
|
||||||
|
|
||||||
|
Раньше я синхронизировал ~60 ГБ музыки в обе стороны через `Syncthing`.
|
||||||
|
|
||||||
|
Теперь всё просто: на ПК лежит «золотая» копия библиотеки, а на сервере я обновляю её только когда хочу.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
rsync -avzh --progress --stats --delete --itemize-changes --exclude='ненужное' /home/zloy_linux/Музыка/ user@server.ru:/home/user/music/
|
||||||
|
```
|
||||||
|
|
||||||
|
Почему `rsync`, а не `Syncthing`:
|
||||||
|
|
||||||
|
- Никаких конфликтов и дублей
|
||||||
|
- --delete убирает удалённые файлы
|
||||||
|
- Полный контроль: я решаю, когда и что синхронизировать
|
||||||
|
- Можно запускать по расписанию через cron/anacron или вручную после добавления альбомов
|
||||||
|
|
||||||
|
**Значение опций:**
|
||||||
|
**-z** сжатие (полезно, если канал медленный).
|
||||||
|
**-h** человекочитаемые размеры.
|
||||||
|
**--stats** - статистика по передаче.
|
||||||
|
**--delete** - убирает удалённые файлы
|
||||||
|
**--exclude** исключения.
|
||||||
|
|
||||||
|
## 2. Пароли KeePassXC → Seafile + WebDAV (одна общая база)
|
||||||
|
|
||||||
|
`Syncthing` постоянно создавал .sync-conflict файлы при одновременном редактировании базы с телефона и ПК. Решение оказалось проще простого:
|
||||||
|
|
||||||
|
1. Поднял `Seafile`
|
||||||
|
2. Включил `WebDAV` в библиотеке
|
||||||
|
3. В `KeePassXC` на всех устройствах указал один и тот же URL:
|
||||||
|
|
||||||
|
```ini
|
||||||
|
https://cloud.userdomain.ru:/seafdav/library/sync/paroli.kdbx
|
||||||
|
```
|
||||||
|
|
||||||
|
Теперь:
|
||||||
|
|
||||||
|
- Одна база, никаких конфликтов
|
||||||
|
- Автоматическая блокировка при открытии
|
||||||
|
- История изменений в Seafile на 180 дней (если вдруг что-то удалишь)
|
||||||
|
|
||||||
|
## 3. Заметки Obsidian → Git
|
||||||
|
|
||||||
|
Раньше я синхронизировал всё хранилице через `Syncthing` → конфликты, битые ссылки, тормоза на мобильном. Сейчас:
|
||||||
|
|
||||||
|
- Хранилище лежит в приватном репозитории на своём Gitea (можно GitHub, GitLab, Codeberg)
|
||||||
|
- В `Obsidian` установлен плагин `Git`
|
||||||
|
- Настройки плагина:
|
||||||
|
|
||||||
|
```ini
|
||||||
|
Commit message: "auto commit: {{date}}"
|
||||||
|
Auto commit every: 3 минуты
|
||||||
|
Auto pull/push on startup: включено
|
||||||
|
Pull on mobile: включено
|
||||||
|
```
|
||||||
|
|
||||||
|
На телефоне - приложение `Obsidian` + `git`. Плюсы:
|
||||||
|
|
||||||
|
- Полная история изменений (можно откатить удалённую заметку за секунду)
|
||||||
|
- Никаких конфликтов - `git` сам делает merge
|
||||||
|
- Работает даже без интернета (коммиты локально, пуш при подключении)
|
||||||
|
|
||||||
|
## Итог: что я получил после отказа от Syncthing
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
| Что синхронизирую | Было (Syncthing) | Стало (2025) | Выигрыш |
|
||||||
|
|-------------------------|------------------------------------------|---------------------------------------|----------------------------------------------------|
|
||||||
|
| Музыка (~60 ГБ) | Двусторонняя синхронизация, конфликты | rsync (односторонне) | -90 % трафика, нет дублей, полный контроль |
|
||||||
|
| Пароли (KeePassXC) | Постоянные .kdbx.sync-conflict файлы | Seafile + WebDAV (одна общая база) | Ноль конфликтов, блокировка, история изменений |
|
||||||
|
| Заметки (Obsidian) | Конфликты, битые ссылки, тормоза | Obsidian Git + личный Gitea | История коммитов, ветки, оффлайн-работа, автопуш |
|
||||||
|
| Батарея телефона | Syncthing в фоне всё время | Только rsync по необходимости | +2–3 часа автономности |
|
||||||
|
| Трафик и нагрузка | Постоянный скан и передача | Только когда я сам запускаю | Минимальный фоновый трафик |
|
||||||
|
|
||||||
|
|
||||||
|
**Syncthing** - отличный инструмент, но он решает задачу «синхронизировать всё со всем».
|
||||||
|
|
||||||
|
А мне оказалось достаточно трёх точечных решений, которые делают ровно то, что нужно - и ничего лишнего.
|
||||||
|
|
||||||
|
2025 год — год простых и надёжных решений. `rsync` + `Seafile` `WebDAV` + `Obsidian` `Git`.
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 90 KiB |
Reference in New Issue
Block a user