66 lines
1.8 KiB
YAML
66 lines
1.8 KiB
YAML
---
|
|
- name: Ensure Gitea service user exists
|
|
ansible.builtin.user:
|
|
name: "{{ gitea.service_user }}"
|
|
groups:
|
|
- "{{ gitea.service_group }}"
|
|
append: true
|
|
system: true
|
|
shell: /usr/sbin/nologin
|
|
create_home: false
|
|
|
|
- name: Look up Gitea service user account details
|
|
ansible.builtin.getent:
|
|
database: passwd
|
|
key: "{{ gitea.service_user }}"
|
|
|
|
- name: Look up Gitea service group details
|
|
ansible.builtin.getent:
|
|
database: group
|
|
key: "{{ gitea.service_group }}"
|
|
|
|
- name: Set Gitea runtime UID and GID from host account
|
|
ansible.builtin.set_fact:
|
|
gitea_runtime_uid: "{{ getent_passwd[gitea.service_user][1] }}"
|
|
gitea_runtime_gid: "{{ getent_group[gitea.service_group][1] }}"
|
|
|
|
- name: Ensure Gitea directories exist
|
|
ansible.builtin.file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
owner: "{{ gitea.service_user }}"
|
|
group: "{{ gitea.service_group }}"
|
|
mode: "0755"
|
|
loop:
|
|
- "{{ gitea.path }}"
|
|
- "{{ gitea.data_dir }}"
|
|
|
|
- name: Render Gitea compose file
|
|
ansible.builtin.template:
|
|
src: compose.yaml.j2
|
|
dest: "{{ gitea.path }}/compose.yaml"
|
|
owner: "{{ gitea.service_user }}"
|
|
group: "{{ gitea.service_group }}"
|
|
mode: "0640"
|
|
register: gitea_compose
|
|
|
|
- name: Install Gitea compose systemd unit
|
|
ansible.builtin.template:
|
|
src: gitea-compose.service.j2
|
|
dest: /etc/systemd/system/gitea-compose.service
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
register: gitea_unit
|
|
|
|
- name: Reload systemd for Gitea unit changes
|
|
ansible.builtin.systemd_service:
|
|
daemon_reload: true
|
|
when: gitea_unit.changed
|
|
|
|
- name: Enable Gitea compose stack
|
|
ansible.builtin.service:
|
|
name: gitea-compose
|
|
state: "{{ 'restarted' if (gitea_compose.changed or gitea_unit.changed) else 'started' }}"
|
|
enabled: true
|