/
/
/
Ansible role that deploys my connectivity device.
1---
2# Connectivity Role - DDNS (ddclient) Deployment
3# Custom Alpine-based build with Cloudflare support
4
5- name: "Create DDNS directory"
6 ansible.builtin.file:
7 path: "{{ connectivity_docker_base_path }}/ddns"
8 state: directory
9 owner: "{{ connectivity_docker_owner }}"
10 group: "{{ connectivity_docker_group }}"
11 mode: "{{ connectivity_docker_mode }}"
12
13- name: "Render ddclient Dockerfile"
14 ansible.builtin.template:
15 src: ddns-Dockerfile.j2
16 dest: "{{ connectivity_docker_base_path }}/ddns/Dockerfile"
17 owner: "{{ connectivity_docker_owner }}"
18 group: "{{ connectivity_docker_group }}"
19 mode: "0644"
20 notify: rebuild ddns
21
22- name: "Render ddclient configuration"
23 ansible.builtin.template:
24 src: ddclient.conf.j2
25 dest: "{{ connectivity_docker_base_path }}/ddns/ddclient.conf"
26 owner: "{{ connectivity_docker_owner }}"
27 group: "{{ connectivity_docker_group }}"
28 mode: "0600"
29 notify: rebuild ddns
30
31- name: "Render DDNS compose"
32 ansible.builtin.template:
33 src: ddns-compose.yml.j2
34 dest: "{{ connectivity_docker_base_path }}/ddns/docker-compose.yml"
35 owner: "{{ connectivity_docker_owner }}"
36 group: "{{ connectivity_docker_group }}"
37 mode: "0644"
38 notify: rebuild ddns
39
40- name: "Bring up ddclient"
41 community.docker.docker_compose_v2:
42 project_src: "{{ connectivity_docker_base_path }}/ddns"
43 state: present
44 build: always
45