diff options
Diffstat (limited to 'roles/apps/collabora')
-rw-r--r-- | roles/apps/collabora/code/tasks/main.yml | 12 | ||||
-rw-r--r-- | roles/apps/collabora/code/tasks/nginx-vhost.yml | 17 | ||||
-rw-r--r-- | roles/apps/collabora/code/templates/nginx-vhost.conf.j2 | 153 |
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/; } |