# vim: ft=yaml.ansible --- - name: Create Caddy volume directories ansible.builtin.file: path: "{{ services.caddy.volume }}/{{ dir }}" owner: root mode: u=rwx,g=rx,o=rx state: directory loop: - config - data loop_control: loop_var: dir - name: Copy Caddyfile ansible.builtin.template: src: Caddyfile.j2 dest: "{{ services.caddy.volume }}/Caddyfile" owner: root mode: u=rw,g=r,o=r - name: Deploy Caddy Docker container community.docker.docker_container: name: caddy state: "{{ 'absent' if stop is defined and stop else 'started' }}" restart: "{{ stop is undefined or not stop }}" image: caddy:{{ services.caddy.version }} restart_policy: always networks: - name: services ipv4_address: 172.16.3.2 published_ports: - 80:80/tcp - 443:443/tcp volumes: - "{{ services.caddy.volume }}/Caddyfile:/etc/caddy/Caddyfile:ro" - "{{ services.caddy.volume }}/config:/config:rw" - "{{ services.caddy.volume }}/data:/data:rw" capabilities: - net_bind_service - dac_override cap_drop: - all