diff --git a/ansible/roles/kiwix/tasks/main.yml b/ansible/roles/kiwix/tasks/main.yml index b1637f4..39794d3 100644 --- a/ansible/roles/kiwix/tasks/main.yml +++ b/ansible/roles/kiwix/tasks/main.yml @@ -158,6 +158,18 @@ - not item.stat.exists notify: restart kiwix-serve +# --- Determine which archives are available --- +- name: Find available ZIM archives in kiwix directory + ansible.builtin.find: + paths: "{{ kiwix_zim_dir }}" + patterns: "*.zim" + file_type: any # includes symlinks + register: available_zim_files + +- name: Build list of available archive filenames + ansible.builtin.set_fact: + kiwix_available_archives: "{{ available_zim_files.files | map(attribute='path') | map('basename') | list }}" + # --- LaunchAgent deployment --- - name: Deploy kiwix-serve LaunchAgent plist ansible.builtin.template: diff --git a/ansible/roles/kiwix/templates/kiwix-serve.plist.j2 b/ansible/roles/kiwix/templates/kiwix-serve.plist.j2 index 5d84916..26a61d1 100644 --- a/ansible/roles/kiwix/templates/kiwix-serve.plist.j2 +++ b/ansible/roles/kiwix/templates/kiwix-serve.plist.j2 @@ -11,8 +11,8 @@ {{ kiwix_serve_bin }} --port={{ kiwix_port }} -{% for archive in kiwix_zim_archives %} - {{ kiwix_zim_dir }}/{{ archive.filename }} +{% for filename in kiwix_available_archives %} + {{ kiwix_zim_dir }}/{{ filename }} {% endfor %} RunAtLoad