79 lines
2.0 KiB
YAML
79 lines
2.0 KiB
YAML
---
|
|
- name: Install required packages
|
|
ansible.builtin.apt:
|
|
name:
|
|
- apt-transport-https
|
|
- ca-certificates
|
|
- curl
|
|
- gnupg
|
|
- lsb-release
|
|
- python3-pip
|
|
- python3-docker
|
|
state: present
|
|
update_cache: true
|
|
when: not (molecule_test_mode | default(false))
|
|
|
|
- name: Add Docker GPG key
|
|
ansible.builtin.apt_key:
|
|
url: https://download.docker.com/linux/ubuntu/gpg
|
|
state: present
|
|
when: not (molecule_test_mode | default(false))
|
|
|
|
- name: Add Docker repository
|
|
ansible.builtin.apt_repository:
|
|
repo: "deb [arch=amd64] https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable"
|
|
state: present
|
|
when: not (molecule_test_mode | default(false))
|
|
|
|
- name: Install Docker
|
|
ansible.builtin.apt:
|
|
name:
|
|
- docker-ce
|
|
- docker-ce-cli
|
|
- containerd.io
|
|
- docker-compose-plugin
|
|
state: present
|
|
update_cache: true
|
|
when: not (molecule_test_mode | default(false))
|
|
|
|
- name: Enable and start Docker
|
|
ansible.builtin.systemd:
|
|
name: docker
|
|
enabled: true
|
|
state: started
|
|
when: not (molecule_test_mode | default(false))
|
|
|
|
- name: Create sovereign Docker network
|
|
community.docker.docker_network:
|
|
name: "{{ sovereign_network_name }}"
|
|
state: present
|
|
when: not (molecule_test_mode | default(false))
|
|
|
|
- name: Create Traefik data directory
|
|
ansible.builtin.file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
mode: '0755'
|
|
loop:
|
|
- "{{ traefik_data_dir }}"
|
|
- "{{ traefik_data_dir }}/config"
|
|
|
|
- name: Create acme.json for Let's Encrypt
|
|
ansible.builtin.file:
|
|
path: "{{ traefik_data_dir }}/acme.json"
|
|
state: touch
|
|
mode: '0600'
|
|
|
|
- name: Deploy Traefik docker-compose
|
|
ansible.builtin.template:
|
|
src: docker-compose.yml.j2
|
|
dest: "{{ traefik_data_dir }}/docker-compose.yml"
|
|
mode: '0644'
|
|
notify: restart traefik
|
|
|
|
- name: Start Traefik
|
|
community.docker.docker_compose_v2:
|
|
project_src: "{{ traefik_data_dir }}"
|
|
state: present
|
|
when: not (molecule_test_mode | default(false))
|