====== Установка 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}}