--- - name: Goatcounter hosts: servers gather_facts: false tasks: - name: Get latest release community.general.github_release: action: latest_release user: arp242 repo: goatcounter register: release - name: Print release ansible.builtin.debug: var: release.tag - name: Download binary ansible.builtin.get_url: url: https://github.com/arp242/goatcounter/releases/download/{{ release.tag }}/goatcounter-{{ release.tag }}-linux-amd64.gz dest: "{{ base_dir }}/goatcounter-{{ release.tag }}.gz" mode: "0644" owner: gaugendre group: gaugendre - name: Uncompress ansible.builtin.command: gunzip {{ base_dir }}/goatcounter-{{ release.tag }}.gz args: creates: "{{ base_dir }}/goatcounter-{{ release.tag }}" - name: Make executable ansible.builtin.file: path: "{{ base_dir }}/goatcounter-{{ release.tag }}" mode: "0775" - name: Symlink ansible.builtin.file: src: "{{ base_dir }}/goatcounter-{{ release.tag }}" dest: "{{ base_dir }}/goatcounter" state: link - name: Write service unit file become: true ansible.builtin.template: src: templates/goatcounter.service.j2 dest: /etc/systemd/system/goatcounter.service mode: "0644" owner: root group: root notify: - Daemon-reload - Restart service - name: Flush handlers ansible.builtin.meta: flush_handlers - name: Ensure service is running become: true ansible.builtin.service: name: goatcounter state: started enabled: true handlers: - name: Daemon-reload become: true ansible.builtin.systemd: daemon_reload: true - name: Restart service become: true ansible.builtin.service: name: goatcounter state: restarted vars: ansible_python_interpreter: /tmp/ansible/bin/python base_dir: /mnt/data/goatcounter gc_mailgun_api_key: !vault | $ANSIBLE_VAULT;1.1;AES256 31386237653033306338393237353961396535363061363931643863653461333631376365663338 3266346337353564656539666235656265356435343834380a616232383839663639616537393233 64303764306639636136346233366666633765393565353062396632636163643031616235303130 3662343162643033380a326161313036643835636562636165356464393236303533303435353365 36336163313338346235396565363631366564393562326536353262363637653432643830663532 30356133383335653330613965623261323531613131663437363430636565393262353565326132 323830313235313462633335333763363161