Ansible Role: Yunohost
Deploy Yunohost with Ansible!
Requirements
None.
Role Variables
Default variables are available in default/main.yml
however it is necessary to override them according to your needs for Yunohost domains, users and apps.
# Debian 10 script only.
ynh_install_script_url: https://install.yunohost.org
ynh_admin_password: MYINSECUREPWD_PLZ_OVERRIDE_THIS
ynh_install_script_url
downloads official Yunohost script for installing Yunohost packages. Yunohost is only available on Debian 10.
ynh_admin_password
is the password used to access to the server's administration interface.
# The list of Yunohost domains.
ynh_main_domain: domain.tld
ynh_extra_domains:
- forum.domain.tld
- wiki.domain.tld
ynh_ignore_dyndns_server: False
ynh_main_domain
is the main domain used by the server's users to access the authentication portal. If you already own a domain name, you probably want to use it here. You can also use a domain in .nohost.me / .noho.st / .ynh.fr (more info here).
ynh_extra_domains
are optional and allow you to install one app per subdomain (more info here).
ynh_ignore_dyndns_server
allow to register domains with a Dynamic DNS service (more info here).
# The list of Yunohost users.
ynh_users:
- name: user1
pass: MYINSECUREPWD_PLZ_OVERRIDE_THIS
firstname: Jane
lastname: Doe
mail_domain: domain.tld
Yunohost users are created from ynh_users
variable. Each field is mandatory. Some Yunohost applications require that a user be the app administrator. He will then have the right to manage the application from the server administration interface. You can learn more about Yunohost user management here.
# The list of Yunohost apps.
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
Applications are installed from the ynh_apps
variable. The label
variable is used to give a custom name to the application on the user interface. link
is the name of the Yunohost application we want to install. Regarding the arguments, path
and domain
are essential. For the other arguments, you have to refer to the manifest.json
available in the repository of the Yunohost application you are installing.
Dependencies
None.
Example 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:
- ansible-yunohost
License
GPL-3.0