52 lines
1.3 KiB
YAML
52 lines
1.3 KiB
YAML
- name: Include pihole variables
|
|
include_vars: pihole.yml
|
|
|
|
- name: Create pihole directory
|
|
file:
|
|
path: '/opt/pihole'
|
|
state: directory
|
|
owner: "{{ docker_user.name }}"
|
|
mode: "{{ docker_compose_directory_mask }}"
|
|
become: true
|
|
become_user: root
|
|
|
|
- name: Install pihole compose file
|
|
template:
|
|
src: files/pihole/docker-compose.yml
|
|
dest: "/opt/pihole/docker-compose.yml"
|
|
mode: "{{ docker_compose_file_mask }}"
|
|
owner: "{{ docker_user.name }}"
|
|
validate: /usr/bin/docker-compose -f %s config
|
|
register: compose_file
|
|
become: true
|
|
become_user: root
|
|
|
|
- name: Create dnsmasq directory
|
|
file:
|
|
path: '/opt/pihole/dnsmasq.d/'
|
|
state: directory
|
|
mode: "{{ docker_compose_directory_mask }}"
|
|
become: true
|
|
become_user: root
|
|
|
|
- name: Install dnsmasq hosts config
|
|
template:
|
|
src: files/pihole/dnsmasq-vpn.conf
|
|
dest: "/opt/pihole/dnsmasq.d/02-vpn.conf"
|
|
mode: "{{ docker_compose_file_mask }}"
|
|
owner: "{{ docker_user.name }}"
|
|
register: dnsmasq_vpn_hosts
|
|
become: true
|
|
become_user: root
|
|
|
|
- name: Cycle pihole container
|
|
docker_compose:
|
|
project_src: /opt/pihole
|
|
pull: true
|
|
remove_orphans: true
|
|
remove_volumes: true
|
|
state: "{{ item }}"
|
|
when: compose_file.changed or dnsmasq_vpn_hosts.changed
|
|
loop:
|
|
- absent
|
|
- present
|