====== Установка Syncthing ======
Syncthing - это очень удобное средство для синхронизации файлов, размещаемых на ваших компьютерах и серверах.
Почему именно Syncthing? Масса плюсов:
* Бесплатная, стабильно работает.
* Все под вашим контролем. Устанавливаем на нескольких компьютерах, настраиваем какие папки нужно синхронизировать и получаем копию файлов.
* Работает весьма быстро, умеет обходить всякие NAT'ы
* Поддерживает версионность файлов (есть несколько стратегий)
* Можно детально настраивать параметры для каждой папки
* Умеет LDAP-авторизацию
* Потребляет очень мало RAM & CPU
Может работать как служба (работа тогда идет через веб-интерфейс) или как GUI-клиент (для Windows нужно тогда ставить SyncTrayzor).
Основной сайт: https://syncthing.net/
Установка на Ubuntu/Debian: https://apt.syncthing.net/
===== Установка на Ubuntu Server =====
Ставим нужные компоненты:
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/syncthing@.service
Добавляем в него строки:
[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 =====
Установка на Windows возможна двумя способами:
* установка пакета SyncTrayzor который включает в себя Syncthing и графический клиент
* установка в виде службы
Установка в виде SyncTrayzor проста: скачиваем пакет, запускаем, Далее-Далее-Далее и все работает. Минус данного решения: если установка производится на сервер или многопользовательский клиент у каждого пользователя будет запускаться GUI-клиент. Это далеко не всегда нужно, поэтому рассмотрим установку в виде службы.
Загружаем пакет для соответствующей платформы (x86 или x64), распаковываем в папку C:\Program Files\Syncthing
Можно установить как сервис при помощи PowerShell как описано тут: [[software:windows:create-service-cli|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/
{{tag>syncthing обмен_файлами шаринг file_sharing}}