aboutsummaryrefslogtreecommitdiff
path: root/docker/sogo
diff options
context:
space:
mode:
authorQuentin Dufour <quentin@deuxfleurs.fr>2020-08-20 10:01:44 +0200
committerQuentin Dufour <quentin@deuxfleurs.fr>2020-08-20 10:01:44 +0200
commit72b84fbe1808c44b255495f193d603cb6f216705 (patch)
treee35e1c4aada051b5d3e2bf2206609aad4120bb7f /docker/sogo
parentbdff5571f10f2ac23134e654a0958527f9036112 (diff)
downloadinfrastructure-72b84fbe1808c44b255495f193d603cb6f216705.tar.gz
infrastructure-72b84fbe1808c44b255495f193d603cb6f216705.zip
upgrade matrix + wip sogo
Diffstat (limited to 'docker/sogo')
-rw-r--r--docker/sogo/Dockerfile4
-rw-r--r--docker/sogo/sogo.nginx.conf83
2 files changed, 85 insertions, 2 deletions
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 /;
+ }
+}