summaryrefslogtreecommitdiff
path: root/roles/apps/collabora/code
diff options
context:
space:
mode:
Diffstat (limited to 'roles/apps/collabora/code')
-rw-r--r--roles/apps/collabora/code/tasks/main.yml12
-rw-r--r--roles/apps/collabora/code/tasks/nginx-vhost.yml17
-rw-r--r--roles/apps/collabora/code/templates/nginx-vhost.conf.j2153
3 files changed, 83 insertions, 99 deletions
diff --git a/roles/apps/collabora/code/tasks/main.yml b/roles/apps/collabora/code/tasks/main.yml
index db28bb65..84efec5c 100644
--- a/roles/apps/collabora/code/tasks/main.yml
+++ b/roles/apps/collabora/code/tasks/main.yml
@@ -45,16 +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') }}"
- acme: true
- 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..afd8f1e0
--- /dev/null
+++ b/roles/apps/collabora/code/tasks/nginx-vhost.yml
@@ -0,0 +1,17 @@
+---
+- 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 d56d77a0..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/acmetool.conf;
-
- location / {
- return 301 https://$host$request_uri;
- }
-}
-
-server {
- listen 443 ssl http2;
- listen [::]:443 ssl http2;
- server_name {{ item.value.hostname }};
-
- include snippets/acmetool.conf;
- include snippets/tls.conf;
- ssl_certificate /var/lib/acme/live/{{ item.value.hostname }}/fullchain;
- ssl_certificate_key /var/lib/acme/live/{{ item.value.hostname }}/privkey;
- 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/;
}