Как установить и настроить Syncthing на Ubuntu: инструкция

    Команда Simple-Server
    03.06.2026
    12 мин

    Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.

    Создание и подготовка сервера

    Сначала нам нужно подготовить сервер для Syncthing.

    Чтобы арендовать облачный или выделенный сервер в Simple-Server, необходимо пройти регистрацию.

    Переходим по ссылке для регистрации нового пользователя. Мы выберем регистрацию на физическое лицо и заполним следующие данные:

    • ФИО,

    • адрес электронной почты,

    • Номер телефона.

    Создание облачного сервера

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

    1. Переходим на страницу авторизации и входим в аккаунт, используя логин или адрес электронной почты и пароль, либо через Pass, ВКонтакте, GitHub, Google.

    2. После успешной авторизации открывается панель управления текущего проекта. Переходим в раздел «Облачные серверы» и нажимаем «Создать» или «Добавить».

    3. Выбираем операционную систему для установки на сервер. В нашем случае это будет Ubuntu версии 22.04.

    4. Определяемся с регионом, в котором будет размещен сервер. Рекомендуется выбрать регион, находящийся ближе всего к вам.

    Переходим на страницу авторизации и входим в аккаунт, используя логин или адрес электронной почты и пароль, либо через Pass, ВКонтакте, GitHub, Google.

    После успешной авторизации открывается панель управления текущего проекта. Переходим в раздел «Облачные серверы» и нажимаем «Создать» или «Добавить».

    Выбираем операционную систему для установки на сервер. В нашем случае это будет Ubuntu версии 22.04.

    Определяемся с регионом, в котором будет размещен сервер. Рекомендуется выбрать регион, находящийся ближе всего к вам.

    1. Далее выбираем необходимую конфигурацию для сервера. Для работы Syncthing производительность не имеет большого значения, поэтому выбираем сервер исходя из предпочтительного объема диска. Можно выбрать минимальный тариф и в дальнейшем расширить диск через панель управления.

    2. По желанию можно оформить дополнительные услуги, такие как резервные копии и защита от DDoS-атак (последняя доступна только в Санкт-Петербурге).**
      **

    3. Также можно заранее загрузить SSH-ключ, чтобы не входить на сервер с помощью пароля.

    4. Можно задать необходимое имя для сервера, которое будет отображаться в панели управления, а также выбрать проект.

    5. Для создания сервера необходимо нажать кнопку «Заказать». Если на вашем аккаунте недостаточно средств, появится предупреждение о необходимости пополнить баланс. После оплаты и создания сервера откроется Дашборд сервера, где можно будет найти IP-адрес, логин и пароль для подключения.

    Обновление системы и установка необходимых пакетов

    Сначала обновите систему и установите требуемые пакеты:

    sudo apt update sudo apt install software-properties-common apt-transport-https wget curl -y

    Установка и настройка Syncthing

    Теперь приступим непосредственно к установке Syncthing на созданный сервер.

    Добавление репозитория Syncthing

    Добавьте ключ GPG и репозиторий Syncthing:

    Установка Syncthing из репозитория

    Обновите пакеты и установите Syncthing:

    sudo apt update sudo apt install syncthing -y

    Запуск и настройка службы Syncthing

    Запустите и включите службу Syncthing:

    sudo systemctl enable syncthing@<username>.service sudo systemctl start syncthing@<username>.service

    Замените username на ваше имя пользователя. Проверьте статус службы:

    sudo systemctl status syncthing@<username>.service

    Далее нужно настроить работу с веб-интерфейсом Syncthing.

    Настройка брандмауэра UFW

    Разрешите трафик Syncthing через брандмауэр:

    sudo ufw allow ssh sudo ufw allow 22000/tcp sudo ufw allow syncthing-gui sudo ufw enable

    Настройка Syncthing для доступа по IP-адресу

    Откройте файл конфигурации Syncthing и измените настройки:

    nano ~/.local/state/syncthing/config.xml

    Измените строку <address>127.0.0.18384:</address> на <address>ip-вашего-сервера:8384</address>.

    Сохраните файл и перезапустите службу, заменив username на имя вашего пользователя:

    sudo systemctl restart syncthing@username.service

    Доступ к веб-интерфейсу Syncthing

    Откройте браузер и перейдите по адресу http://ip-вашего-сервера:8384.

    Вы увидите главную страницу. Сначала необходимо установить пользователя и пароль для аутентификации веб-интерфейса. Перейдите в «Settings» (Настройки) и выберите вкладку «GUI» (Графический интерфейс).

    Введите имя пользователя в поле «GUI Authentication User» и пароль в поле «GUI Authentication Password». Сохраните настройки.

    Теперь вы настроили Syncthing и видите панель управления.

    Добавление папок и новых пользователей

    Теперь можно приступать к работе Syncthing. Рассмотрим основные настройки и действия, которые могут вам потребоваться.

    Отправляющие и принимающие папки

    При создании новой папки в Syncthing можно выбрать один из трех типов папок:

    • Отправляющая и принимающая (по умолчанию)
    • Только отправляющая
    • Только принимающая

    Вы можете изменить тип папки в любой момент, зайдя в настройки папки и выбрав вкладку «Advanced» (Дополнительно).

    Создание и добавление устройств

    Чтобы начать синхронизацию файлов между устройствами, необходимо добавить удаленное устройство. На панели управления нажмите «Add Remote Device» (Добавить удаленное устройство) и введите ID устройства.

    ID нужно получить на другом устройстве с установленным клиентом Syncthing. На официальном сайте есть ссылки на установку для Windows, Linux, MacOS и Android.

    Те же действия необходимо проделать и на удаленном устройстве. Скопировать ID-девайса и добавить его на сервер.

    Теперь вы готовы синхронизировать данные между устройствами.

    Управление Syncthing через консоль

    В Syncthing есть возможность настройки синхронизации без использования веб-интерфейса.
    Для запуска Syncthing используйте команду:

    Чтобы узнать идентификатор вашего устройства, выполните следующую команду:

    Для добавления второго устройства в конфигурацию выполните команду:

    syncthing cli config devices add --device-id $DEVICE_ID_B

    Чтобы поделиться папкой по умолчанию со вторым устройством, используйте команду:

    syncthing cli config folders $FOLDER_ID devices add --device-id $DEVICE_ID_B

    Вставьте путь до желаемой директории, которой вы хотите поделиться, вместо $FOLDER_ID.

    Доступ к Syncthing по домену

    Вы также можете настроить обращение к веб-интерфейсу Syncthing по домену вместо IP-адреса.

    Настройка обратного прокси-сервера

    Так как интерфейс Syncthing слушает на ip-адрес:8384, он доступен только для подключений по IP. Чтобы получить доступ к веб-интерфейсу Syncthing с удаленного компьютера по домену, можно настроить обратный прокси-сервер с помощью Nginx. В таком случае можно будет убрать из конфигурации Syncthing ранее произведенную настройку с доступом по IP-адресу и заблокировать 8384 порт для внешних подключений.

    Nginx — это популярный веб-сервер и обратный прокси-сервер. Чтобы использовать Nginx, установите его, выполнив следующую команду:

    Далее создайте конфигурационный файл для сервера:

    sudo nano /etc/nginx/conf.d/syncthing.conf

    Добавьте в этот файл следующий контент, заменив syncthing.example.com на ваше предпочитаемое доменное имя. Не забудьте добавить A-запись для этого поддомена. Если у вас нет реального доменного имени, вы можете приобрести его через панель Simple-Server, в разделе «Домены».

    Сохраните и закройте файл. Проверьте конфигурацию Nginx и перезагрузите его:

    sudo nginx -t sudo nginx -s reload

    После того, как вы направите ваше доменное имя на IP-адрес вашего сервера Ubuntu, введите ваше доменное имя в адресную строку браузера, чтобы получить доступ к веб-интерфейсу Syncthing.

    Если ваш браузер не может подключиться к веб-интерфейсу Syncthing, возможно, вам нужно открыть порт 80 в брандмауэре. Например, если вы используете UFW, выполните следующую команду:

    Защита веб-интерфейса Syncthing с помощью HTTPS

    Чтобы зашифровать HTTP-трафик при посещении веб-интерфейса Syncthing через доменное имя, можно включить HTTPS, установив бесплатный TLS-сертификат от Let’s Encrypt. Сначала откройте порт 443 в брандмауэре:

    Затем выполните следующую команду для установки клиента Let’s Encrypt (certbot):

    Если вы используете Nginx, то также необходимо установить плагин Certbot для Nginx:

    sudo apt install python3-certbot-nginx

    Далее выполните следующую команду для получения и установки TLS-сертификата и подставьте свой домен и почту:

    sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email <you@example.com> -d <syncthing.example.com>
    • --nginx: Использовать плагин для Nginx.
    • --agree-tos: Принять условия обслуживания.
    • --redirect: Принудительно использовать HTTPS с помощью 301 редиректа.
    • --hsts: Добавить заголовок Strict-Transport-Security к каждому HTTP-ответу, заставляя браузер всегда использовать TLS для домена. Защищает от атак SSL/TLS Stripping.
    • --staple-ocsp: Включает OCSP Stapling. Действительный OCSP-ответ прикрепляется к сертификату, который сервер предлагает во время TLS.

    Сертификат должен быть получен и автоматически установлен.

    Обновите веб-интерфейс Syncthing, и вы увидите, что HTTP-соединение автоматически перенаправляется на защищенное HTTPS-соединение.

    Автоматическое продление сертификата

    Для автоматического продления сертификатов, выпущенных с помощью Certbot, можно настроить задачу cron. В Certbot уже есть встроенная команда для проверки и продления сертификатов, если они истекают в течение 30 дней. Вот как это сделать:

    Убедитесь, что Certbot установлен и доступен для использования.

    Откройте crontab для редактирования:

    Добавьте следующую строку в crontab для выполнения проверки и продления сертификатов дважды в день. Эта задача будет выполняться в 00:00 и 12:00 каждый день.

    0 0,12 * * * /usr/bin/certbot renew --quiet --post-hook "systemctl reload nginx"
    • 0 0,12 * * *: Запускает задачу в 00:00 и 12:00 каждый день.
    • /usr/bin/certbot renew: Команда для проверки и продления сертификатов.
    • --quiet: Убирает вывод ненужной информации, оставляя только ошибки.
    • --post-hook "systemctl reload nginx": Перезагружает Nginx после успешного продления сертификата.

    После добавления строки, сохраните изменения и закройте редактор.

    Убедитесь, что cron работает и задача добавлена корректно:

    sudo systemctl status cron

    Вот и все! Теперь ваши сертификаты будут автоматически проверяться и продлеваться с помощью cron.

    Версионирование в Syncthing

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

    1. В браузере перейдите по адресу http://ip-вашего-сервера:8384.

    2. На главной странице веб-интерфейса найдите папку, для которой вы хотите настроить версионирование.

    3. Нажмите на иконку «Редактировать» (значок карандаша) рядом с именем папки.

    4. В открывшемся окне настроек папки перейдите во вкладку «Версионирование» (Versioning).

    4. Выберите тип версионирования:

    • Никакого версионирования (No File Versioning): Этот параметр отключает версионирование.
    • Простое версионирование (Simple File Versioning): Сохраняет предыдущие версии файлов на заданное количество дней.
    • Сложное версионирование (Staggered File Versioning): Сохраняет несколько версий файлов с различными интервалами времени.
    • Версионирование с временной меткой (Timestamp File Versioning): Добавляет временную метку к имени файла при сохранении версии.
    • Версионирование через сценарий (External File Versioning): Использует внешний сценарий для управления версиями.

    5. Настройте параметры версионирования. В зависимости от выбранного типа, у вас будут различные параметры для настройки. Например, для «Простого версионирования» можно указать количество дней для хранения старых версий файлов. Заполните необходимые поля и параметры, исходя из ваших потребностей.

    6. После настройки параметров версионирования нажмите кнопку «Сохранить» (Save) в нижней части окна.

    Теперь, когда версионирование настроено, Syncthing будет сохранять предыдущие версии файлов, что позволит вам восстанавливать их в случае случайного удаления или изменения. Эти функции особенно полезны для защиты важных данных и обеспечения дополнительной безопасности при синхронизации файлов между устройствами.

    Дополнительную информацию по версированию вы можете найти в документации Syncthing.


    Нужен сервер для практики? Арендуйте VPS/VDS в России — root-доступ, NVMe, DDoS-защита и поддержка 24/7.

    VPS для проекта

    VPS с root-доступом, NVMe и поддержкой 24/7 на Simple-Server.

    StarterVDS

    490

    в месяц

    1 ядро

    1 ГБ RAM

    20 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Безлимитный трафик
    Заказать VPS
    Рекомендуем

    PerformanceVDS

    1190

    в месяц

    2 ядра

    4 ГБ RAM

    60 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Базовая DDoS-защита
    Заказать VPS

    Нужна другая конфигурация или чистый VPS без панели?

    Все тарифы VPS

    Похожие статьи, которые могут быть вам интересны