From 2ee1a5be877d9a11c02b04e32f3b0e822adbca77 Mon Sep 17 00:00:00 2001 From: Matan Horovitz Date: Fri, 24 Nov 2023 13:52:44 +0200 Subject: [PATCH] Add Traefik CV pattern --- .gitignore | 1 + traefik.yaml | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 traefik.yaml diff --git a/.gitignore b/.gitignore index 73ab035..2715c6b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ * +!*.yaml !docker-compose.yml !authelia/*.yml !.gitea/ diff --git a/traefik.yaml b/traefik.yaml new file mode 100644 index 0000000..07e1a8e --- /dev/null +++ b/traefik.yaml @@ -0,0 +1,86 @@ +- hosts: takahe + gather_facts: yes + become: yes + vars: + ansible_ssh_common_args: '-o StrictHostKeyChecking=no' + ansible_sudo_pass: "{{ ANSIBLE_SUDO_PASS }}" + container_dir: /srv/docker + + tasks: + - name: Install Docker CE ## From: https://gist.github.com/rbq/886587980894e98b23d0eee2a1d84933, https://docs.docker.com/engine/install/ + block: + - name: Set Docker repo architecture + ansible.builtin.set_fact: + docker_arch: "{{ 'amd64' if ansible_architecture == 'x86_64' else 'ansible_architecture' }}" + + - name: Install prerequisites for Docker repository + ansible.builtin.apt: + name: + - ca-certificates + - curl + - gnupg2 + - lsb-release + state: latest + + - name: Add Docker's APT key + ansible.builtin.apt_key: + url: https://download.docker.com/linux/{{ ansible_distribution|lower }}/gpg + # ^ ex: Ubuntu -> ubuntu + state: present + + + - name: Add Docker's APT repo + ansible.builtin.apt_repository: + repo: "deb [arch={{ docker_arck }}] https://download.docker.com/linux/{{ ansible_distribution | lower }} {{ ansible_distribution_release }} stable" + state: present + update_cache: yes + + - name: Install docker and dependencies + ansible.builtin.apt: + name: + - docker-ce + - docker-ce-cli + - containerd.io + - docker-buildx-plugin + - docker-compose-plugin + state: latest + + - name: Start and enable Docker daemon + become: yes + ansible.builtin.service: + name: docker + state: started + enabled: yes + + - name: Start and enable Containerd daemon + become: yes + ansible.builtin.service: + name: containerd + state: started + enabled: yes + + - name: Make sure Container directory exists + ansible.builtin.file: + path: {{ container_dir }} + state: directory + + - name: Set up containers + block: + - ansible.builtin.git: + repo: https://git.pukeko.xyz/shmick/docker.git + dest: {{ container_dir }}/{{ item }} + version: {{ item }}-cv + + - ansible.builtin.template: + src: {{ container_dir }}/{{ item }}/docker-compose.yml.j2 + dest: {{ container_dir }}/{{ item }}/docker-compose.yml + + - community.docker.docker_compose: + project_src: {{ container_dir }}/{{ item }} + tags: compose + + with_items: + - ddclient + - prometheus + - traefik +