L-P.syncthing
ansible-role-syncthing
Zainstaluj Syncthing.
Wymagania
Dystrybucja oparta na Debianie, dostęp root lub become na zdalnym hoście.
Zapoznaj się z dokumentacją Syncthing
aby sprawdzić, które porty należy otworzyć. Konfiguracja zapory ogniowej nie jest obsługiwana w tej roli.
Zmienne roli
Wszystkie zmienne są opcjonalne.
Jedynym sposobem na ustawienie opcji Syncthing jest edytowanie pliku config.xml
, zobacz
sekcję Przykładowy Playbook po szczegóły.
# Jeśli repozytorium/klucz się zmienia lub chcesz hostować własne, zmień te:
syncthing_apt_key_id:
syncthing_apt_key_url:
syncthing_apt_repository:
# Jeśli chcesz zmienić nazwę użytkownika Syncthing lub jego katalog domowy:
syncthing_user:
syncthing_user_home:
# Ustaw na false, jeśli nie chcesz, aby rola tworzyła i zarządzała użytkownikiem.
# Musisz ręcznie stworzyć użytkownika określonego w syncthing_user
# _przed_ użyciem roli.
syncthing_manage_user:
# Ustaw na true, aby pobrać konfigurację Syncthing z zdalnego hosta,
# zobacz sekcję Przykładowy Playbook.
syncthing_fetch_config:
# Gdzie będą zapisywane pobrane pliki.
syncthing_fetch_dir:
# Zawartość plików konfiguracyjnych
syncthing_config_cert:
syncthing_config_key:
syncthing_config_https_cert:
syncthing_config_https_key:
syncthing_config_config:
Zależności
Brak.
Przykładowy Playbook
# Zainstaluj Syncthing
- hosts: servers
roles:
- { role: l-p.syncthing }
Konfiguracja Syncthing jest dynamiczna i edytowana w czasie rzeczywistym za pomocą GUI.
Musisz pobrać konfigurację z hosta i zapisać ją w zmiennych syncthing_config_*
, jeśli chcesz
zachować ją w bezpieczny sposób i upewnić się, że to jest rzeczywista konfiguracja na serwerze, gdy
następnym razem uruchomisz rolę.
Niepobranie konfiguracji przed ponownym uruchomieniem roli oznacza, że
wszystkie nowe urządzenia/ foldery/ konfiguracja zostaną usunięte z zdalnego hosta.
Jeśli nie ustawisz zmiennych syncthing_config_*
, nic nie zostanie nadpisane,
ale stracisz swoją konfigurację, jeśli Twój serwer sam się zrujnuje.
# Pobierz wygenerowaną konfigurację
- hosts: servers
roles:
- { role: l-p.syncthing, syncthing_fetch_config: true }
Możesz użyć lookup
, aby odczytać pliki i ustawić zmienne:
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')}}"
Zalecam użycie ansible-vault
do szyfrowania kluczy, lookup
odszyfruje je
w locie.
Licencja
MIT
ansible-galaxy install L-P.syncthing