Files
ansible/roles/freshrss/tasks/freshrss.yml
VC 6165124acb
All checks were successful
ansible-lint / lint-everything (push) Successful in 4s
🚑: specific the absolute exclude list to avoid conflicts
2025-03-09 16:53:59 +01:00

70 lines
2.0 KiB
YAML

---
## Remove the previous app & install the new version
- name: Remove freshrss previous version
ansible.builtin.file:
state: absent
dest: "{{ freshrss_app_home }}"
- name: Create app home
ansible.builtin.file:
state: directory
dest: "{{ freshrss_app_home }}"
owner: root
group: www-data
mode: "0o750"
- name: Install freshrss application
ansible.builtin.unarchive:
remote_src: true
src: "{{ freshrss_url }}"
dest: "{{ freshrss_app_home }}"
owner: root
group: www-data
mode: "a-rwx,u+rwX,g+rX"
extra_opts: ['--strip-components=1']
exclude: "{{ freshrss_userdata_app_dirs | map('regex_replace', '^', 'FreshRSS-' ~ freshrss_version ~ '/') }}"
## Ensure the data dirs exist, populate them if not
- name: Create data home
ansible.builtin.file:
state: directory
path: "{{ freshrss_data_home }}"
owner: www-data
group: www-data
mode: "a-rwx,u+rwX,g+rX"
# If the first data dir exists, other should exist too
- name: Get data dir
ansible.builtin.stat:
path: "{{ freshrss_data_home }}/{{ freshrss_userdata_app_dirs[0] }}"
register: _freshrss_userdata_dir_stat
- name: Install freshrss data dir
ansible.builtin.unarchive:
remote_src: true
src: "{{ freshrss_url }}"
dest: "{{ freshrss_data_home }}"
owner: www-data
group: www-data
mode: "a-rwx,u+rwX,g+rX"
extra_opts: ['--strip-components=1']
include: "{{ freshrss_userdata_app_dirs | map('regex_replace', '^', 'FreshRSS-' ~ freshrss_version ~ '/') }}"
when: not _freshrss_userdata_dir_stat.stat.exists
- name: Link FreshRSS userdata dirs
ansible.builtin.file:
state: link
src: "{{ freshrss_data_home }}/{{ item }}"
dest: "{{ freshrss_app_home }}/{{ item }}"
loop: "{{ freshrss_userdata_app_dirs }}"
# Config file is inside `data/`, so we must put it last
- name: Put freshrss configuration file
ansible.builtin.template:
src: config.php.j2
dest: "{{ freshrss_config_path }}"
owner: www-data
group: www-data
mode: "0o640"