[Add backup full gitea + docker]
This commit is contained in:
@@ -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 {} \;
|
|
||||||
103
backup.yml
103
backup.yml
@@ -173,102 +173,11 @@
|
|||||||
dest: "{{ dockerapps_path }}/backup/gitea/{{ gitea_db.split('/')[-1] }}"
|
dest: "{{ dockerapps_path }}/backup/gitea/{{ gitea_db.split('/')[-1] }}"
|
||||||
remote_src: true
|
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
|
- ansible.builtin.file:
|
||||||
|
path: "{{ dockerapps_path }}/backup"
|
||||||
# when: cert.not_after - ansible_date_time.iso8601_basic >
|
state: directory
|
||||||
# - name: NTFY when docker compose changed
|
mode: 0755
|
||||||
# uri:
|
recurse: true
|
||||||
# url: "https://alert.jingoh.fr/scaleway"
|
become: true
|
||||||
# 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
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user