iterate over volumes and back them all up

pull/1/head
Cian Hatton 3 years ago
parent 5a10c555bc
commit 42b24954cb

@ -1,30 +1,23 @@
### Example: ### Example:
# ansible-playbook -v ansible/volume-restore.yml -e "container_name=linkding volume_suffix=data" # ansible-playbook -v ansible/volume-restore.yml -e "container_name=mariadb"
--- ---
- hosts: servers - hosts: servers
tasks: tasks:
- name: Find backup - name: Find volumes
find: ansible.builtin.shell: docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -v /mnt/hdds/backups/:/mnt/hdds/backups/ ghcr.io/chatton/docker-volume-backup:pr-11 list-backups --host-path /mnt/hdds/backups/ --volume-name-filter {{container_name}}
paths: /mnt/hdds/backups/ register: out
patterns: "{{container_name}}"
use_regex: true
recurse: true
register: files_matched
- name: Stop the container - name: Stop the container
docker_container: docker_container:
name: "{{container_name}}" name: "{{container_name}}"
state: stopped state: stopped
- name: Restore Volume - name: Restore Volume
environment:
ARCHIVE_NAME: "{{ files_matched.files[0].path }}"
VOLUME_TO_CREATE: "{{container_name}}_{{volume_suffix}}"
ansible.builtin.command: docker run --rm ansible.builtin.command: docker run --rm
-v /var/run/docker.sock:/var/run/docker.sock -v /var/run/docker.sock:/var/run/docker.sock
ghcr.io/chatton/docker-volume-backup:master ghcr.io/chatton/docker-volume-backup:master
restore-volume restore-volume
--volume ${VOLUME_TO_CREATE} --volume {{item.volumeName}}
--archive ${ARCHIVE_NAME} --archive {{item.absoluteFilePath}}
with_items: "{{ out.stdout }}"
- name: Start the container - name: Start the container
docker_container: docker_container:
name: "{{container_name}}" name: "{{container_name}}"

Loading…
Cancel
Save