kinfrastructure/roles/caddy/tasks/main.yml

48 lines
1.3 KiB
YAML

- name: Ensure Caddy user
ansible.builtin.import_tasks: ../../common/tasks/create_service_user.yml
- name: Set Caddy facts
ansible.builtin.set_fact:
caddyfiles_directory: '{{ service_root }}/caddyfiles'
- name: Ensure Caddy directories exist and are writable
ansible.builtin.file:
path: '{{ item }}'
state: directory
owner: '{{ service_user }}'
group: '{{ service_user }}'
mode: '700'
loop:
- '{{ service_root }}/data'
- '{{ service_root }}/config'
- '{{ service_root }}/conf'
- '{{ caddyfiles_directory }}'
- name: Set Caddyfile to import caddyfiles directory
ansible.builtin.copy:
content: |
import /caddyfiles/*
dest: '{{ service_root }}/conf/Caddyfile'
owner: '{{ service_user }}'
group: '{{ service_user }}'
mode: '644'
- name: Deploy caddy compose service
ansible.builtin.import_role:
name: compose-service
vars:
docker_volumes:
- '{{ service_root }}/data:/data'
- '{{ service_root }}/config:/config'
- '{{ service_root }}/conf:/etc/caddy'
- '{{ caddyfiles_directory }}:/caddyfiles'
docker_ports:
- "80:80"
- "443:443"
- "443:443/udp"
- name: Add container to Caddy network
community.docker.docker_network:
name: Caddy
connected:
- '{{ service_name }}'