# Prepare to install Gitea: create user and directory structure - name: Create user gitea user: name: gitea comment: Gitea daemon account groups: gitea home: "{{ gitea_root_directory }}" tags: - pre-install - name: Create Gitea directory structure file: path: "{{ gitea_root_directory }}/{{item.item}}" state: directory owner: gitea group: gitea with_items: "{{ gitea_subdirectories }}" tags: - pre-install - name: Make directories data, indexers, and log writable file: path: "{{ gitea_root_directory }}/{{item.item}}" mode: 0750 with_items: - data - indexers - log tags: - pre-install # Download, verify, and link Gitea binary - name: Fail if we detect unknown architecture fail: msg: "Could not find a binary for the CPU architecture \"{{ ansible_architecture }}\"" when: gitea_iset_suffix == "unknown" - name: Download Gitea binary get_url: url: "{{ gitea_download_url }}" dest: "{{ gitea_install_path }}" mode: 0775 tags: - install when: internet_available - name: Download Gitea GPG signature get_url: url: "{{ gitea_integrity_url }}" dest: "{{ gitea_checksum_path }}" tags: - install when: internet_available - name: Verify Gitea binary with GPG signature shell: | gpg --keyserver pgp.mit.edu --recv 7C9E68152594688862D62AF62D9AE806EC1592E2 gpg --verify {{ gitea_checksum_path }} {{ gitea_install_path }} tags: - install - verify - name: Link Gitea file: src: "{{ gitea_install_path }}" dest: "{{ gitea_link_path }}" owner: gitea group: gitea state: link tags: - install # Configure Gitea - name: Create Gitea config directory file: path: /etc/gitea state: directory owner: root group: gitea mode: 0750 tags: - config - name: Create app.ini template: src: app.ini.j2 dest: /etc/gitea/app.ini owner: root group: gitea mode: 0644 tags: - config # Create systemd service - name: Create 'gitea' service template: src: gitea.service.j2 dest: "/etc/systemd/system/gitea.service" tags: - systemd - name: Enable 'gitea' service systemd: daemon_reload: yes name: gitea enabled: yes state: restarted when: gitea_enabled - name: Disable 'gitea' service systemd: name: gitea enabled: no state: stopped when: not gitea_enabled # Configure HTTPD - name: Copy gitea httpd conf file template: src: gitea.conf.j2 dest: "/etc/{{ apache_config_dir }}/gitea.conf" - name: Enable httpd conf file if we are disabled (debuntu) file: src: /etc/{{ apache_config_dir }}/gitea.conf dest: /etc/apache2/sites-enabled/gitea.conf state: link when: gitea_enabled and is_debuntu - name: Remove httpd conf file if we are disabled (OS's other than debuntu) file: path: /etc/apache2/sites-enabled/gitea.conf state: absent when: not gitea_enabled and is_debuntu - name: Restart Apache, so it picks up the new aliases service: name: "{{ apache_service }}" state: restarted # Add Gitea to registry - name: Add 'gitea' to list of services at {{ iiab_ini_file }} ini_file: dest: "{{ iiab_ini_file }}" section: gitea option: "{{ item.option }}" value: "{{ item.value }}" with_items: - option: name value: gitea - option: description value: '"Gitea: Git with a cup of tea"' - option: gitea_run_directory value: "{{ gitea_run_directory }}" - option: gitea_url value: "{{ gitea_url }}" - option: gitea_full_url value: "{{ gitea_full_url }}" - option: gitea_enabled value: "{{ gitea_enabled }}"