| - name: Install Docker gpg key for Apt |
| apt_key: |
| url: https://download.docker.com/linux/debian/gpg |
| state: present |
| |
| - name: Setup Docker Apt repository |
| apt_repository: |
| repo: deb https://download.docker.com/linux/debian {{ ansible_distribution_release }} stable |
| filename: docker |
| state: present |
| |
| - name: Install Docker Packages |
| apt: |
| name: "{{ packages }}" |
| vars: |
| packages: |
| - containerd.io |
| - docker-ce |
| - docker-ce-cli |
| |
| - name: Install multi-architecture support for Docker |
| apt: |
| name: "{{ packages }}" |
| state: latest |
| vars: |
| packages: |
| - binfmt-support |
| - qemu |
| - qemu-user-static |
| |
| - name: Install kill-old-docker.sh |
| copy: |
| src: kill-old-docker.sh |
| dest: /usr/local/bin/kill-old-docker.sh |
| mode: 0755 |
| |
| - name: Add kill-old-docker.sh cron entry |
| cron: |
| name: Kill old docker containers |
| hour: '19' |
| job: /usr/local/bin/kill-old-docker.sh |
| |
| - name: Add docker prune cron entry |
| cron: |
| name: Docker prune |
| hour: '19' |
| job: /usr/bin/docker system prune -a -f --filter "until=72h" |
| |
| - name: Add Jenkins user to docker group |
| user: |
| name: jenkins |
| groups: |
| - docker |
| append: yes |