К содержанию

Домашнее использование Syncthing

Отказ от ответственности

Здесь не будет пошаговой инструкции как поднять и сделать надежным синхронизацию между устройствами. Советам, которые здесь описаны, следуйте на свой страх и риск, я не несу ответственности за результат ваших действий и возможную потерю данных, если что-то пойдет не так. Хотите использовать в продакшне — ваше дело, я предупредил.

Что такое Syncthing

Syncthing — свободный программный продукт для сихнронизации файлов и целых каталогов между множеством устройств.

Я использую его наравне с Дропбоксом и Гугл Драйвом, а не как замену одного из них ради экономии. Использование Syncthing далеко не бесплатно. Есть несколько вещей, на которые мне пришлось потратиться.

Как я использую Syncthing

В целом это такие задачи, как:

  1. Синхронизация конфигураций между рабочими машинами.
  2. Синхронизация смартфона с ПК (фотки, видосы, музыка)
  3. Отправка файлов проекта команде разработки (не требующих версирования, для кода есть git)
  4. Транспорт бекапов (отправка данных в «холодное» хранилище) на одном из проектов

Конкретно, что я чаще всего синхронизирую:

  1. Фотографии и видео
  2. Аудиозаметки
  3. Текстовые заметки
  4. SSH конфигурации и ключи
  5. Конфигурацию TaskWarrior

Почему Syncthing

Кое-что я не хочу хранить в чужих облаках. Я использую их, но не загружаю туда всё подряд. У меня много серверов и разных мобильных устройств, которые нужно между собой синхронизировать. Желательно, без моего участия.

Syncthing достаточно (для моих задач) стабилен. Я не пробовал синхронизировать 1 ТБ данных разом, но обязательно это сделаю — просто из любопытства.

Я использую его наравне с Дропбоксом и Гугл Драйвом, а не как замену одного из них ради экономии. Использование Syncthing далеко не бесплатно. Есть несколько вещей, на которые мне пришлось потратиться.

И вот тут стоит сделать небольшое отсутпление. Можно сказать, причина почему я начал активно использовать Syncthing.

Какое-то время назад я пользовался Яндекс.Диском, но отказался от него из-за тупняков с синхронизацией. ЯД крашился при попытке залить 150 гиговую библиотеку аудиокниг серии "Модель для сборки". Не одним файлом, разумеется, а множеством мелких (от 1 до 300 МБ). Сначала он усердно сканировал файлы перед синхронизацией, а затем застревал и в итоге отваливался. Отмечу, что использовал клиент ЯД из под линукса с файловой системой ext4. Возможно, под виндоуз или в макос проблем могло бы не быть из-за особенностей ОС, но переходить на виндоуз или макось я не планирую.

Кто-то может возразить, что не корректно сравнивать облачное хранилище с утилитой для синхронизации и будет прав. С одной оговоркой: облачные хранилища обычно предлагаю функцию синхронизации, а не только надежного хранения. Поэтому как минимум по этой функции сравнить можно.

Недостатки Syncthing, которые я заметил

Десктопная версия

Клиент для десктопа у меня ни разу не упал, но иногда может тупить во время добавления новой директории с одного ПК на другой. Предположу, что это можно вылечить, если поднять собственный релей-сервер, т. к. публичные могут быть перегружены.

Клиент для андроид

Мой смартфон Redmi Note 5 во время активной синхронизации греется. Скажем, синхронизировать по вай-фаю 10 гигов фотографий и видео — и телефон ощутимо становится теплым. Батарею при этом сажает не сильно, что приятно.

Клиент для айос

Не тестил, т. к. не пользуюсь айфоном, но хотелось бы узнать отзывы владельцев.

Вложения

Я опишу детали, которые касаются системы долгосрочного хранения. В частности, место, куда у меня загружаются все фотографии, видео, аудиозаметки со смартфона.

Для надежного хранения я использовал обычный десктопный ПК с ОС Linux Ubuntu обновленной до версии 18.04 и настроенным soft-raid (в зеркало).

Выкладка по стоимости примерно такая: