OnlyOffice and NextCloud in Docker. Both proxied by NGINX rev proxy.
Installing ONLYOFFICE Docs Community Edition for Debian, Ubuntu, and derivatives
Additional config lines for NextCloud virtual site config:
upstream docservice { server 192.168.64.231:3077; } map $http_x_forwarded_proto $the_scheme { default $http_x_forwarded_proto; "" $scheme; } map $http_x_forwarded_host $the_host { default $http_x_forwarded_host; "" $host; } map $http_upgrade $proxy_connection { default upgrade; "" close; } server { .. location /documentserver { return 302 /documentserver/; } location ~ ^/web-apps/(.*) { # rewrite ^ https://$server_name$request_uri? permanent; return 302 /documentserver/web-apps/$1$is_args$args; } location /documentserver/ { proxy_pass http://docservice/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $proxy_connection; proxy_set_header X-Forwarded-Host $the_host/documentserver; proxy_set_header X-Forwarded-Proto $the_scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
Based on hints from: https://github.com/ONLYOFFICE/document-server-proxy
https://github.com/ONLYOFFICE/docker-onlyoffice-nextcloud https://hub.docker.com/r/onlyoffice/documentserver/
OnlyOffice network in Docker is configured:
Web page should be shown on link: https://nc.example.com/documentserver/welcome/
Install and enable `OnlyOffice` plugin.
Configure it as follows:
### Trusted domain ./occ config:system:get trusted_domains # Put correct indexes in commands below: ./occ config:system:set trusted_domains 0 --value="nc.example.com" # NC http port is exposed from Docker to host port 3007 ./occ config:system:set trusted_domains 1 --value="host_ip:3007" ### OnlyOffice config # OnlyOffice server URL: ./occ config:system:set onlyoffice DocumentServerUrl --value="https://nc.example.com/documentserver/" # How OnlyOffice can reach NC: ./occ config:system:set onlyoffice StorageUrl --value="http://nc.grinn-global.com/" # NOTE; it is possible to put external URL like above, but NC can communicate directly inside private Docker network ./occ config:system:set onlyoffice DocumentServerInternalUrl --value="https://onlyoffice/" # And permit NC to communicate with local addresses # Without this you can got error: Error when trying to connect (Host violates local access rules) ./occ config:system:set allow_local_remote_servers --value true --type bool