--- # tasks file for gotosocial - name: Create gotosocial user ansible.builtin.user: name: "{{ gotosocial_user }}" group: "{{ gotosocial_group }}" system: true state: present - name: Create gotosocial directories ansible.builtin.file: path: "{{ item }}" owner: "{{ gotosocial_user }}" group: "{{ gotosocial_group }}" mode: "0750" state: directory loop: - "{{ gotosocial_base_dir }}" - "{{ gotosocial_base_dir }}/storage" - "{{ gotosocial_base_dir }}/storage/certs" - name: Download gotosocial binary ansible.builtin.get_url: url: ${{ gotosocial_release_url }} dest: "{{ gotosocial_base_dir }}/" owner: "{{ gotosocial_user }}" group: "{{ gotosocial_group }}" force: false mode: "0750" register: gotosocial_tarball - name: Unpack gotosocial binary ansible.builtin.unarchive: src: "{{ gotosocial_tarball['dest'] }}" dest: "{{ gotosocial_base_dir }}/" remote_src: true owner: "{{ gotosocial_user }}" group: "{{ gotosocial_group }}" mode: "0750" keep_newer: true notify: Restart gotosocial - name: Template gotosocial configuration ansible.builtin.template: src: config.yaml.j2 dest: "{{ gotosocial_base_dir }}/config.yml" owner: "{{ gotosocial_user }}" group: "{{ gotosocial_group }}" mode: "0750" - name: Template gotosocial systemd service ansible.builtin.template: src: gotosocial.service.j2 dest: /etc/systemd/system/gotosocial.service owner: root group: root mode: "0640" - name: Enable and start gotosocial systemd service ansible.builtin.systemd: name: gotosocial.service state: started enabled: true