--- # tasks file for cloudflare-ddns - name: Create cloudflare-ddns-service user become: true ansible.builtin.user: name: cloudflare-ddns-service system: true register: cloudflare_ddns_user_result - name: Create config and cache dirs become: true ansible.builtin.file: path: "{{ item }}" state: directory owner: "{{ cloudflare_ddns_user_result.name }}" group: "{{ cloudflare_ddns_user_result.group }}" mode: 0700 loop: - "/etc/cloudflare-ddns-service" - "/var/cache/cloudflare-ddns-service" - name: Template config file become: true ansible.builtin.copy: content: "{{ cloudflare_ddns_config | to_nice_yaml }}" dest: /etc/cloudflare-ddns-service/config.yaml owner: "{{ cloudflare_ddns_user_result.name }}" group: "{{ cloudflare_ddns_user_result.group }}" mode: 0600 notify: restart-cloudflare-ddns-service - name: Start cloudflare-ddns-service container become: true community.docker.docker_container: name: cloudflare-ddns-service image: git.jcg.re/jcgruenhage/cloudflare-ddns-service:v0.5.1 volumes: - "/etc/cloudflare-ddns-service:/etc/cloudflare-ddns-service:ro" - "/var/cache/cloudflare-ddns-service:/var/cache/cloudflare-ddns-service" env: RUST_LOG: INFO user: "{{ cloudflare_ddns_user_result.uid }}:{{ cloudflare_ddns_user_result.group }}" network_mode: host restart_policy: unless-stopped