mirror of
https://github.com/phfroidmont/self-hosting.git
synced 2025-12-25 05:36:59 +01:00
93 lines
2.2 KiB
YAML
93 lines
2.2 KiB
YAML
---
|
|
- name: Ensure docker packages are not present
|
|
apt:
|
|
state: absent
|
|
name: ['docker', 'docker-engine', 'docker.io']
|
|
|
|
- name: Install docker package dependencies
|
|
apt:
|
|
state: latest
|
|
name: ['apt-transport-https', 'ca-certificates']
|
|
update_cache: yes
|
|
cache_valid_time: 86400
|
|
register: result
|
|
retries: 3
|
|
until: result is success
|
|
|
|
- name: Adding Docker official gpg key
|
|
apt_key:
|
|
url: "{{ docker_apt_key }}"
|
|
id: 9DC858229FC7DD38854AE2D88D81803C0EBFCD88
|
|
state: present
|
|
|
|
- name: Setting Docker repository depending on arch
|
|
set_fact:
|
|
docker_repository: "deb [arch={{ item.apt_arch }}] {{ docker_apt_repository }} {{ ansible_distribution_release }} {{ docker_apt_channel }}"
|
|
when: ansible_architecture == item.system_arch
|
|
with_items:
|
|
- { system_arch: 'x86_64', apt_arch: 'amd64' }
|
|
- { system_arch: 'arm', apt_arch: 'armhf' }
|
|
|
|
- name: Printing Docker repository
|
|
debug:
|
|
var: docker_repository
|
|
|
|
- name: Adding Docker repository
|
|
apt_repository:
|
|
repo: "{{ docker_repository }}"
|
|
state: present
|
|
update_cache: true
|
|
|
|
- name: Install Docker.
|
|
package:
|
|
name: docker-ce
|
|
state: present
|
|
notify: restart docker
|
|
|
|
- name: Ensure containerd service dir exists.
|
|
file:
|
|
path: /etc/systemd/system/containerd.service.d
|
|
state: directory
|
|
|
|
- name: Add shim to ensure Docker can start in all environments.
|
|
template:
|
|
src: override.conf.j2
|
|
dest: /etc/systemd/system/containerd.service.d/override.conf
|
|
register: override_template
|
|
|
|
- name: Reload systemd daemon if template is changed.
|
|
systemd:
|
|
daemon_reload: true
|
|
when: override_template is changed
|
|
|
|
- name: Ensure Docker is started and enabled at boot.
|
|
service:
|
|
name: docker
|
|
state: started
|
|
enabled: true
|
|
|
|
- name: Ensure handlers are notified now to avoid firewall conflicts.
|
|
meta: flush_handlers
|
|
|
|
- name: Install python3-pip
|
|
apt:
|
|
name: python3-pip
|
|
state: latest
|
|
cache_valid_time: 86400
|
|
register: result
|
|
retries: 3
|
|
until: result is success
|
|
|
|
- name: Install docker-compose package dependencies
|
|
apt:
|
|
state: latest
|
|
name: python3-setuptools
|
|
update_cache: yes
|
|
cache_valid_time: 86400
|
|
register: result
|
|
retries: 3
|
|
until: result is success
|
|
|
|
- name: Install docker-compose
|
|
pip:
|
|
name: docker-compose
|