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
ansible-galaxy install L-P.syncthing