diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 0c67ab2..dfda459 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -5,12 +5,20 @@ services: context: ./riotweb args: # https://github.com/vector-im/riot-web/releases - VERSION: 1.7.0 - image: superboum/amd64_riotweb:v13 + VERSION: 1.7.4 + image: superboum/amd64_riotweb:v14 synapse: build: context: ./matrix-synapse args: # https://github.com/matrix-org/synapse/releases - VERSION: 1.17.0 - image: superboum/amd64_synapse:v31 + VERSION: 1.19.0 + image: superboum/amd64_synapse:v32 + sogo: + build: + context: ./sogo + args: + # fake for now + VERSION: 5.0.0 + image: superboum/amd64_sogo:v7 + diff --git a/docker/sogo/Dockerfile b/docker/sogo/Dockerfile index 57965c4..46880dd 100644 --- a/docker/sogo/Dockerfile +++ b/docker/sogo/Dockerfile @@ -1,6 +1,6 @@ #FROM amd64/debian:stretch as builder -FROM amd64/debian:stretch +FROM amd64/debian:buster RUN mkdir ~/.gnupg && echo "disable-ipv6" >> ~/.gnupg/dirmngr.conf @@ -8,7 +8,7 @@ RUN apt-get update && \ apt-get install -y apt-transport-https gnupg2 sudo nginx && \ rm -rf /etc/nginx/sites-enabled/* && \ apt-key adv --keyserver keys.gnupg.net --recv-key 0x810273C4 && \ - echo "deb https://packages.inverse.ca/SOGo/nightly/4/debian stretch stretch" > /etc/apt/sources.list.d/sogo.list && \ + echo "deb http://packages.inverse.ca/SOGo/nightly/5/debian/ buster buster" > /etc/apt/sources.list.d/sogo.list && \ apt-get update && \ apt-get install -y sogo sogo-activesync sope4.9-gdl1-postgresql postgresql-client diff --git a/docker/sogo/sogo.nginx.conf b/docker/sogo/sogo.nginx.conf new file mode 100644 index 0000000..ad920a5 --- /dev/null +++ b/docker/sogo/sogo.nginx.conf @@ -0,0 +1,83 @@ +server { + listen 8080; + server_name default_server; + root /usr/lib/GNUstep/SOGo/WebServerResources/; + + ## requirement to create new calendars in Thunderbird ## + proxy_http_version 1.1; + + # Message size limit + client_max_body_size 50m; + client_body_buffer_size 128k; + + location = / { + rewrite ^ '/SOGo'; + allow all; + } + + location = /principals/ { + rewrite ^ '/SOGo/dav'; + allow all; + } + + location ^~/SOGo { + proxy_pass 'http://127.0.0.1:20000'; + proxy_redirect 'http://127.0.0.1:20000' default; + # forward user's IP address + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header x-webobjects-server-protocol HTTP/1.0; + proxy_set_header x-webobjects-remote-host 127.0.0.1; + proxy_set_header x-webobjects-server-name $server_name; + proxy_set_header x-webobjects-server-url $scheme://$host; + proxy_set_header x-webobjects-server-port $server_port; + proxy_connect_timeout 90; + proxy_send_timeout 90; + proxy_read_timeout 90; + proxy_buffer_size 4k; + proxy_buffers 4 32k; + proxy_busy_buffers_size 64k; + proxy_temp_file_write_size 64k; + break; + } + + location /SOGo.woa/WebServerResources/ { + alias /usr/lib/GNUstep/SOGo/WebServerResources/; + allow all; + expires max; + } + + location /SOGo/WebServerResources/ { + alias /usr/lib/GNUstep/SOGo/WebServerResources/; + allow all; + expires max; + } + + location (^/SOGo/so/ControlPanel/Products/([^/]*)/Resources/(.*)$) { + alias /usr/lib/GNUstep/SOGo/$1.SOGo/Resources/$2; + expires max; + } + + location (^/SOGo/so/ControlPanel/Products/[^/]*UI/Resources/.*\.(jpg|png|gif|css|js)$) { + alias /usr/lib/GNUstep/SOGo/$1.SOGo/Resources/$2; + expires max; + } + + location ^~ /Microsoft-Server-ActiveSync { + access_log /var/log/nginx/activesync.log; + error_log /var/log/nginx/activesync-error.log; + + proxy_connect_timeout 75; + proxy_send_timeout 3600; + proxy_read_timeout 3600; + proxy_buffers 64 256k; + + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + + proxy_pass http://127.0.0.1:20000/SOGo/Microsoft-Server-ActiveSync; + proxy_redirect http://127.0.0.1:20000/SOGo/Microsoft-Server-ActiveSync /; + } +} diff --git a/nomad/im.hcl b/nomad/im.hcl index c0f5295..3f8e5bb 100644 --- a/nomad/im.hcl +++ b/nomad/im.hcl @@ -8,7 +8,7 @@ job "im" { driver = "docker" config { - image = "superboum/amd64_synapse:v31" + image = "superboum/amd64_synapse:v32" readonly_rootfs = true port_map { client_port = 8008 @@ -239,7 +239,7 @@ job "im" { task "server" { driver = "docker" config { - image = "superboum/amd64_riotweb:v13" + image = "superboum/amd64_riotweb:v14" port_map { web_port = 8043 }