5.8 KiB
Rôle Ansible : Yunohost
Déployez Yunohost avec Ansible !
Prérequis
Aucun.
Variables du rôle
Les variables par défaut sont disponibles dans default/main.yml
cependant il est nécessaire de les surcharger selon vos besoins en termes de domaines, d'utilisateurs et d'applications sur Yunohost.
Installation de Yunohost
# Script pour Debian 10 uniquement.
ynh_install_script_url: https://install.yunohost.org
ynh_admin_password: MYINSECUREPWD_PLZ_OVERRIDE_THIS
ynh_install_script_url
est le script d'installation des packages Yunohost, par défaut c'est le script officiel. Yunohost ne s'installe que sur Debian 10.ynh_admin_password
est le mot de passe permettant d'accéder à l’interface d’administration du serveur.
Gestion des domaines
# Liste des domaines gérés par Yunohost.
ynh_main_domain: domain.tld
ynh_extra_domains:
- forum.domain.tld
- wiki.domain.tld
ynh_ignore_dyndns_server: False
ynh_main_domain
correspond au domaine principal qui permet l’accès au serveur ainsi qu’au portail d’authentification des utilisateurs. On peut se contenter d'un nom de domaine qui nous appartient ou en utiliser un en .nohost.me / .noho.st / .ynh.fr (plus d'infos ici).ynh_extra_domains
sont des sous-domaines optionnels. Ils permettent d'installer une application par sous-domaine (plus d'infos ici).ynh_ignore_dyndns_server
permet d'enregistrer les domaines avec un service de DNS dynamique (plus d'infos ici).
Configuration d'un relais SMTP
# paramètres personnalisés du relais SMTP
ynh_smtp_relay:
host: smtp.domain.tld
port: 25
user: user1
password: Pa$$w0rd
Yunohost possède son propre serveur SMTP natif mais il est aussi possible de configurer Yunohost pour qu'il utilise un relais SMTP à la place.
Pour faire cela, créez la variable ynh_smtp_relay
et mettez vos propres valeurs. Vous pouvez en apprendre plus sur les relais SMTP ici.
Gestion des utilisateurs
# Liste des utilisateurs Yunohost.
ynh_users:
- name: user1
pass: MYINSECUREPWD_PLZ_OVERRIDE_THIS
firstname: Jane
lastname: Doe
mail_domain: domain.tld
ynh_users
est la liste des utilisateurs à créer. Chaque champ est obligatoire. Certaines applications Yunohost nécessitent qu'un utilisateur soit administrateur de l'application. Il aura ensuite le droit de gérer l'application depuis l'interface l'administration du serveur. Vous pouvez en apprendre plus sur la gestion des utilisateurs Yunohost ici.
Gestion des applications
# Liste des applications Yunohost.
ynh_apps:
- label: WikiJS
link: wikijs
args:
domain: wiki.domain.tld
path: /
admin: user1
is_public: no
- label: Discourse
link: discourse
args:
domain: forum.domain.tld
path: /
admin: user1
is_public: yes
ynh_apps
est la liste des applications à installer.label
permet de donner un nom personnalisé à l'application sur l'interface utilisateur.link
correspond au nom de l'application Yunohost qu'on veut installer.
Concernant les arguments :
domain
est indispensable. Il faut choisir un des domaines de son instance Yunohost.path
est indispensable. Il faut choisir une URL pour accéder à son application commedomain.tld/my_app
. Utilisez juste/
si l'application doit s'installer sur un sous-domaine.is_public
est un argument qu'on retrouve souvent. Paramétré suryes
, l'application sera accessible à tout le monde, même sans authentification sur le portail SSO Yunohost. Paramétré surno
, l'application ne sera accessible qu'après authentification.
Pour les autres arguments, il faut se référer au manifest.json
disponible dans le dépôt de l'application Yunohost qu'on installe. Vous pouvez en apprendre plus sur cette partie ici.
Dépendances
Aucune.
Exemple de Playbook
---
- name: Install Yunohost on Debian Server
hosts: all
become: True
pre_tasks:
- name: Update all packages and index
ansible.builtin.apt:
upgrade: dist
update_cache: yes
roles:
- lydra.yunohost
License
ansible-yunohost est maintenu par Lydra et publié sous la licence GPL3.