ansible rework

This commit is contained in:
Sergei Poljanski 2025-11-04 11:06:35 +02:00
commit eecff4345a
47 changed files with 1995 additions and 538 deletions

View file

@ -63,59 +63,45 @@
dest: /tmp/forgejo-restore/
remote_src: true
- name: Set backup source path
set_fact:
backup_source: "/tmp/forgejo-restore/forgejo-backup-staging"
- name: Copy database from backup
copy:
src: /tmp/forgejo-restore/gitea.db
src: "{{ backup_source }}/gitea.db"
dest: /opt/forgejo/data/gitea/gitea.db
remote_src: true
owner: 1000
group: 1000
mode: '0644'
- name: Copy avatars from backup
synchronize:
src: /tmp/forgejo-restore/data/avatars/
dest: /opt/forgejo/data/gitea/data/avatars/
delegate_to: "{{ inventory_hostname }}"
ignore_errors: true
- name: Copy repo-avatars from backup
synchronize:
src: /tmp/forgejo-restore/data/repo-avatars/
dest: /opt/forgejo/data/gitea/data/repo-avatars/
delegate_to: "{{ inventory_hostname }}"
ignore_errors: true
- name: Copy repo-archive from backup
synchronize:
src: /tmp/forgejo-restore/data/repo-archive/
dest: /opt/forgejo/data/gitea/data/repo-archive/
delegate_to: "{{ inventory_hostname }}"
ignore_errors: true
- name: Copy attachments from backup
synchronize:
src: /tmp/forgejo-restore/data/attachments/
dest: /opt/forgejo/data/gitea/data/attachments/
delegate_to: "{{ inventory_hostname }}"
ignore_errors: true
- name: Copy repositories from backup
synchronize:
src: /tmp/forgejo-restore/data/gitea-repositories/
dest: /opt/forgejo/data/git/repositories/
delegate_to: "{{ inventory_hostname }}"
- name: Copy data directories from backup
ansible.builtin.copy:
src: "{{ backup_source }}/data/{{ item.src }}/"
dest: "{{ forgejo_base_path | default('/opt/forgejo') }}/data/{{ item.dest }}/"
remote_src: true
owner: 1000
group: 1000
mode: preserve
loop:
- { src: "avatars", dest: "gitea/data/avatars" }
- { src: "repo-avatars", dest: "gitea/data/repo-avatars" }
- { src: "repo-archive", dest: "gitea/data/repo-archive" }
- { src: "attachments", dest: "gitea/data/attachments" }
- { src: "gitea-repositories", dest: "git/repositories" }
ignore_errors: "{{ item.src != 'gitea-repositories' }}" # Only fail on repositories copy failure
- name: Set correct ownership for all Forgejo data
file:
path: /opt/forgejo/data
ansible.builtin.file:
path: "{{ forgejo_base_path | default('/opt/forgejo') }}/data"
owner: 1000
group: 1000
recurse: true
- name: Start Forgejo container
community.docker.docker_compose_v2:
project_src: /opt/forgejo
project_src: "{{ forgejo_base_path | default('/opt/forgejo') }}"
state: present
- name: Wait for Forgejo to be healthy
@ -131,8 +117,9 @@
state: absent
- name: Verify users in database
shell: docker exec -u git forgejo forgejo admin user list
ansible.builtin.command: docker exec -u git forgejo forgejo admin user list
register: user_list
changed_when: false
ignore_errors: true
- name: Display restore information
@ -141,10 +128,10 @@
Forgejo restore completed successfully!
Users:
{{ user_list.stdout }}
{{ user_list.stdout_lines | join('\n ') }}
Forgejo is now running at:
- Internal: http://localhost:{{ forgejo_http_port }}
- Internal: http://{{ asxpio_ops_wireguard_ip }}:{{ forgejo_http_port }}
- External: https://{{ forgejo_domain }}
Next steps: