--- - hosts: all become: true vars_files: - vars/default.yml tasks: - name: Pull Caddy image docker_image: name: "{{ caddy_image }}" source: pull force_source: yes - name: Ensure Caddy Directories exist file: path: "/var/lib/{{ host_directory }}/{{ item }}" state: directory mode: 0755 loop: - conf - site - data - config - name: Ensure Caddyfile exists file: path: "/var/lib/{{ host_directory }}/conf/Caddyfile" state: touch mode: 0644 - name: Create caddy container docker_container: name: "{{ caddy_name }}" image: "{{ caddy_image }}" state: started restart_policy: unless-stopped ports: - "80:80" - "443:443" volumes: - "/var/lib/{{ host_directory }}/conf:/etc/caddy" - "/var/lib/{{ host_directory }}/site:/srv" - "/var/lib/{{ host_directory }}/data:/data" - "/var/lib/{{ host_directory }}/config:/config"