Files
homelab/ansible/playbooks/roles/gitea/tasks/main.yml
2026-05-16 16:22:14 -05:00

67 lines
2.7 KiB
YAML

---
# ------------------------------------------------------------------------------
# FILE: ansible/playbooks/roles/gitea/tasks/main.yml
# ------------------------------------------------------------------------------
# ── Directories ────────────────────────────────────────────────────────────────
- name: Create Gitea compose directory
ansible.builtin.file:
path: "{{ gitea_compose_dir }}"
state: directory
owner: root
group: root
mode: "0755"
# ── Compose & env ──────────────────────────────────────────────────────────────
- name: Deploy Gitea compose file from boilerplate
ansible.builtin.copy:
src: "{{ playbook_dir }}/../../boilerplates/gitea/compose.yaml"
dest: "{{ gitea_compose_dir }}/compose.yaml"
owner: root
group: root
mode: "0644"
notify: restart gitea
- name: Deploy .env file with secrets from vault
ansible.builtin.template:
src: env.j2
dest: "{{ gitea_compose_dir }}/.env"
owner: root
group: root
mode: "0600"
notify: restart gitea
# ── Compose stack ──────────────────────────────────────────────────────────────
- name: Start Gitea stack
community.docker.docker_compose_v2:
project_src: "{{ gitea_compose_dir }}"
state: present
recreate: always
# ── Traefik route ──────────────────────────────────────────────────────────────
# - name: Deploy Traefik dynamic config for Gitea
# ansible.builtin.copy:
# src: "{{ playbook_dir }}/../../boilerplates/traefik/dynamic/gitea.yml"
# dest: "{{ traefik_dynamic_config_dir }}/gitea.yml"
# owner: root
# group: root
# mode: "0644"
# delegate_to: localhost
# ── DNS ────────────────────────────────────────────────────────────────────────
# - name: Create DNS CNAME for Gitea
# ansible.builtin.include_role:
# name: add_service_route
# vars:
# service_name: "{{ gitea_cname_name }}"
# service_domain: "{{ gitea_cname_domain }}"
# target_host: "{{ gitea_cname_target }}"
- name: Configure Authentik OIDC source
ansible.builtin.import_tasks: configure_oidc.yml
when: gitea_oidc_enabled | bool
tags: oidc