- name: Set up Caddy hosts: lotus-land-story vars_files: - vars.yml tasks: - name: Make /mnt/lotus-land-story/caddy ansible.builtin.file: path: /mnt/lotus-land-story/{{ item }} state: directory mode: "0755" loop: - caddy - caddy/data - name: Get docker network for trusted proxies community.docker.docker_network: name: lotus_land_story register: docker_network # TODO Reload Caddy when this changes: # docker exec -w /etc/caddy $caddy_container_id caddy reload - name: Set up Caddyfile ansible.builtin.template: src: templates/Caddyfile dest: /mnt/lotus-land-story/caddy/Caddyfile mode: "0644" vars: trusted_proxies: "{{ docker_network.network.IPAM.Config[0].Subnet }}" - name: Create Caddy volume community.docker.docker_volume: name: caddy - name: Run Caddy community.docker.docker_container: name: caddy image: caddy:2.7.4 restart: true ports: - "80:80" - "443:443" - "443:443/udp" - "2019:2019" volumes: - /mnt/lotus-land-story/caddy/Caddyfile:/etc/caddy/Caddyfile - /mnt/lotus-land-story/caddy/data:/data - caddy-config:/config restart_policy: unless-stopped networks: - name: lotus_land_story etc_hosts: host.docker.internal: host-gateway handlers: - name: Import restarts ansible.builtin.import_tasks: restarts.yml # vim: ft=yaml.ansible