Files
ansible/roles/firefly3/tasks/firefly3.yml
VC bc8394105e
All checks were successful
ansible-lint / lint-everything (push) Successful in 4s
♻: move firefly3 to app dir
2025-03-09 15:01:51 +01:00

77 lines
2.0 KiB
YAML

---
## Remove the previous app & install the new version
- name: Remove Firefly3 previous version
ansible.builtin.file:
state: absent
dest: "{{ firefly3_app_home }}"
- name: Create app home
ansible.builtin.file:
state: directory
dest: "{{ firefly3_app_home }}"
owner: root
group: www-data
mode: "0o750"
- name: Install firefly3 application
ansible.builtin.unarchive:
remote_src: true
src: "{{ firefly3_url }}"
dest: "{{ firefly3_app_home }}"
owner: root
group: www-data
mode: "a-rwx,u+rwX,g+rX"
exclude: "{{ firefly3_userdata_app_dirs }}"
- name: Put config file
ansible.builtin.template:
src: "env.j2"
dest: "{{ firefly3_app_home }}/.env"
owner: root
group: www-data
mode: "0o640"
- name: Check writable dirs
ansible.builtin.file:
state: directory
dest: "{{ firefly3_app_home }}/{{ item }}"
owner: root
group: www-data
recurse: true
mode: "g+w"
loop: "{{ firefly3_writable_app_dirs }}"
## Ensure the data dirs exists, populate them if not
- name: Create data home
ansible.builtin.file:
state: directory
path: "{{ firefly3_data_home }}"
owner: www-data
group: www-data
mode: "0o750"
# If the first data dir exists, others should exist too
- name: Get data dir
ansible.builtin.stat:
path: "{{ firefly3_data_home }}/{{ firefly3_userdata_app_dirs[0] }}"
register: _firefly3_userdata_dir_stat
- name: Install Firefly3 data dir
ansible.builtin.unarchive:
remote_src: true
src: "{{ firefly3_url }}"
dest: "{{ firefly3_data_home }}"
owner: www-data
group: www-data
mode: "a-rwx,u+rwX,g+rX"
include: "{{ firefly3_userdata_app_dirs | map('regex_replace', '^', './') }}"
when: not _firefly3_userdata_dir_stat.stat.exists
- name: Link Firefly3 userdata dirs
ansible.builtin.file:
state: link
src: "{{ firefly3_data_home }}/{{ item }}"
dest: "{{ firefly3_app_home }}/{{ item }}"
loop: "{{ firefly3_userdata_app_dirs }}"