syncthing

ansible-role-syncthing

Установить Syncthing.

Требования

Дистрибутив на базе Debian, права root или become на удаленном хосте.
Посмотрите документацию Syncthing,
чтобы узнать, какие порты нужно открыть. Конфигурация брандмауэра не обрабатывается в этой роли.

Переменные роли

Все переменные являются необязательными.
Единственный способ установить параметры Syncthing — редактировать файл config.xml,
подробности смотрите в разделе Пример плейбука.

# Если репозиторий/ключ меняется или вы хотите разместить свой, измените это:
syncthing_apt_key_id:
syncthing_apt_key_url:
syncthing_apt_repository:

# Если вы хотите изменить имя пользователя или домашнюю папку syncthing:
syncthing_user:
syncthing_user_home:

# Установите это значение в false, если не хотите, чтобы роль создавала и управляла пользователем.
# Вам нужно будет вручную создать пользователя, указанный в syncthing_user,
# _перед_ использованием роли.
syncthing_manage_user:

# Установите это значение в true, чтобы получить конфигурацию Syncthing с удаленного хоста,
# смотрите раздел Пример плейбука.
syncthing_fetch_config:

# Куда будут записаны извлеченные файлы.
syncthing_fetch_dir:

# Содержимое файлов конфигурации
syncthing_config_cert:
syncthing_config_key:
syncthing_config_https_cert:
syncthing_config_https_key:
syncthing_config_config:

Зависимости

Нет.

Пример плейбука

# Установка Syncthing
- hosts: servers
  roles:
    - { role: l-p.syncthing }

Конфигурация Syncthing динамическая и редактируется во время работы с помощью GUI.
Вам нужно будет получить конфигурацию с хоста и записать её в переменные
syncthing_config_*, если вы хотите сохранить её и убедиться, что это конфигурация,
которая действительно есть на сервере, в следующий раз, когда вы запустите роль.

Если вы не получите конфигурацию перед повторным запуском роли,
все новые устройства/папки/конфигурация будут удалены с удаленного хоста.

Если вы не установите переменные syncthing_config_*, ничего не будет перезаписано,
но вы потеряете вашу конфигурацию, если сервер выйдет из строя.

# Получить сгенерированную конфигурацию
- hosts: servers
  roles:
    - { role: l-p.syncthing, syncthing_fetch_config: true }

Вы можете использовать lookup, чтобы прочитать файлы и установить переменные:

syncthing_config_cert: "{{lookup('file', 'files/{{ inventory_hostname }}/home/syncthing/.config/syncthing/cert.pem')}}"
syncthing_config_key: "{{lookup('file', 'files/{{ inventory_hostname }}/home/syncthing/.config/syncthing/key.pem')}}"
syncthing_config_https_cert: "{{lookup('file', 'files/{{ inventory_hostname }}/home/syncthing/.config/syncthing/https-cert.pem')}}"
syncthing_config_https_key: "{{lookup('file', 'files/{{ inventory_hostname }}/home/syncthing/.config/syncthing/https-key.pem')}}"
syncthing_config_config: "{{lookup('file', 'files/{{ inventory_hostname }}/home/syncthing/.config/syncthing/config.xml')}}"

Я советую использовать ansible-vault для шифрования ключей, lookup расшифрует их
в процессе работы.

Лицензия

MIT

О проекте

Install Syncthing on Debian 11

Установить
ansible-galaxy install L-P/ansible-role-syncthing
Лицензия
mit
Загрузки
94
Владелец