L-P.syncthing

ansible-role-syncthing

Installiere Syncthing.

Anforderungen

Eine Debian-basierte Distribution, Root-Rechte oder become auf dem Remote-Host. Siehe die Syncthing-Dokumentation um herauszufinden, welche Ports geöffnet werden müssen. Die Firewall-Konfiguration wird in dieser Rolle nicht behandelt.

Rollenvariablen

Alle Variablen sind optional.
Die einzige Möglichkeit, Syncthing-Optionen zu setzen, ist die Bearbeitung der Datei config.xml. Siehe den Abschnitt Beispiel-Playbook für Details.

# Wenn sich das Repository/der Schlüssel ändert oder du dein eigenes hosten möchtest, ändere diese:
syncthing_apt_key_id:
syncthing_apt_key_url:
syncthing_apt_repository:

# Wenn du den Syncthing-Benutzernamen oder das Home-Verzeichnis ändern möchtest:
syncthing_user:
syncthing_user_home:

# Setze dies auf false, wenn du nicht möchtest, dass die Rolle den Benutzer erstellt und verwaltet.
# Du musst den in syncthing_user angegebenen Benutzer manuell erstellen
# _bevor_ du die Rolle verwendest.
syncthing_manage_user:

# Setze dies auf true, um die Syncthing-Konfiguration vom Remote-Host abzurufen,
# siehe den Abschnitt Beispiel-Playbook.
syncthing_fetch_config:

# Wohin die abgerufenen Dateien geschrieben werden.
syncthing_fetch_dir:

# Inhalt der Konfigurationsdateien
syncthing_config_cert:
syncthing_config_key:
syncthing_config_https_cert:
syncthing_config_https_key:
syncthing_config_config:

Abhängigkeiten

Keine.

Beispiel-Playbook

# Syncthing installieren
- hosts: servers
  roles:
    - { role: l-p.syncthing }

Die Konfiguration von Syncthing ist dynamisch und wird zur Laufzeit über die GUI bearbeitet.
Du musst die Konfiguration vom Host holen und in den Variablen syncthing_config_* speichern, wenn du sie sicher aufbewahren und sicherstellen möchtest, dass es die Konfiguration ist, die du beim nächsten Ausführen der Rolle tatsächlich auf dem Server hast.

Wenn du die Konfiguration vor dem erneuten Ausführen der Rolle nicht abruft, werden alle neuen Geräte/Ordner Konfigurationen vom Remote-Host gelöscht.

Wenn du die Variablen syncthing_config_* nicht setzt, wird nichts überschrieben, aber du verlierst deine Konfiguration, wenn dein Server abstürzt.

# Hole die generierte Konfiguration
- hosts: servers
  roles:
    - { role: l-p.syncthing, syncthing_fetch_config: true }

Du kannst lookup verwenden, um die Dateien zu lesen und die Variablen zu setzen:

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')}}"

Ich empfehle, ansible-vault zu verwenden, um die Schlüssel zu verschlüsseln. lookup wird sie dann im Hintergrund entschlüsseln.

Lizenz

MIT

Über das Projekt

Install Syncthing on Debian 11

Installieren
ansible-galaxy install L-P.syncthing
Lizenz
mit
Downloads
114
Besitzer