From 6a0fd11c6bd782a42b0b90d2f2365859a7953bb7 Mon Sep 17 00:00:00 2001 From: Ahmed Abdelhalim Date: Thu, 18 Jun 2026 16:30:12 +0200 Subject: Implement support for conditional proxy (nginx or caddy) --- roles/pihole/handlers/main.yml | 10 ++++++++++ roles/pihole/tasks/main.yml | 15 +++++++++++++-- roles/pihole/templates/pihole.caddy.j2 | 5 +++++ 3 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 roles/pihole/templates/pihole.caddy.j2 (limited to 'roles/pihole') diff --git a/roles/pihole/handlers/main.yml b/roles/pihole/handlers/main.yml index d839828e..a1318068 100644 --- a/roles/pihole/handlers/main.yml +++ b/roles/pihole/handlers/main.yml @@ -22,7 +22,17 @@ state: "restarted" - name: "Restart nginx" + listen: "Restart proxy" become: true ansible.builtin.systemd_service: name: "nginx" state: "restarted" + when: proxy_type == "nginx" + +- name: "Restart caddy" + listen: "Restart proxy" + become: true + ansible.builtin.systemd_service: + name: "caddy" + state: "restarted" + when: proxy_type == "caddy" diff --git a/roles/pihole/tasks/main.yml b/roles/pihole/tasks/main.yml index 66208bdf..f6101632 100644 --- a/roles/pihole/tasks/main.yml +++ b/roles/pihole/tasks/main.yml @@ -151,7 +151,7 @@ - name: "Create pihole nginx vhost configuration" become: true - when: pihole_hostname | length > 0 + when: proxy_type == "nginx" and pihole_hostname | length > 0 ansible.builtin.template: src: "pihole.nginx.conf.j2" dest: "/etc/nginx/vhosts.d/pihole.conf" @@ -162,4 +162,15 @@ validate: > bash -c 'echo "events { worker_connections 64; } http { include %s; }" > /tmp/nginx-vhost.conf; sudo nginx -T -c /tmp/nginx-vhost.conf; ec=$?; rm -f /tmp/nginx-vhost.conf; exit $ec' - notify: "Restart nginx" + notify: "Restart proxy" + +- name: "Create pihole caddy configuration" + become: true + when: proxy_type == "caddy" and pihole_hostname | length > 0 + ansible.builtin.template: + src: "pihole.caddy.j2" + dest: "/etc/caddy/sites/pihole.caddy" + owner: "root" + group: "caddy" + mode: "0640" + notify: "Restart proxy" diff --git a/roles/pihole/templates/pihole.caddy.j2 b/roles/pihole/templates/pihole.caddy.j2 new file mode 100644 index 00000000..ee62299e --- /dev/null +++ b/roles/pihole/templates/pihole.caddy.j2 @@ -0,0 +1,5 @@ +{{ pihole_hostname }} { + redir / /admin/ permanent + reverse_proxy /admin/* localhost:{{ pihole_port }} + reverse_proxy /api/* localhost:{{ pihole_port }} +} -- cgit v1.2.3