63 lines
1.6 KiB
YAML
63 lines
1.6 KiB
YAML
---
|
|
# 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
|