--- - name: Deploy Gitea hosts: gitea become: yes gather_facts: no vars: __gitea_version : 1.17.2 __gitea_arch : amd64 __gitea_binary : "https://dl.gitea.io/gitea/{{ __gitea_version }}/\ gitea-{{ __gitea_version }}-linux-{{ __gitea_arch }}" __gitea_user: name : gitea gecos : Git with a cup of tea shell : /bin/bash home : /home/gitea tasks: - name: Install Git package : name : git state : present - name: Check if Gitea is present and is correct version command : /usr/local/bin/gitea --version ignore_errors : yes changed_when : no register : r_check_gitea - name: Gitea presence and version verification debug : msg : "Gitea binary not found or version mismatch." when : - (r_check_gitea.rc == 1 or r_check_gitea.stdout is not search(__gitea_version)) - name: "Fetch Gitea {{ __gitea_version }}" get_url : url : "{{ __gitea_binary }}" dest : /usr/local/bin/gitea mode : 0755 when : - (r_check_gitea.rc == 1 or r_check_gitea.stdout is not search(__gitea_version)) - name: Create Gitea user user: name : "{{ __gitea_user.name }}" comment : "{{ __gitea_user.gecos }}" shell : "{{ __gitea_user.shell }}" home : "{{ __gitea_user.home }}" create_home : yes state : present - name: Create required directories file: path : "{{ item }}" state : directory recurse : yes owner : "{{ __gitea_user.name }}" group : "{{ __gitea_user.name }}" mode : 0750 loop: - /var/lib/gitea/custom - /var/lib/gitea/data - /var/lib/gitea/log - /etc/gitea - name: Deploy unit file for Gitea template: src : templates/gitea.service.j2 dest : /etc/systemd/system/gitea.service owner : root group : root mode : 0644 - name: Reload Systemd systemd: daemon_reload: yes - name: Start Gitea service: name : gitea state : started enabled : yes ...