personal_infra/ansible/infra/910_docker_playbook.yml

80 lines
1.8 KiB
YAML
Raw Normal View History

2025-07-01 16:14:44 +02:00
- name: Install Docker and Docker Compose on Debian 12
hosts: all
2025-07-01 16:50:58 +02:00
become: yes
2025-07-01 16:14:44 +02:00
tasks:
2025-07-01 16:50:58 +02:00
- name: Remove old Docker-related packages
apt:
name:
- docker.io
- docker-doc
- docker-compose
- podman-docker
- containerd
- runc
state: absent
purge: yes
autoremove: yes
- name: Update apt cache
apt:
update_cache: yes
- name: Install prerequisites
2025-07-01 16:14:44 +02:00
apt:
name:
- ca-certificates
- curl
state: present
2025-07-01 16:50:58 +02:00
- name: Create directory for Docker GPG key
file:
path: /etc/apt/keyrings
state: directory
mode: '0755'
- name: Download Docker GPG key
get_url:
2025-07-01 16:14:44 +02:00
url: https://download.docker.com/linux/debian/gpg
2025-07-01 16:50:58 +02:00
dest: /etc/apt/keyrings/docker.asc
mode: '0644'
- name: Get Debian architecture
command: dpkg --print-architecture
register: deb_arch
2025-07-01 16:14:44 +02:00
- name: Add Docker repository
2025-07-01 16:50:58 +02:00
apt_repository:
repo: "deb [arch={{ deb_arch.stdout }} signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian {{ ansible_lsb.codename }} stable"
2025-07-01 16:14:44 +02:00
filename: docker
2025-07-01 16:50:58 +02:00
state: present
update_cache: yes
2025-07-01 16:14:44 +02:00
2025-07-01 16:50:58 +02:00
- name: Update apt cache
2025-07-01 16:14:44 +02:00
apt:
update_cache: yes
2025-07-01 16:50:58 +02:00
- name: Install Docker packages
2025-07-01 16:14:44 +02:00
apt:
name:
- docker-ce
- docker-ce-cli
- containerd.io
- docker-buildx-plugin
- docker-compose-plugin
2025-07-01 16:50:58 +02:00
state: present
update_cache: yes
2025-07-01 16:14:44 +02:00
- name: Ensure Docker is started and enabled
systemd:
name: docker
enabled: yes
state: started
- name: Add user to docker group
user:
name: "{{ ansible_user }}"
groups: docker
append: yes