75 lines
1.6 KiB
YAML
75 lines
1.6 KiB
YAML
- name: Ensure packages are installed
|
|
apt:
|
|
name:
|
|
- python3-pip
|
|
- python3-setuptools
|
|
- apt-transport-https
|
|
- ca-certificates
|
|
- curl
|
|
- gnupg-agent
|
|
- software-properties-common
|
|
- nfs-common
|
|
state: present
|
|
|
|
- name: Trust dockers GPG key
|
|
apt_key:
|
|
url: https://download.docker.com/linux/debian/gpg
|
|
state: present
|
|
|
|
- name: Ensure docker repository is available
|
|
apt_repository:
|
|
repo: deb https://download.docker.com/linux/debian buster stable
|
|
state: present
|
|
notify: Update apt cache
|
|
|
|
- name: Flush handlers
|
|
meta: flush_handlers
|
|
|
|
- name: Ensure packages are installed
|
|
apt:
|
|
name:
|
|
- docker-ce
|
|
- docker-ce-cli
|
|
- containerd.io
|
|
state: present
|
|
|
|
- name: Configure docker daemon
|
|
template:
|
|
src: templates/daemon.json
|
|
dest: /etc/docker/daemon.json
|
|
owner: root
|
|
group: root
|
|
mode: 0644
|
|
|
|
#- hosts: swarm:!NAS
|
|
# tasks:
|
|
# - name: Mount NFS
|
|
# mount:
|
|
# path: /mnt/nfs
|
|
# src: grace.lan:/
|
|
# fstype: nfs4
|
|
# opts: rw,nosuid,fsc
|
|
# state: mounted
|
|
|
|
- name: Install docker python module
|
|
pip:
|
|
executable: pip3
|
|
name:
|
|
- docker
|
|
|
|
- name: Join swarm as manager
|
|
docker_swarm:
|
|
state: join
|
|
advertise_addr: "{{ ansible_default_ipv4.address }}"
|
|
join_token: "{{ docker_swarm_join_token_manager }}"
|
|
remote_addrs: ['192.168.168.200:2377']
|
|
when: docker_swarm_manager
|
|
|
|
- name: Join swarm as worker
|
|
docker_swarm:
|
|
state: join
|
|
advertise_addr: "{{ ansible_default_ipv4.address }}"
|
|
join_token: "{{ docker_swarm_join_token_worker }}"
|
|
remote_addrs: ['192.168.168.200:2377']
|
|
when: not docker_swarm_manager
|