98 lines
3.0 KiB
YAML
98 lines
3.0 KiB
YAML
---
|
|
- block:
|
|
- name: Create the gitea service user
|
|
user: name={{ gitea_user }} home=/srv/gitea createhome=yes shell=/bin/bash system=yes
|
|
when: gitea_create_service_user
|
|
|
|
- name: Create the gitea directory tree
|
|
file: dest={{ gitea_data_dir }}/{{ item }} state=directory owner={{ gitea_user }} group={{ gitea_group }}
|
|
with_items: '{{ gitea_data_subdirs }}'
|
|
when: gitea_create_service_user
|
|
|
|
- name: Create the gitea subdirs when we are using a pre existing user
|
|
become: True
|
|
become_user: '{{ gitea_user }}'
|
|
file: dest={{ gitea_data_dir }}/{{ item }} state=directory
|
|
with_items: '{{ gitea_data_subdirs }}'
|
|
when: not gitea_create_service_user
|
|
|
|
- name: Create the gitea conf directory
|
|
file: dest={{ gitea_conf_dir }} state=directory owner=root group={{ gitea_group }} mode=0750
|
|
|
|
- name: Create the gitea socket directory
|
|
file:
|
|
dest: '{{ gitea_socket_dir }}'
|
|
state: directory
|
|
owner: '{{ gitea_user }}'
|
|
group: '{{ gitea_group }}'
|
|
mode: 0755
|
|
|
|
- name: Create the gitea log directory
|
|
file:
|
|
dest: '{{ gitea_log_dir }}'
|
|
state: directory
|
|
owner: '{{ gitea_user }}'
|
|
group: '{{ gitea_group }}'
|
|
mode: 0755
|
|
|
|
- name: Download the gitea binary
|
|
get_url:
|
|
url: '{{ gitea_download_url }}'
|
|
dest: '{{ gitea_bin_path }}'
|
|
owner: root
|
|
group: '{{ gitea_group }}'
|
|
mode: 0750
|
|
|
|
- name: Force the download of the gitea binary to upgrade it
|
|
get_url:
|
|
url: '{{ gitea_download_url }}'
|
|
dest: '{{ gitea_bin_path }}'
|
|
owner: root
|
|
group: '{{ gitea_group }}'
|
|
mode: 0750
|
|
force: true
|
|
when: gitea_force_binary_download
|
|
|
|
- name: Install the required packages
|
|
package: state=present use=auto name={{ gitea_required_packages }}
|
|
|
|
- name: Install the gitea configuration file. At install time only
|
|
template: src=app.ini.j2 dest={{ gitea_conf_dir }}/app.ini owner={{ gitea_user }} group={{ gitea_group }} mode=0640 force=no
|
|
notify: restart gitea
|
|
|
|
- name: Change the gitea configuration. After the installation
|
|
ini_file:
|
|
path: '{{ gitea_conf_dir }}/app.ini'
|
|
section: '{{ item.section }}'
|
|
option: '{{ item.option }}'
|
|
value: '{{ item.value }}'
|
|
state: '{{ item.state }}'
|
|
owner: '{{ gitea_user }}'
|
|
group: '{{ gitea_group }}'
|
|
mode: '0640'
|
|
create: no
|
|
loop: '{{ gitea_app_configurations }}'
|
|
when: gitea_app_configurations is defined
|
|
notify: restart gitea
|
|
|
|
- name: Create the tmpfile entry for the gitea socket directory
|
|
template:
|
|
src: tmpfile_gitea.conf.j2
|
|
dest: /usr/lib/tmpfiles.d/gitea.conf
|
|
owner: root
|
|
group: root
|
|
mode: 0644
|
|
|
|
- name: Install the gitea systemd unit
|
|
template: src=gitea.service.systemd dest=/etc/systemd/system/gitea.service
|
|
register: gitea_systemd_unit
|
|
|
|
- name: Reload the systemd configuration
|
|
command: systemctl daemon-reload
|
|
when: gitea_systemd_unit is changed
|
|
|
|
- name: Ensure that the gitea service is running and enabled
|
|
service: name=gitea state=started enabled=yes
|
|
|
|
tags: [ 'git', 'gitea' ]
|