Newer
Older
# Ansible Role: Yunohost
[🇬🇧 English version](README.md)
Deployez [Yunohost](https://yunohost.org/#/) 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.
```yml
# Script pour Debian 10 uniquement.
ynh_install_script_url: https://install.yunohost.org
ynh_admin_password: MYINSECUREPWD_PLZ_OVERRIDE_THIS
```
Le `ynh_install_script_url` récupère le script officiel pour l'installation des packages Yunohost. 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.
```yml
# 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 permettra 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](https://yunohost.org/fr/install/hardware:vps_debian)).
Les sous-domaines `ynh_extra_domains` sont optionnels et permettent d'installer une application par sous-domaine (plus d'infos [ici](https://yunohost.org/fr/dns_subdomains)).
`ynh_ignore_dyndns_server` permet d'enregistrer les domaines avec un service de DNS dynamique (plus d'infos [ici](https://yunohost.org/fr/dns_dynamicip)).
```yml
# Liste des utilisateurs Yunohost.
ynh_users:
- name: user1
pass: MYINSECUREPWD_PLZ_OVERRIDE_THIS
firstname: Jane
lastname: Doe
mail_domain: domain.tld
```
Les utilisateurs sont créés à partir de la variable `ynh_users`. 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](https://yunohost.org/fr/administrate/overview/users).
```yml
# Liste des applications Yunohost.
- 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
```
Les applications sont installées à partir de la variable `ynh_apps`. La variable `label` permet de donner un nom personnalisé à l'application sur l'interface utilisateur. `link` correspond au nom de l'application Yunohost qu'on souhaite installer. Concernant les arguments, `path` et `domain` sont indispensables. 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.
## Dépendances
Aucune.
## Exemple de Playbook
```yml
---
- 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:
- ansible-yunohost
```
## License
GPL-3.0