Files
Ansible-roles/docker/tasks/main.yml
T

94 lines
2.2 KiB
YAML

#- name: Check if docker is already installed
# stat:
# path: /usr/bin/docker
# register: docker_file
- name: Install Packages
# when: docker_file.stat.exists == False
package:
name:
- gpg
- gpg-agent
- python3-debian
tags: docker_repo
- name: Create apt keyrings directory
file:
path: /etc/apt/keyrings
state: directory
mode: "0755"
tags: docker_repo
- name: Add docker-key
get_url:
url: "https://download.docker.com/linux/{{ ansible_facts.distribution | lower }}/gpg"
dest: /etc/apt/keyrings/docker.asc
mode: "0644"
tags: docker_repo
- name: Remove one-line docker-repository
file:
path: /etc/apt/sources.list.d/docker.list
state: absent
tags: docker_repo
- name: Add docker-repository
deb822_repository:
name: docker
types: deb
uris: "https://download.docker.com/linux/{{ ansible_facts.distribution | lower }}"
suites: "{{ ansible_facts.distribution_release }}"
components: stable
signed_by: /etc/apt/keyrings/docker.asc
register: docker_repo
tags: docker_repo
- name: Update apt cache after docker-repository change
apt:
update_cache: yes
when: docker_repo.changed
tags: docker_repo
- name: Install docker
package:
name:
- docker-ce
- docker-ce-cli
- containerd.io
- docker-compose-plugin
- pass
state: latest
- name: Deploy docker-compose command to new docker compose plugin
ansible.builtin.copy:
src: docker-compose
dest: "/usr/local/bin/docker-compose"
mode: preserve
- name: Check for docker binary
ansible.builtin.stat:
path: /usr/bin/docker
register: docker_binary
tags: docker_prune
- name: Deploy docker-prune script
ansible.builtin.copy:
src: docker-prune
dest: /usr/local/sbin/docker-prune
owner: root
group: root
mode: "0755"
when: docker_binary.stat.exists
tags: docker_prune
- name: Schedule hourly docker-prune
ansible.builtin.cron:
name: docker prune
cron_file: docker-prune
user: root
minute: "0"
job: /usr/local/sbin/docker-prune
when: docker_binary.stat.exists
tags: docker_prune