1
0
Fork 0
ynh-lydra-ansible-yunohost/roles/ynh_setup/tasks/main.yml

126 lines
3.7 KiB
YAML

---
#-----------------------------------------------------------------------------#
# ansible-yunohost allows to deploy Yunohost using Ansible #
# Copyright 2021-present 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/>. #
# #
#-----------------------------------------------------------------------------#
- name: Update all packages and index
ansible.builtin.apt:
upgrade: dist
update_cache: yes
tags:
- pkg
- linux
- name: Install requirements
ansible.builtin.apt:
name:
- git
- dialog
state: present
tags:
- pkg
- linux
- name: Create backup directory
ansible.builtin.file:
path: "/home/yunohost.backup/archives"
state: directory
mode: "0755"
tags:
- linux
when: ynh_data_dirs_enabled
- name: Create data and config subdirs of Yunohost
ansible.builtin.file:
path: "{{ item.path }}"
state: directory
mode: "0755"
with_items:
- "{{ ynh_data_dirs }}"
tags:
- linux
when: ynh_data_dirs_enabled
- name: Create symbolic links for Yunohost subdirs
ansible.builtin.file:
src: "{{ item.path }}"
dest: "{{ item.link }}"
state: link
force: yes
with_items:
- "{{ ynh_data_dirs }}"
tags:
- linux
when: ynh_data_dirs_enabled
- name: Test if Yunohost is already installed
ansible.builtin.stat: path=/etc/yunohost/installed
register: ynh_file_install
tags:
- yunohost
- name: Download Yunohost install script
ansible.builtin.get_url:
url: "{{ ynh_install_script_url }}"
dest: /tmp/install_yunohost.sh
mode: 700
when: not ynh_file_install.stat.exists
tags:
- yunohost
- name: Launch Yunohost install script
ansible.builtin.command: /tmp/install_yunohost.sh -a
when: not ynh_file_install.stat.exists
tags:
- yunohost
- name: Launch Yunohost postinstall
ansible.builtin.command:
yunohost tools postinstall \
--domain "{{ ynh_main_domain }}" \
--password "{{ ynh_admin_password }}" \
{% if ynh_ignore_dyndns_server %} --ignore-dyndns {% endif %}
when: not ynh_file_install.stat.exists
tags:
- yunohost
- domains
- name: Create extra domains
ansible.builtin.include_tasks: domains.yml
when: ynh_extra_domains
tags:
- yunohost
- domains
- name: Run first Yunohost diagnosis
ansible.builtin.command: yunohost diagnosis run
when: not ynh_file_install.stat.exists
tags:
- yunohost
- name: Install domain certificates
ansible.builtin.command: yunohost domain cert-install
changed_when: False
tags:
- yunohost
- name: Add Yunohost users
ansible.builtin.include_tasks: users.yml
when: ynh_users
tags:
- yunohost
- users