restore from portainer using ansible

pull/35/head
Cian Hatton 3 years ago
parent c549e9b1de
commit 52bfef9d2d

@ -10,7 +10,6 @@
source: pull source: pull
with_items: with_items:
- ubuntu - ubuntu
- busybox
- name: Create required directories. - name: Create required directories.
ansible.builtin.file: ansible.builtin.file:

@ -2,6 +2,9 @@
version: "3" version: "3"
services: services:
pihole: pihole:
labels:
ie.cianhatton.backup.enabled: "true"
ie.cianhatton.backup.schedule: "{{ backups.schedule_keys.nightly }}"
container_name: pihole container_name: pihole
image: "pihole/pihole:2022.09.2" image: "pihole/pihole:2022.09.2"
ports: ports:
@ -17,5 +20,5 @@ services:
restart: unless-stopped restart: unless-stopped
volumes: volumes:
"{{ inventory_hostname_short }}_app": {{ inventory_hostname_short }}_app:
"{{ inventory_hostname_short }}_dns": {{ inventory_hostname_short }}_dns:

@ -26,6 +26,7 @@ services:
tautulli: tautulli:
labels: labels:
ie.cianhatton.backup.enabled: "true" ie.cianhatton.backup.enabled: "true"
ie.cianhatton.backup.schedule: "{{backups.schedule_keys.nightly}}"
image: lscr.io/linuxserver/tautulli:latest image: lscr.io/linuxserver/tautulli:latest
container_name: tautulli container_name: tautulli
environment: environment:

@ -10,42 +10,25 @@
- name: Portainer | Copy docker compose file. - name: Portainer | Copy docker compose file.
ansible.builtin.copy: ansible.builtin.copy:
src: docker-compose.yml src: docker-compose.yml
dest: '{{ directories.docker_compose_directory }}/docker-compose.yml' dest: '{{ directories.docker_compose_directory }}/portainer/docker-compose.yml'
owner: root owner: root
group: root group: root
mode: 0440 mode: 0440
- name: Portainer | Check if volume exists
ansible.builtin.shell: docker volume ls -f name=portainer_portainer_data --format '{{ '{{' }} .Name {{ '}}' }}'
register: portainer_volume
changed_when: false
- name: Portainer | Pull images - name: Portainer | Pull images
docker_image: docker_image:
name: '{{ item }}' name: ubuntu
source: pull source: pull
with_items:
- ubuntu
- busybox
- name: Docker Volume Backup | Restore Portainer volume from S3 - name: Restore any missing volumes from S3 for Potainer.
when: (portainer_volume.stdout_lines | length) == 0 ansible.builtin.include_role:
docker_container: name: chatton.docker_backup.docker_s3_volume_restore
command: restore-volume --s3 --volume portainer_portainer_data vars:
image: ghcr.io/chatton/docker-volume-backup:v0.3.0 docker_backup_restore_force: false
name: s3-restore-portainer docker_backup_restore_latest_s3_key: true
cleanup: true # delete container after it's done. docker_backup_fail_on_no_s3_backups: false
state: started # container should execute. docker_backup_s3_volume:
detach: false # task fails if container exits. name: portainer_portainer_data
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /tmp:/tmp # temp s3 archive goes here
env:
AWS_ACCESS_KEY_ID: '{{ aws_s3.aws_access_key }}'
AWS_SECRET_ACCESS_KEY: '{{ aws_s3.aws_secret_key }}'
AWS_DEFAULT_REGION: '{{ aws_s3.region }}'
AWS_BUCKET: '{{ aws_s3.bucket }}'
AWS_ENDPOINT: '{{ aws_s3.s3_url }}'
- name: Portainer | Docker compose up - name: Portainer | Docker compose up
community.docker.docker_compose: community.docker.docker_compose:

Loading…
Cancel
Save