# Load environment variables map "" $webdav_backend { default "$WEBDAV_BACKEND"; } server { listen ${APP_PORT}; server_name localhost; # serve super-productivity as static files at the path / location / { root /usr/share/nginx/html; index index.html index.htm; try_files $uri $uri/ /index.html; } # forward requests starting with "/webdav/" to $WEBDAV_BACKEND # note: the prefix "/webdav" is removed during forwarding location = /webdav { return 302 /webdav/; } location /webdav/ { if ($webdav_backend = "") { return 404; } resolver 127.0.0.11; # resolve webdav_backend by docker internal DNS rewrite ^/webdav/(.*)$ /$1 break; # remove the `/webdav/` prefix proxy_pass $webdav_backend; } # redirect server error pages to the static page /50x.html error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }