You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
- 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
|