|
|
|
@ -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:
|
|
|
|
|