summaryrefslogtreecommitdiffstats
path: root/roles/wg_portal
diff options
context:
space:
mode:
authorAhmed Abdelhalim <[email protected]>2026-06-18 16:30:12 +0200
committerAhmed Abdelhalim <[email protected]>2026-06-18 16:32:15 +0200
commit6a0fd11c6bd782a42b0b90d2f2365859a7953bb7 (patch)
treebf50fdd6ee47a5fde5bd3a05b96006138100dee8 /roles/wg_portal
parentc7a4dfce1ad0b545b05a8043e321ad49e48873a6 (diff)
Implement support for conditional proxy (nginx or caddy)
Diffstat (limited to 'roles/wg_portal')
-rw-r--r--roles/wg_portal/handlers/main.yml10
-rw-r--r--roles/wg_portal/tasks/main.yml15
-rw-r--r--roles/wg_portal/templates/wg_portal.caddy.j23
3 files changed, 26 insertions, 2 deletions
diff --git a/roles/wg_portal/handlers/main.yml b/roles/wg_portal/handlers/main.yml
index 244370d8..6a2356f5 100644
--- a/roles/wg_portal/handlers/main.yml
+++ b/roles/wg_portal/handlers/main.yml
@@ -6,7 +6,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/wg_portal/tasks/main.yml b/roles/wg_portal/tasks/main.yml
index 78a235a1..dc24f892 100644
--- a/roles/wg_portal/tasks/main.yml
+++ b/roles/wg_portal/tasks/main.yml
@@ -96,7 +96,7 @@
- name: "Create wg-portal nginx vhost configuration"
become: true
- when: wg_portal_hostname | length > 0
+ when: proxy_type == "nginx" and wg_portal_hostname | length > 0
ansible.builtin.template:
src: "wg_portal.nginx.conf.j2"
dest: "/etc/nginx/vhosts.d/wg-portal.conf"
@@ -107,4 +107,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 wg-portal caddy configuration"
+ become: true
+ when: proxy_type == "caddy" and wg_portal_hostname | length > 0
+ ansible.builtin.template:
+ src: "wg_portal.caddy.j2"
+ dest: "/etc/caddy/sites/wg-portal.caddy"
+ owner: "root"
+ group: "caddy"
+ mode: "0640"
+ notify: "Restart proxy"
diff --git a/roles/wg_portal/templates/wg_portal.caddy.j2 b/roles/wg_portal/templates/wg_portal.caddy.j2
new file mode 100644
index 00000000..397a4683
--- /dev/null
+++ b/roles/wg_portal/templates/wg_portal.caddy.j2
@@ -0,0 +1,3 @@
+{{ wg_portal_hostname }} {
+ reverse_proxy localhost:{{ wg_portal_port }}
+}