101 lines
6.8 KiB
Markdown
101 lines
6.8 KiB
Markdown
+++
|
||
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`.
|