2022-07-02 16:22:50 +02:00

88 lines
2.2 KiB
YAML

---
- name: Setup server
hosts: all
become: yes
tasks:
- name: Install required system packages
apt:
name: [
'apt-transport-https',
'ca-certificates',
'software-properties-common',
'python3-pip',
]
state: present
update_cache: yes
- name: Add Docker GPG apt Key
apt_key:
url: https://download.docker.com/linux/ubuntu/gpg
state: present
- name: Add Docker Repository
apt_repository:
repo: "deb [arch=amd64] https://download.docker.com/{{ ansible_system | lower }}/{{ ansible_distribution | lower }} {{ ansible_distribution_release }} stable"
state: present
- name: Update apt and install Docker
apt:
name: [
'docker-ce',
'docker-ce-cli',
'containerd.io',
]
state: latest
update_cache: yes
- name: Add the Python client for Docker
pip:
name: [
'docker',
'docker-compose'
]
- name: Install docker-compose
get_url:
url : https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Linux-x86_64
dest: /usr/local/bin/docker-compose
mode: 'u+x,g+x'
group: docker
- name: Create Traefik directory
file:
path: "{{ working_dir }}/traefik"
state: directory
- name: Create Acme file
file:
path: "{{ working_dir }}/traefik/acme.json"
state: touch
mode: 0600
- name: Build Traefik config file
template:
src: ../templates/traefik.yml.j2
dest: "{{ working_dir }}/traefik/traefik.yml"
- name: Create global network
docker_network:
name: web
- name: Build Traefik docker-compose file
template:
src: ../templates/traefik-docker-compose.yml.j2
dest: '{{ working_dir }}/traefik/docker-compose.yml'
- name: Run Traefik container
community.docker.docker_compose:
project_src: "{{ working_dir }}/traefik"
build: yes
files:
- docker-compose.yml
restarted: yes
register: output
- debug:
var: output