48 lines
1.3 KiB
YAML
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 }}'
|