Это продолжение темы про Syncthing. В предыдущей статье я рассказал как установить официальные репозитории Syncthing чтобы обновления устанавливались по мере их выхода и содержали Syncthing в актуальном состоянии. В этой статье я коротенько расскажу как сделать, чтобы Syncthing запускался автоматически. Это точно работает на Ubuntu 14.04 LTS, я проверял :)
О вариантах автозапуска Syncthing
Есть несколько вариантов организации автозапуска Syncthing, это запуск вместе с графической оболочкой при запуске сеанса пользователем (подходит для не обременённого пользователя), запуск как сервис системы (фактически сервер для всех) и запуск под именем одного из пользователей, например хозяина компьютера (без варианта использования для других пользователей). И ясное дело, что я использую последний вариант.
Как настроить автозапуск
Требуется создать в системном каталоге файл (/etc/init/syncthing.conf) и перезапустить всю систему.
Делаем последовательно:
Открыть терминал комбинацией [CTRL+ALT+T]
Для Ubuntu 16.04 и старше
По идее должна быть замена $USER на имя текущего пользователя
systemctl enable syncthing@$USER.service
systemctl start syncthing@$USER.service
Всё как бы.
Для Ubuntu раннее, чем 16.04
Запустить команду редактора от имени root:
sudo nano /etc/init/syncthing.conf
Вставить содержание файла /etc/init/syncthing.conf:
description "Syncthing P2P sync service"
start on (local-filesystems and net-device-up IFACE!=lo)
stop on runlevel [!2345]
env STNORESTART=yes
env HOME=/home/$USER
setuid "$USER"
setgid "$USER"
exec /usr/bin/syncthing
respawn
Замените $USER на требуемое (например ваше) имя пользователя.
И сохранить файл /etc/init/syncthing.conf нажав в редакторе [CTRL+O] и для выхода [CTRL+X]
Продолжение для всех систем
В терминале пишем для перезагрузки:
sudo reboot
После перезапуска системы, запускаем браузер по адресу https://localhost:8384 и смотрим как оно работает.
Примечание
узнать на каком порту работает Syncthing можно посмотрев в файле
~/.config/syncthing/config.xml
вот такую строку (в нашем случае указан порт 8384):
<gui enabled=»true» tls=»false»> <address>127.0.0.1:8384</address>
это говорит, что веб-интерфейс администрирования сервера откликается только локально, но изменив адрес на
0.0.0.0:8384
Вы получаете доступ по сети с других IP-адресов. Войдите в этот веб-интерфейс и установите имя и пароль админа (я думаю это крайне полезно).
Далее в конфиге есть указание общаться с серверами с любых адресов на порту 22000. Этот порт должен в вашей сети быть открыть в NAT, или если он блокируется.
<options> <listenAddress>0.0.0.0:22000</listenAddress>
В домашнем каталоге вашего пользователя как $USER появится каталог
~/Sync
который предназначен для создания в нём структуры каталогов синхронизаций. Естественно, этот каталог по-умолчанию создан и предложен.
Вы можете свои домашние папки, такие как Документы, Загрузки, Изображения и т.д. настроить для синхронизации с другим своим компьютеров, связав те же папки. И вот у вас уже одинаково на каждом и компьютеров.
Написал всё по мотивам документации.
UPDATE
Для любителей графических интерфейсов, теперь есть такое для Syncthing. Установите конечно сперва Syncthing, а потом поставьте графический интерфейс GTK:
sudo apt install syncthing-gtk