From c9df8a2fa0a6bbe983aba89169bee1c70c9fef40 Mon Sep 17 00:00:00 2001 From: staffadmin Date: Tue, 5 Aug 2025 00:17:21 +0200 Subject: [PATCH] [Add backup full gitea + docker] --- backup-gitea.yml | 71 -------------------------------- backup.yml | 103 +++-------------------------------------------- 2 files changed, 6 insertions(+), 168 deletions(-) delete mode 100644 backup-gitea.yml diff --git a/backup-gitea.yml b/backup-gitea.yml deleted file mode 100644 index dbb816c..0000000 --- a/backup-gitea.yml +++ /dev/null @@ -1,71 +0,0 @@ -- hosts: tower - vars: - dockerapps_path: /opt/dockerapps - gitea_conf: /appdata/gitea/gitea/ - #backup: /backup/gitea - - gitea_db: /appdata/gitea/gitea-db/gitea-db-pg.sql - # become: true - gather_facts: false - tasks: - - - ansible.builtin.file: - path: "{{ dockerapps_path }}/backup/gitea" - state: directory - - # mode: '0755' -#/opt/dockerapps/appdata/gitea/gitea/gitea-dump-*.zip - - name: DUMP gitea conf - community.docker.docker_container_exec: - container: gitea - command: gitea dump -c /data/gitea/conf/app.ini - user: git - chdir: /data - - - ansible.builtin.find: - paths: "{{ dockerapps_path }}{{ gitea_conf }}" - patterns: 'gitea-dump-*.zip' - register: result_gitea_conf - - - name: Print stdout - ansible.builtin.debug: - var: result_gitea_conf - - - name: Copy file with owner and permissions - ansible.builtin.copy: - src: "{{ item.path }}" - dest: "{{ dockerapps_path }}/backup/gitea/{{ item.path.split('/')[-1]}}" - loop: "{{ result_gitea_conf.files }}" - # owner: foo - # group: foo - # mode: '0644' - - -#! need root -# root@scaleway:/opt/dockerapps/appdata/gitea/gitea-db/gitea-db-pg.sql - - - name: PG_DUMP postgresql db - community.docker.docker_container_exec: - container: gitea-db - command: pg_dump -U root gitea -f /var/lib/postgresql/data/gitea-db-pg.sql - # chdir: "{{ dockerapps_path }}" - register: result_gitea_db - - - ansible.builtin.debug: - var: result_gitea_db.stdout - - - name: Copy file with owner and permissions - become: true - ansible.builtin.copy: - src: "{{ dockerapps_path }}{{ gitea_db }}" - dest: "{{ dockerapps_path }}/backup/gitea/{{ gitea_db.split('/')[-1] }}" - # owner: "{{ }}" - # group: foo - # mode: '0644' - - -# docker exec -u git -w /data/ gitea gitea dump -c /data/gitea/conf/app.ini -# mv /opt/dockerapps/appdata/gitea/gitea/gitea-dump-*.zip /opt/dockerapps/backup/ -# docker exec gitea-db pg_dump -U root gitea > gitea-db-pg.sql -# mv ./gitea-db-pg.sql /opt/dockerapps/backup/ -# find /opt/dockerapps/backup/ -mtime +7 -exec rm {} \; \ No newline at end of file diff --git a/backup.yml b/backup.yml index 3713426..2f6de53 100644 --- a/backup.yml +++ b/backup.yml @@ -173,102 +173,11 @@ dest: "{{ dockerapps_path }}/backup/gitea/{{ gitea_db.split('/')[-1] }}" remote_src: true -# curl -u "$username:$password" -H "Title: HTTPS Certificats" -H "ta:closed_lock_with_key" -d "*.jingoh.fr Less than 20 days" https://alert.jingoh.fr/scaleway - - # when: cert.not_after - ansible_date_time.iso8601_basic > - # - name: NTFY when docker compose changed - # uri: - # url: "https://alert.jingoh.fr/scaleway" - # method: POST - # headers: - # user: "{{ username }}" - # password: "{{ password }}" - # Title: "docker-compose changed" - # ta: "file_folder" - # body: "Docker compose backup in gitea" - # status_code: 200 - # tags: test1 - # delegate_to: localhost - # when: fetch_files_backup.changed is true - # when: - # - "{{ ((cert.not_after | to_datetime('%Y%m%d%H%M%SZ') ) - (ansible_date_time.date | to_datetime('%Y-%m-%d') )).days < 10 }}" - - - - - # - name: Exécuter le conteneur Docker - # community.docker.docker_container: - # name: vaultwarden-backup - # image: bruceforce/vaultwarden-backup - # state: started - # auto_remove: true - # command: manual - # volumes_from: - # - vault - # env: - # UID: "0" - # BACKUP_DIR: "/data/backup" - # TIMESTAMP: "true" - # ENCRYPTION_PASSWORD: "{{ vault_pass }}" - # # tags: dock - # when: inventory_hostname in groups['controller'] - - # - name: Supprimer les fichiers de sauvegarde de Vaultwarden plus anciens que 7 jours - # find: - # paths: /opt/dockerapps/appdata/vaultwarden/backup/ - # age: 7d - # register: files_to_remove - # become: true - # when: inventory_hostname in groups['controller'] - # tags: dock - - # - name: Supprimer les fichiers plus anciens que 7 jours - # file: - # path: "{{ item.path }}" - # state: absent - # loop: "{{ files_to_remove.files }}" - # tags: dock - # become: true - - # - name: Backup vault - # uri: - # url: "https://alert.jingoh.fr/scaleway" - # method: POST - # user: "{{ username }}" - # password: "{{ password }}" - # headers: - # Title: "Backup Vault" - # ta: "inbox_tray" - # body: "Local Backup vault done !" - # status_code: 200 - # tags: dock - # delegate_to: localhost - - - # - name: Exécuter la commande dans le conteneur Docker - # community.docker.docker_container: - # name: gitea - # command: "gitea dump -c /data/gitea/conf/app.ini" - # user: git - # working_dir: /data/ - # state: present - # interactive: no - # image: gitea/gitea:latest - # tty: no - # tags: git - - - - # docker exec -u git -w /data/ gitea gitea dump -c /data/gitea/conf/app.ini - # mv /opt/dockerapps/appdata/gitea/gitea/gitea-dump-*.zip /opt/dockerapps/backup/ - # docker exec gitea-db pg_dump -U root gitea > gitea-db-pg.sql - # mv ./gitea-db-pg.sql /opt/dockerapps/backup/ - # find /opt/dockerapps/backup/ -mtime +7 -exec rm {} \; - # curl -u "$username:$password" -H "Title: Backup gitea" -H "ta:inbox_tray" -d "Local Backup gitea done !" https://alert.jingoh.fr/scaleway - - # docker run --rm --volumes-from=vault -e UID=0 -e BACKUP_DIR=/data/backup -e TIMESTAMP=true -e ENCRYPTION_PASSWORD="$VAULT" bruceforce/vaultwarden-backup manual - # chown -R stephane:stephane /opt/dockerapps/appdata/vaultwarden/backup - # find /opt/dockerapps/appdata/vaultwarden/backup/ -mtime +7 -exec rm {} \; - # curl -u "$username:$password" -H "Title: Backup vault" -H "ta:inbox_tray" -d "Local Backup vault done !" https://alert.jingoh.fr/scaleway + - ansible.builtin.file: + path: "{{ dockerapps_path }}/backup" + state: directory + mode: 0755 + recurse: true + become: true