ansible-role-gitea/tasks/main.yaml
Marius Alwan Meyer caf3fb6e3e
Some checks failed
ansible-lint / Ansible Lint (push) Failing after 12s
make ansible-lint a little happier
2023-04-28 22:17:06 +00:00

117 lines
2.9 KiB
YAML

#- name: Install Dependencies
# apt:
# pkg:
# - apparmor
# - docker.io
# - python3-docker
- name: Create git USER
ansible.builtin.user:
name: git
register: git_user
- name: Create Gitea
ansible.builtin.file:
path: "/opt/gitea"
state: directory
owner: root
mode: "755"
- name: Create Data Directory
ansible.builtin.file:
path: "/opt/gitea/data"
state: directory
owner: "{{ git_user.uid }}"
group: "{{ git_user.group }}"
mode: "700"
- name: Create Config Directory
ansible.builtin.file:
path: "/opt/gitea/config"
state: directory
owner: "{{ git_user.uid }}"
group: "{{ git_user.group }}"
mode: "700"
- name: Start Docker Daemon
ansible.builtin.systemd:
name: docker
enabled: true
state: started
- name: Backup Files
block:
- name: Stop Gitea for Backup
community.docker.docker_compose:
project_src: /opt/gitea
state: present
stopped: true
- name: Backup Gitea Directory
ansible.builtin.copy:
src: /opt/gitea
dest: "/opt/gitea.backup@{{ ansible_date_time.iso8601 }}"
remote_src: true
directory_mode: true
register: backup
- name: Apply Changes
block:
- name: Upload Environment File
ansible.builtin.template:
src: environment.env.j2
dest: "/opt/gitea/environment.env"
owner: root
mode: "600"
register: gitea_env
- name: Upload docker-compose.yaml
ansible.builtin.template:
src: docker-compose.yaml.j2
dest: /opt/gitea/docker-compose.yaml
owner: root
mode: "600"
register: gitea_container
- name: Create / Recreate Gitea
community.docker.docker_compose:
project_src: /opt/gitea
state: present
restarted: true
when: gitea_env.changed or gitea_container.changed
- name: Check if {{ gitea.hostname }}.{{ gitea.domain }} is available and returning status 200
ansible.builtin.uri:
url: "https://{{ gitea.hostname }}.{{ gitea.domain }}"
register: _result
until: _result.status == 200
retries: 30
delay: 2
rescue:
- name: Stop Gitea for Backup
community.docker.docker_compose:
project_src: /opt/gitea
state: present
stopped: true
- name: Restore Gitea Directory from Backup
ansible.builtin.copy:
src: "{{ backup.dest }}"
dest: "{{ backup.src }}"
remote_src: true
- name: Create / Recreate Gitea
community.docker.docker_compose:
project_src: /opt/gitea
state: present
restarted: true
always:
- name: Check if {{ gitea.hostname }}.{{ gitea.domain }} is available and returning status 200
ansible.builtin.uri:
url: "https://{{ gitea.hostname }}.{{ gitea.domain }}"
register: _result
until: _result.status == 200
retries: 30
delay: 2