Syncthing установка на Debian/Ubuntu: Пошаговая инструкция 2024 | AdminWiki

Syncthing установка на Debian и Ubuntu: Полное руководство для DevOps

18 декабря 2025 5 мин. чтения #debian #devops #linux #syncthing #ubuntu #синхронизация

Представь, что тебе нужно синхронизировать файлы между сервером на Debian, ноутбуком на Ubuntu и другими устройствами без облачных сервисов. Syncthing — это идеальное решение: open-source, безопасное, с end-to-end шифрованием. Давай разберем, как правильно выполнить установку Syncthing на Debian и Ubuntu, настроить автозапуск и веб-интерфейс.

Что такое Syncthing и зачем он нужен

Syncthing — это децентрализованный инструмент для синхронизации файлов между устройствами. В отличие от облачных сервисов, данные передаются напрямую между твоими устройствами. Это дает:

  • Полную приватность (данные не проходят через чужие серверы)
  • Контроль над своими файлами
  • Работу в локальной сети без интернета
  • Кроссплатформенность (Linux, Windows, macOS, Android)
Важно: Syncthing не является облачным хранилищем. Это инструмент для синхронизации между твоими устройствами. Все данные хранятся только на твоих устройствах.

Подготовка системы перед установкой

Перед тем как начать установку Syncthing на Debian или Ubuntu, убедись, что система обновлена:

bash
sudo apt update
sudo apt upgrade -y

Установка зависимостей

Для работы Syncthing потребуются базовые утилиты:

bash
sudo apt install -y curl wget gnupg apt-transport-https

Установка Syncthing на Debian и Ubuntu

Есть несколько способов установки. Рассмотрим самый надежный — через официальный репозиторий.

Добавление GPG-ключа и репозитория

bash
# Добавляем GPG-ключ
curl -s https://syncthing.net/release-key.txt | sudo gpg --dearmor -o /usr/share/keyrings/syncthing-archive-keyring.gpg

# Добавляем репозиторий для Debian/Ubuntu
echo "deb [signed-by=/usr/share/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list

Установка пакета Syncthing

bash
sudo apt update
sudo apt install -y syncthing
Внимание: Если у тебя Ubuntu 22.04 или новее, убедись, что multiverse репозиторий включен: sudo add-apt-repository multiverse

Настройка Syncthing как системного сервиса

Для работы в фоновом режиме настроим Syncthing как systemd сервис. Это позволит ему запускаться автоматически при загрузке системы.

Создание пользователя для Syncthing (рекомендуется)

bash
sudo useradd -r -s /bin/false -m -d /var/lib/syncthing syncthing
sudo chown -R syncthing:syncthing /var/lib/syncthing

Создание systemd сервиса

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

bash
sudo nano /etc/systemd/system/syncthing@.service

Добавь следующее содержимое (или используй готовый файл из пакета):

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

[Service]
User=%i
ExecStart=/usr/bin/syncthing serve --no-browser --no-restart --logflags=0
Restart=on-failure
SuccessExitStatus=3 4
RestartForceExitStatus=3 4

[Install]
WantedBy=multi-user.target

Запуск и включение автозагрузки

bash
# Перезагружаем systemd
sudo systemctl daemon-reload

# Запускаем сервис для пользователя syncthing
sudo systemctl start syncthing@syncthing

# Включаем автозапуск
sudo systemctl enable syncthing@syncthing

# Проверяем статус
sudo systemctl status syncthing@syncthing

Настройка веб-интерфейса и первого подключения

По умолчанию веб-интерфейс доступен только с localhost. Для удаленного доступа нужно изменить конфигурацию.

Редактирование конфигурационного файла

bash
# Останавливаем сервис для редактирования конфига
sudo systemctl stop syncthing@syncthing

# Редактируем конфиг
sudo nano /var/lib/syncthing/.config/syncthing/config.xml

Найди секцию <gui> и измени адрес:

xml
<gui enabled="true" tls="false" debugging="false">
    <address>0.0.0.0:8384</address>
    <theme>dark</theme>
</gui>
Безопасность: Открывая интерфейс на 0.0.0.0, убедись, что у тебя настроен фаервол или Syncthing доступен только из локальной сети.

Настройка фаервола (если используется)

bash
# Для ufw (Ubuntu)
sudo ufw allow 8384/tcp
sudo ufw allow 22000/tcp  # порт для синхронизации
sudo ufw allow 21027/udp  # порт для обнаружения

# Для firewalld (некоторые дистрибутивы)
sudo firewall-cmd --permanent --add-port=8384/tcp
sudo firewall-cmd --permanent --add-port=22000/tcp
sudo firewall-cmd --permanent --add-port=21027/udp
sudo firewall-cmd --reload

Сравнение методов установки

Метод Плюсы Минусы Рекомендация
Официальный репозиторий Автообновления, подписанные пакеты Требует добавления репозитория Для продакшена
DEB пакет вручную Контроль версии Нет автообновлений Для тестирования
Docker контейнер Изоляция, простота Дополнительные ресурсы Для Docker-окружений

Добавление устройств и папок для синхронизации

После настройки сервера зайди в веб-интерфейс (http://IP_СЕРВЕРА:8384) и:

  1. Скопируй ID устройства из «Remote Devices»
  2. На другом устройстве в Syncthing добавь новое устройство по этому ID
  3. Прими приглашение на сервере
  4. Создай папку для синхронизации и расшарь её на другое устройство

Полезные команды для управления

bash
# Просмотр логов
sudo journalctl -u syncthing@syncthing -f

# Перезапуск сервиса
sudo systemctl restart syncthing@syncthing

# Проверка используемых портов
sudo ss -tulpn | grep syncthing

# Обновление Syncthing
sudo apt update && sudo apt upgrade syncthing

Оптимизация производительности

Для больших объемов данных или медленных дисков:

  • Увеличь лимиты inotify: echo fs.inotify.max_user_watches=204800 | sudo tee -a /etc/sysctl.conf
  • Настрой игнорирование временных файлов в .stignore
  • Используй режим «Send Only» для резервного копирования
Производительность: Для синхронизации больших папок (100GB+) настрой планировщик: «Folder Settings» → «Advanced» → «Pull Order» → «Random».
Поделиться:
Сохранить гайд? В закладки браузера