software:syncthing:syncthing-install

Установка Syncthing

Syncthing - это очень удобное средство для синхронизации файлов, размещаемых на ваших компьютерах и серверах.

Почему именно Syncthing? Масса плюсов:

  • Бесплатная, стабильно работает.
  • Все под вашим контролем. Устанавливаем на нескольких компьютерах, настраиваем какие папки нужно синхронизировать и получаем копию файлов.
  • Работает весьма быстро, умеет обходить всякие NAT'ы
  • Поддерживает версионность файлов (есть несколько стратегий)
  • Можно детально настраивать параметры для каждой папки
  • Умеет LDAP-авторизацию
  • Потребляет очень мало RAM & CPU

Может работать как служба (работа тогда идет через веб-интерфейс) или как GUI-клиент (для Windows нужно тогда ставить SyncTrayzor).

Основной сайт: https://syncthing.net/

Установка на Ubuntu/Debian: https://apt.syncthing.net/

Ставим нужные компоненты:

sudo apt install curl apt-transport-https

Импортируем GPG-ключ:

curl -s https://syncthing.net/release-key.txt | sudo apt-key add -

Добавляем репозиторий:

echo "deb https://apt.syncthing.net/ syncthing release" > /etc/apt/sources.list.d/syncthing.list

Обновляем список пакетов и ставим:

sudo apt-get update
sudo apt-get install syncthing

После установки проверяем версию:

$ syncthing --version

Если планируется хранить большое количество файлов, необходимо увеличить лимит, иначе будем получать предупреждение в веб-интерфейсе и синхронизация не будет работать:

sudo echo 'fs.inotify.max_user_watches=204800' >> /etc/sysctl.conf
sudo sysctl -p

Создаем отдельного пользователя:

sudo useradd -m syncthing

Создаем файл конфигурации для systemd:

sudo vim /etc/systemd/system/[email protected]

Добавляем в него строки:

[Unit]
Description=Syncthing - Open Source Continuous File Synchronization for %I
Documentation=man:syncthing(1)
After=network.target

[Service]
User=%i
ExecStart=/usr/bin/syncthing -no-browser -gui-address="0.0.0.0:8384" -no-restart -logflags=0
Restart=on-failure
SuccessExitStatus=3 4
RestartForceExitStatus=3 4

[Install]
WantedBy=multi-user.target

Перечитываем настройки:

sudo systemctl daemon-reload

Настраиваем запуск службы, чтобы запускалась от определенного пользователя должно быть в виде: systemctl start syncthing@$USER т.е. в нашем случае:

sudo systemctl start syncthing@syncthing

Включаем автоматический запуск службы при загрузке системы:

sudo systemctl enable syncthing@syncthing

Доступ к управлению через браузер по адресу: http://xxx.xxx.xxx.xxx:8384/ где xxx.xxx.xxx.xxx - IP или FQDN-имя

Крайне желательно закрыть доступ к админке паролем: Действия → Настройки → Интерфейс и заполнить поля «Имя пользователя для доступа к панели управления», «Пароль для доступа к панели управления». Так же желательно включить «Использовать HTTPS для панели управления» для работы по безопасному HTTPS. Нужно обратить внимание что по умолчанию используется самоподписанный сертификат и браузер попросит подтверждение.

Готово, можно устанавливать утилиту на другие компьютеры, добавлять их и расшаривать папки.

Установка на Windows возможна двумя способами:

  • установка пакета SyncTrayzor который включает в себя Syncthing и графический клиент
  • установка в виде службы

Установка в виде SyncTrayzor проста: скачиваем пакет, запускаем, Далее-Далее-Далее и все работает. Минус данного решения: если установка производится на сервер или многопользовательский клиент у каждого пользователя будет запускаться GUI-клиент. Это далеко не всегда нужно, поэтому рассмотрим установку в виде службы.

Загружаем пакет для соответствующей платформы (x86 или x64), распаковываем в папку C:\Program Files\Syncthing

Можно установить как сервис при помощи PowerShell как описано тут: Windows: создаем и удаляем сервис из Powershell или с помощью старого доброго NSSM.

При помощи утилиты NSSM https://nssm.cc/ регистрируем службу:

  • Запускаем команду
    nssm.exe install Syncthing
  • Заполняем поля:
    • Закладка Application
      • Path: C:\Program Files\Syncthing\syncthing.exe (или иное местоположение исполнимого файла)
      • Startup Directory: C:\Program Files\Syncthing
      • Service name: Syncthing
    • Закладка Details
      • Display name: Syncthing
      • Startup type: Automatic
    • Закладка Log on:
      • This account: выберите отдельную учетную запись, не нужно запускать под системной учетной записью (да и сам Syncthing будет на это ругаться)

Готово, запускаем службу. Доступ к управлению через браузер по адресу: http://127.0.0.1:8384/

  • software/syncthing/syncthing-install.txt
  • Последнее изменение: 2023/02/19 21:13
  • 127.0.0.1