self-hosting/roles/forgejo/tasks/repos.yml

28 lines
932 B
YAML

---
- name: Push latest forgejo dump zipfile (no user input)
become: true
ansible.builtin.copy:
src: "{{ forgejo_dump_path }}"
dest: "{{ forgejo_run_dir }}/forgejo-dumps/{{ forgejo_dump_path | basename }}"
owner: git
group: git
mode: 0640
- name: Find all forgejo dumps on the server
become: true
ansible.builtin.find:
paths: "{{ forgejo_run_dir }}/forgejo-dumps/"
register: all_forgejo_dumps
- name: Find latest forgejo dump on the server
ansible.builtin.set_fact:
latest_forgejo_dump: "{{ all_forgejo_dumps.files | sort(attribute='mtime') | last }}"
- name: Deploy repos from latest forgejo dump
become: true
become_user: git
ansible.builtin.command:
cmd: "/usr/local/bin/forgejo-backup.sh restore {{ latest_forgejo_dump.path }}"
# when this dir exists, the command won't run, so we don't overwrite existing repos
creates: "{{ forgejo_run_dir }}/forgejo-repositories"