This commit is contained in:
12
containers.yaml
Normal file
12
containers.yaml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
- 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
|
||||||
49
docker.yaml
Normal file
49
docker.yaml
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
- 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_arch }}] 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
|
||||||
3
requirements.yaml
Normal file
3
requirements.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
collections:
|
||||||
|
- name: community.general # https://github.com/ansible-collections/community.general
|
||||||
|
version: latest
|
||||||
69
traefik.yaml
69
traefik.yaml
@@ -8,56 +8,7 @@
|
|||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- name: Install Docker CE ## From: https://gist.github.com/rbq/886587980894e98b23d0eee2a1d84933, https://docs.docker.com/engine/install/
|
- name: Install Docker CE ## From: https://gist.github.com/rbq/886587980894e98b23d0eee2a1d84933, https://docs.docker.com/engine/install/
|
||||||
block:
|
include_tasks: docker.yaml
|
||||||
- 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_arch }}] 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
|
- name: Make sure Container directory exists
|
||||||
ansible.builtin.file:
|
ansible.builtin.file:
|
||||||
@@ -65,22 +16,8 @@
|
|||||||
state: directory
|
state: directory
|
||||||
|
|
||||||
- name: Set up containers
|
- name: Set up containers
|
||||||
block:
|
include_tasks: containers.yaml
|
||||||
- ansible.builtin.git:
|
with_items:
|
||||||
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
|
|
||||||
|
|
||||||
loop:
|
|
||||||
- ddclient
|
- ddclient
|
||||||
- prometheus
|
- prometheus
|
||||||
- traefik
|
- traefik
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user