--- - name: Ensure legacy caddy apt repository not present ansible.builtin.file: path: /etc/apt/sources.list.d/caddy-stable.list state: absent - name: Add caddy apt repository ansible.builtin.deb822_repository: name: caddy-stable uris: https://dl.cloudsmith.io/public/caddy/stable/deb/debian signed_by: https://dl.cloudsmith.io/public/caddy/stable/gpg.key suites: any-version components: - main when: > (ansible_distribution == 'Debian' and ansible_distribution_major_version | int == 11) or (ansible_distribution == 'Ubuntu' and ansible_distribution_major_version | int < 24) - name: Install caddy ansible.builtin.apt: name: caddy - name: Remove default settings from caddyfile ansible.builtin.blockinfile: path: /etc/caddy/Caddyfile marker: "{mark}" marker_begin: ':80 {' marker_end: '# https://caddyserver.com/docs/caddyfile' state: absent validate: 'caddy validate --config %s --adapter caddyfile' backup: true - name: Put caddy general config in place ansible.builtin.blockinfile: path: /etc/caddy/Caddyfile marker: "# {mark} ANSIBLE MANAGED BLOCK general" block: | { email {{ caddy_admin_email }} } validate: 'caddy validate --config %s --adapter caddyfile' backup: true notify: Reload caddy