summaryrefslogtreecommitdiff
path: root/roles/apps/collabora
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2023-08-14 23:01:11 +0200
committerChristian Pointner <equinox@spreadspace.org>2023-08-20 22:12:03 +0200
commit886a3162765240cade2acd6ec890e0377bd9631d (patch)
tree54edc5c31dd85a1f02fcc7c0632aca3cc6a3e157 /roles/apps/collabora
parentnginx/vhost: fix some template indentation errors (diff)
collabora/code: move to generic nginx-vhost template
Diffstat (limited to 'roles/apps/collabora')
-rw-r--r--roles/apps/collabora/code/tasks/main.yml13
-rw-r--r--roles/apps/collabora/code/tasks/nginx-vhost.yml16
-rw-r--r--roles/apps/collabora/code/templates/nginx-vhost.conf.j2153
3 files changed, 82 insertions, 100 deletions
diff --git a/roles/apps/collabora/code/tasks/main.yml b/roles/apps/collabora/code/tasks/main.yml
index 8f4acc76..84efec5c 100644
--- a/roles/apps/collabora/code/tasks/main.yml
+++ b/roles/apps/collabora/code/tasks/main.yml
@@ -45,17 +45,8 @@
include_role:
name: kubernetes/standalone/pod
-- name: configure nginx vhost
+- name: install nginx vhost config
loop: "{{ collabora_code_instances | dict2items }}"
loop_control:
label: "{{ item.key }}"
- vars:
- nginx_vhost:
- name: "collabora-code-{{ item.key }}"
- content: "{{ lookup('template', 'nginx-vhost.conf.j2') }}"
- tls:
- certificate_provider: "{{ acme_client }}"
- hostnames:
- - "{{ item.value.hostname }}"
- include_role:
- name: nginx/vhost
+ include_tasks: nginx-vhost.yml
diff --git a/roles/apps/collabora/code/tasks/nginx-vhost.yml b/roles/apps/collabora/code/tasks/nginx-vhost.yml
new file mode 100644
index 00000000..218b4a94
--- /dev/null
+++ b/roles/apps/collabora/code/tasks/nginx-vhost.yml
@@ -0,0 +1,16 @@
+- name: render nginx-vhost custom config
+ set_fact:
+ collabora_code_nginx_vhost_custom: "{{ lookup('template', 'nginx-vhost.conf.j2') }}"
+
+- name: configure nginx vhost
+ vars:
+ nginx_vhost:
+ name: "collabora-code-{{ item.key }}"
+ template: generic
+ tls:
+ certificate_provider: "{{ acme_client }}"
+ hostnames:
+ - "{{ item.value.hostname }}"
+ custom: "{{ collabora_code_nginx_vhost_custom }}"
+ include_role:
+ name: nginx/vhost
diff --git a/roles/apps/collabora/code/templates/nginx-vhost.conf.j2 b/roles/apps/collabora/code/templates/nginx-vhost.conf.j2
index 8dd67fb7..67502e20 100644
--- a/roles/apps/collabora/code/templates/nginx-vhost.conf.j2
+++ b/roles/apps/collabora/code/templates/nginx-vhost.conf.j2
@@ -1,124 +1,99 @@
-server {
- listen 80;
- listen [::]:80;
- server_name {{ item.value.hostname }};
+client_max_body_size 128M;
- include snippets/{{ acme_client }}.conf;
-
- location / {
- return 301 https://$host$request_uri;
- }
-}
-
-server {
- listen 443 ssl http2;
- listen [::]:443 ssl http2;
- server_name {{ item.value.hostname }};
-
- include snippets/{{ acme_client }}.conf;
- include snippets/tls.conf;
- ssl_certificate {{ x509_certificate_path_fullchain }};
- ssl_certificate_key {{ x509_certificate_path_key }};
- include snippets/hsts.conf;
-
-
- client_max_body_size 128M;
-
- # static files
+# static files
{% if item.value.version | collabora_code_loolvcool %}
- location ^~ /loleaflet {
+location ^~ /loleaflet {
{% else %}
- location ^~ /browser {
+location ^~ /browser {
{% endif %}
- include snippets/proxy-nobuff.conf;
- include snippets/proxy-forward-headers.conf;
+ include snippets/proxy-nobuff.conf;
+ include snippets/proxy-forward-headers.conf;
- proxy_set_header Host $http_host;
- proxy_pass http://127.0.0.1:{{ item.value.port }};
+ proxy_set_header Host $http_host;
+ proxy_pass http://127.0.0.1:{{ item.value.port }};
- proxy_redirect http://$host/ https://$host/;
- proxy_redirect http://$host:9980/ https://$host/;
- }
+ proxy_redirect http://$host/ https://$host/;
+ proxy_redirect http://$host:9980/ https://$host/;
+}
- # WOPI discovery URL
- location ^~ /hosting/discovery {
- include snippets/proxy-nobuff.conf;
- include snippets/proxy-forward-headers.conf;
+# WOPI discovery URL
+location ^~ /hosting/discovery {
+ include snippets/proxy-nobuff.conf;
+ include snippets/proxy-forward-headers.conf;
- proxy_set_header Host $http_host;
- proxy_pass http://127.0.0.1:{{ item.value.port }};
+ proxy_set_header Host $http_host;
+ proxy_pass http://127.0.0.1:{{ item.value.port }};
- proxy_redirect http://$host/ https://$host/;
- proxy_redirect http://$host:9980/ https://$host/;
- }
+ proxy_redirect http://$host/ https://$host/;
+ proxy_redirect http://$host:9980/ https://$host/;
+}
- # Capabilities
- location ^~ /hosting/capabilities {
- include snippets/proxy-nobuff.conf;
- include snippets/proxy-forward-headers.conf;
+# Capabilities
+location ^~ /hosting/capabilities {
+ include snippets/proxy-nobuff.conf;
+ include snippets/proxy-forward-headers.conf;
- proxy_set_header Host $http_host;
- proxy_pass http://127.0.0.1:{{ item.value.port }};
+ proxy_set_header Host $http_host;
+ proxy_pass http://127.0.0.1:{{ item.value.port }};
- proxy_redirect http://$host/ https://$host/;
- proxy_redirect http://$host:9980/ https://$host/;
- }
+ proxy_redirect http://$host/ https://$host/;
+ proxy_redirect http://$host:9980/ https://$host/;
+}
- # main websocket
+# main websocket
{% if item.value.version | collabora_code_loolvcool %}
- location ~ ^/lool/(.*)/ws$ {
+location ~ ^/lool/(.*)/ws$ {
{% else %}
- location ~ ^/cool/(.*)/ws$ {
+location ~ ^/cool/(.*)/ws$ {
{% endif %}
- include snippets/proxy-nobuff.conf;
- include snippets/proxy-forward-headers.conf;
+ include snippets/proxy-nobuff.conf;
+ include snippets/proxy-forward-headers.conf;
- proxy_set_header Upgrade $http_upgrade;
- proxy_set_header Connection $connection_upgrade;
+ proxy_set_header Upgrade $http_upgrade;
+ proxy_set_header Connection $connection_upgrade;
- proxy_read_timeout 36000s;
+ proxy_read_timeout 36000s;
- proxy_set_header Host $http_host;
- proxy_pass http://127.0.0.1:{{ item.value.port }};
+ proxy_set_header Host $http_host;
+ proxy_pass http://127.0.0.1:{{ item.value.port }};
- proxy_redirect http://$host/ https://$host/;
- proxy_redirect http://$host:9980/ https://$host/;
- }
+ proxy_redirect http://$host/ https://$host/;
+ proxy_redirect http://$host:9980/ https://$host/;
+}
- # download, presentation and image upload
+# download, presentation and image upload
{% if item.value.version | collabora_code_loolvcool %}
- location ~ ^/lool {
+location ~ ^/lool {
{% else %}
- location ~ ^/(c|l)ool {
+location ~ ^/(c|l)ool {
{% endif %}
- include snippets/proxy-nobuff.conf;
- include snippets/proxy-forward-headers.conf;
+ include snippets/proxy-nobuff.conf;
+ include snippets/proxy-forward-headers.conf;
- proxy_set_header Host $http_host;
- proxy_pass http://127.0.0.1:{{ item.value.port }};
+ proxy_set_header Host $http_host;
+ proxy_pass http://127.0.0.1:{{ item.value.port }};
- proxy_redirect http://$host/ https://$host/;
- proxy_redirect http://$host:9980/ https://$host/;
- }
+ proxy_redirect http://$host/ https://$host/;
+ proxy_redirect http://$host:9980/ https://$host/;
+}
- # Admin Console websocket
+# Admin Console websocket
{% if item.value.version | collabora_code_loolvcool %}
- location ^~ /lool/adminws {
+location ^~ /lool/adminws {
{% else %}
- location ^~ /cool/adminws {
+location ^~ /cool/adminws {
{% endif %}
- include snippets/proxy-nobuff.conf;
- include snippets/proxy-forward-headers.conf;
+ include snippets/proxy-nobuff.conf;
+ include snippets/proxy-forward-headers.conf;
- proxy_set_header Upgrade $http_upgrade;
- proxy_set_header Connection $connection_upgrade;
+ proxy_set_header Upgrade $http_upgrade;
+ proxy_set_header Connection $connection_upgrade;
- proxy_read_timeout 36000s;
+ proxy_read_timeout 36000s;
- proxy_set_header Host $http_host;
- proxy_pass http://127.0.0.1:{{ item.value.port }};
+ proxy_set_header Host $http_host;
+ proxy_pass http://127.0.0.1:{{ item.value.port }};
- proxy_redirect http://$host/ https://$host/;
- proxy_redirect http://$host:9980/ https://$host/;
- }
+ proxy_redirect http://$host/ https://$host/;
+ proxy_redirect http://$host:9980/ https://$host/;
}