L-P.syncthing

ansible-role-syncthing

Installer Syncthing.

Exigences

Une distribution basée sur Debian, avec les privilèges de root ou become sur l'hôte distant.
Consultez la documentation de Syncthing
pour savoir quels ports ouvrir. La configuration du pare-feu n'est pas gérée par ce rôle.

Variables du rôle

Toutes les variables sont facultatives.
La seule façon de définir les options de Syncthing est de modifier le fichier config.xml, voir la section
Exemple de Playbook pour plus de détails.

# Si le dépôt/la clé change ou si vous souhaitez héberger le vôtre, modifiez ces valeurs :
syncthing_apt_key_id:
syncthing_apt_key_url:
syncthing_apt_repository:

# Si vous souhaitez modifier le nom ou le dossier de l'utilisateur Syncthing :
syncthing_user:
syncthing_user_home:

# Mettez ceci à false si vous ne souhaitez pas que le rôle crée et gère l'utilisateur.
# Vous devrez créer l'utilisateur spécifié dans syncthing_user manuellement
# _avant_ d'utiliser le rôle.
syncthing_manage_user:

# Mettez ceci à true pour récupérer la configuration de Syncthing depuis l'hôte distant,
# voir la section Exemple de Playbook.
syncthing_fetch_config:

# Où les fichiers récupérés seront écrits.
syncthing_fetch_dir:

# Contenu des fichiers de configuration
syncthing_config_cert:
syncthing_config_key:
syncthing_config_https_cert:
syncthing_config_https_key:
syncthing_config_config:

Dépendances

Aucune.

Exemple de Playbook

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

La configuration de Syncthing est dynamique et est modifiée à l'exécution via l'interface graphique.
Vous devrez récupérer la configuration depuis l'hôte et la sauvegarder dans les
variables syncthing_config_* si vous souhaitez la sécuriser et vous assurer qu'elle est
la configuration que vous avez réellement sur le serveur la prochaine fois que vous exécutez le rôle.

Ne pas récupérer la configuration avant de relancer le rôle signifie que
tous les nouveaux appareils/dossiers/configuration seront effacés de l'hôte distant.

Si vous ne définissez pas les variables syncthing_config_*, rien ne sera écrasé,
mais vous perdrez votre configuration si votre serveur plante.

# Récupérer la configuration générée
- hosts: servers
  roles:
    - { role: l-p.syncthing, syncthing_fetch_config: true }

Vous pouvez utiliser lookup pour lire les fichiers et définir les variables :

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

Je recommande d'utiliser ansible-vault pour chiffrer les clés, lookup les déchiffrera
à la volée.

Licence

MIT

À propos du projet

Install Syncthing on Debian 11

Installer
ansible-galaxy install L-P.syncthing
Licence
mit
Téléchargements
114
Propriétaire