Содержание

Установка Syncthing

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

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

Может работать как служба (работа тогда идет через веб-интерфейс) или как 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/[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

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

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

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

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

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

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