--- - name: Install GoAccess and jq ansible.builtin.apt: name: - goaccess - jq state: present - name: Create GoAccess directories ansible.builtin.file: path: "{{ item }}" state: directory owner: root group: root mode: "0755" loop: - /srv/goaccess - /srv/goaccess/data - /srv/goaccess/reports - name: Deploy GoAccess config ansible.builtin.template: src: goaccess.conf.j2 dest: /srv/goaccess/goaccess.conf owner: root group: root mode: "0644" - name: Deploy report generation script ansible.builtin.template: src: goaccess-report.sh.j2 dest: /usr/local/bin/goaccess-report owner: root group: root mode: "0755" - name: Deploy report generation systemd service ansible.builtin.template: src: goaccess-report.service.j2 dest: /etc/systemd/system/goaccess-report.service owner: root group: root mode: "0644" notify: Reload systemd - name: Deploy report generation systemd timer ansible.builtin.template: src: goaccess-report.timer.j2 dest: /etc/systemd/system/goaccess-report.timer owner: root group: root mode: "0644" notify: Reload systemd - name: Deploy sync script ansible.builtin.template: src: goaccess-sync.sh.j2 dest: /usr/local/bin/goaccess-sync owner: root group: root mode: "0755" - name: Deploy sync systemd service ansible.builtin.template: src: goaccess-sync.service.j2 dest: /etc/systemd/system/goaccess-sync.service owner: root group: root mode: "0644" notify: Reload systemd - name: Deploy sync systemd timer ansible.builtin.template: src: goaccess-sync.timer.j2 dest: /etc/systemd/system/goaccess-sync.timer owner: root group: root mode: "0644" notify: Reload systemd - name: Flush handlers to reload systemd ansible.builtin.meta: flush_handlers - name: Enable and start GoAccess timers ansible.builtin.systemd: name: "{{ item }}" enabled: true state: started loop: - goaccess-report.timer - goaccess-sync.timer