SCROLL
Среднее время на прочтение: 2 мин.

Установить Syncthing в Debian 11

Syncthing — приложение, позволяющее синхронизировать файлы между несколькими устройствами. Разберем как поднять Syncthing на Debian 11 Bullseye.

Все действия ниже будут выполняться от root.

# Установка Syncthing

curl -s https://syncthing.net/release-key.txt | sudo apt-key add -
echo "deb https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list
apt-get update

apt-get install syncthing -y

# Создаем пользователя syncthing от которого будет работать система.

useradd -r -m -U -s /usr/sbin/nologin -c "Syncthing User" syncthing

# Создаем сервис запуска для — Syncthing.

cat << EOF > /etc/systemd/system/syncthing@syncthing.service
[Unit]
Description=Syncthing - Open Source Continuous File Synchronization for %I
Documentation=man:syncthing(1)
After=network.target
StartLimitIntervalSec=60
StartLimitBurst=4

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

# Hardening
ProtectSystem=full
PrivateTmp=true
SystemCallArchitectures=native
MemoryDenyWriteExecute=true
NoNewPrivileges=true

# Elevated permissions to sync ownership (disabled by default),
# see https://docs.syncthing.net/advanced/folder-sync-ownership
AmbientCapabilities=CAP_CHOWN CAP_FOWNER

[Install]
WantedBy=multi-user.target

EOF
Хочу обратить внимание на подсвеченную строку, она нужна для того чтобы служба syncthing могла также синхронизировать права собственности между устройствами.

# Включаем в автозапуск созданные службы и запускаем службы.

systemctl daemon-reload
systemctl enable syncthing@syncthing.service

systemctl start syncthing@syncthing.service
systemctl status syncthing@syncthing.service

# Добавим рекомендуемые (syncthing) настройки:

/etc/sysctl.conf
echo 'net.core.rmem_max = 2500000' >> /etc/sysctl.conf
echo 'net.core.wmem_max = 2500000' >> /etc/sysctl.conf
sysctl -p

По-умолчанию доступ к Web GUI разрешен только с локального хоста, добавим разрешение доступности для любого хоста в файле конфигурации — /home/syncthing/.config/syncthing/config.xml в секции <address> указываем как отмечено ниже:

/home/syncthing/.config/syncthing/config.xml
<gui enabled="true" tls="false" debugging="false" sendBasicAuthPrompt="false">
    <address>0.0.0.0:8384</address>
    <apikey>t6qLaC6bwa9maSXrd4THZKLdgT3fe7NR</apikey>
    <theme>default</theme>
</gui>

Web GUI доступен по адресу — http://<ip address>:8384

Обсуждение

0 комментариев

Нет комментариев.