55 lines
2.6 KiB
YAML
55 lines
2.6 KiB
YAML
---
|
|
#-----------------------------------------------------------------------------#
|
|
# ansible-yunohost allows to deploy Yunohost using Ansible #
|
|
# Copyright 2021-2021 Lydra https://www.lydra.fr/ #
|
|
# #
|
|
# this program is free software: you can redistribute it and/or modify #
|
|
# it under the terms of the GNU General Public License as published by #
|
|
# the Free Software Foundation, either version 3 of the License, or #
|
|
# (at your option) any later version. #
|
|
# #
|
|
# this program is distributed in the hope that it will be useful, #
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
|
|
# GNU General Public License for more details. #
|
|
# #
|
|
# You should have received a copy of the GNU General Public License #
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
|
|
# #
|
|
#-----------------------------------------------------------------------------#
|
|
|
|
# Installation part
|
|
- name: Install yunohost apps
|
|
ansible.builtin.command: yunohost app install {{ ynh_app.link }} \
|
|
--label "{{ ynh_app.label }}" \
|
|
--args "{% for key, value in ynh_app.args.items() %}{{ key }}={{ value }}{% if not loop.last %}&{% endif %}{% endfor %}"
|
|
changed_when: False
|
|
|
|
# Post-installation part
|
|
- name: Create post-install template
|
|
ansible.builtin.template:
|
|
src: "{{ item.src }}"
|
|
dest: "{{ item.dest }}"
|
|
owner: "{{ item.owner | default(ynh_app.link) }}"
|
|
group: "{{ item.group | default('www-data') }}"
|
|
mode: "{{ (item.type == 'script') | ternary('740', '660') }}"
|
|
loop: "{{ ynh_app.post_install|default([]) }}"
|
|
when: ynh_app.post_install
|
|
|
|
- name: Launch post-install script
|
|
ansible.builtin.command: "{{ ynh_app_post_install.dest }}"
|
|
args:
|
|
chdir: /tmp/
|
|
loop: "{{ ynh_app.post_install|default([]) }}"
|
|
loop_control:
|
|
loop_var: ynh_app_post_install
|
|
when: ynh_app_post_install.type == "script"
|
|
|
|
- name: Remove script after execution
|
|
ansible.builtin.file:
|
|
path: "{{ ynh_app_post_install.dest }}"
|
|
state: absent
|
|
loop: "{{ ynh_app.post_install|default([]) }}"
|
|
loop_control:
|
|
loop_var: ynh_app_post_install
|
|
when: ynh_app_post_install.type == "script"
|