doblez Posted January 7, 2022 Share Posted January 7, 2022 @Knutowskie @[email protected] Fix for @SpaceInvaderOne config not working I got it working with a new proxy configuration file based on the documentation on Collabora's website. The reason it stopped working is that the image for the docker container was updated with new directories - Hence what was /loleaflet is now /browser and /lool is now /cool. The docker container itself hasn't been updated which is why the WebUI isn't working. - Can't seem to push an update to the container, so maybe @chvb can fix it? Fixing the WebUI: Edit the Collabora template Enable advanced view Change the WebUI url to: https://[IP]:[PORT:9980]/browser/dist/admin/admin.html Update the template and voila - Login with your admin details Fixing the proxy configuration file: Change lines 17, 35, 44 and 54 to their new directories inside the NGINX .conf file - I've attached it here as a file and code. # make sure that your dns has a cname set for collabora. If you setup Collabora to use the custom docker network (as in my earlier videos for reverse proxy) # then this config file will work as is. However the container name is expected to be "Collabora" as it is by default in chvb's container. # If you are not using the custom docker network for this container then change the line "server Collabora:9980;" to "server [YOUR_SERVER_IP]:9980;" resolver 127.0.0.11 valid=30s; upstream collabora { server Collabora:9980; } server { listen 443 ssl; server_name collabora.*; include /config/nginx/ssl.conf; # static files location ^~ /browser { proxy_pass https://collabora; proxy_set_header Host $host; } # WOPI discovery URL location ^~ /hosting/discovery { proxy_pass https://collabora; proxy_set_header Host $host; } # Capabilities location ^~ /hosting/capabilities { proxy_pass https://collabora; proxy_set_header Host $http_host; } # main websocket location ~ ^/cool/(.*)/ws$ { proxy_pass https://collabora; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $http_host; proxy_read_timeout 36000s; } # Admin Console websocket location ^~ /cool/adminws { proxy_buffering off; proxy_pass https://collabora; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; proxy_read_timeout 36000s; } # download, presentation and image upload location ~ ^/(c|l)ool { proxy_pass https://collabora; proxy_set_header Host $http_host; } } Working07-01-2022-collabora.subdomain.conf Quote Link to comment
hekitoo Posted January 16, 2022 Share Posted January 16, 2022 @doblez so I'm trying to set this um with Nginx Proxy Manager. It looks like someone got a fix for it but it still uses the old /loleaflet and /lool: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/70 However, even after changing these two locations, it still won't work. What do you mean that I should change lines 17, 35, 44 and 54 the new directories? Thanks Quote Link to comment
doblez Posted February 11, 2022 Share Posted February 11, 2022 On 1/16/2022 at 8:43 PM, hekitoo said: @doblez so I'm trying to set this um with Nginx Proxy Manager. It looks like someone got a fix for it but it still uses the old /loleaflet and /lool: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/70 However, even after changing these two locations, it still won't work. What do you mean that I should change lines 17, 35, 44 and 54 the new directories? Thanks # static files location ^~ /browser { proxy_pass $forward_scheme://$server:$port; proxy_set_header Host $http_host; } # WOPI discovery URL location ^~ /hosting/discovery { proxy_pass $forward_scheme://$server:$port; proxy_set_header Host $http_host; } # main websocket location ~ ^/cool/(.*)/ws$ { proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_http_version 1.1; proxy_pass $forward_scheme://$server:$port; proxy_set_header Host $http_host; proxy_read_timeout 36000s; } # download, presentation and image upload location ~ ^/(c|l)ool { proxy_pass $forward_scheme://$server:$port; proxy_set_header Host $http_host; } # Admin Console websocket location ^~ /cool/adminws { proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_http_version 1.1; proxy_pass $forward_scheme://$server:$port; proxy_set_header Host $http_host; proxy_read_timeout 36000s; } Like I have changed it here - The directories/location for admin console websocket, download presentation and image upload, main websocket and static files. If you follow JC21's post on the github link you posted but use the above instead, it should work. Not that you still won't be able to open the WebUI unless you follow the instructions for changing the webUI-port, but the container and integration itself should work. Quote Link to comment
Jessie Posted April 11, 2022 Share Posted April 11, 2022 (edited) As of 11/4/22 the collabora docker crashes and burns in unraid. You manually start it. It stops a few seconds later. No config file will fix this. I went to UNRAID forums and cannot find a reference to collabora and CHVB in the same sentence. Does that mean it is abandoned? Edit A workaround. If you put collabora/code:21.11.2.4.1 in the repository field in the unraid docker template, it will load the last known working version of collabora. Not a fix, but at least it unbreaks it. Edited April 11, 2022 by Jessie Quote Link to comment
JonathanM Posted April 11, 2022 Share Posted April 11, 2022 6 hours ago, Jessie said: As of 11/4/22 the collabora docker crashes and burns in unraid. You manually start it. It stops a few seconds later. No config file will fix this. I went to UNRAID forums and cannot find a reference to collabora and CHVB in the same sentence. Does that mean it is abandoned? Probably. However, I was able to get the container running by removing the domains value in the template. I haven't got it connected back to nc yet, but apparently there is a way to do it, I just haven't had time to work on it. Quote Link to comment
Tolete Posted April 11, 2022 Share Posted April 11, 2022 (edited) collabora/nextcloud office docs was working, after update log shows ERR: Use of domain variable is not supported. First host/domain who tries to connect to COOL is always allowed. To allow multiple host and its aliases use something like this and pass it as env variable: aliasgroup1=https://domain1:443,https://its-alias|its-second-alias:443 aliasgroup2=https://domain2:443,https://its-alias:443 https://sdk.collaboraonline.com/docs/installation/CODE_Docker_image.html looks like some changes on last update that affect the allowed domains/alliasnames -going back to previous version gets you back online (w/nextcloud no longer connecting to collabora server) -staying in latest and leaving "Container Variable: domain" empty starts the container (w/nextcloud 'Could not establish connection to the Collabora Online server.') anyone figured out the new required variable syntax, to get Collabora back up and running w/nextcloud? Edited April 11, 2022 by Tolete Quote Link to comment
01cooperl Posted April 11, 2022 Share Posted April 11, 2022 6 hours ago, Tolete said: collabora/nextcloud office docs was working, after update log shows ERR: Use of domain variable is not supported. First host/domain who tries to connect to COOL is always allowed. To allow multiple host and its aliases use something like this and pass it as env variable: aliasgroup1=https://domain1:443,https://its-alias|its-second-alias:443 aliasgroup2=https://domain2:443,https://its-alias:443 https://sdk.collaboraonline.com/docs/installation/CODE_Docker_image.html looks like some changes on last update that affect the allowed domains/alliasnames -going back to previous version gets you back online (w/nextcloud no longer connecting to collabora server) -staying in latest and leaving "Container Variable: domain" empty starts the container (w/nextcloud 'Could not establish connection to the Collabora Online server.') anyone figured out the new required variable syntax, to get Collabora back up and running w/nextcloud? I have the same problem. It's taken down my nextcloud instance as well! I would have expected Nextcloud to still function is Collabora cannot start. Any ideas? Quote Link to comment
Tolete Posted April 12, 2022 Share Posted April 12, 2022 (edited) 17 hours ago, 01cooperl said: I have the same problem. It's taken down my nextcloud instance as well! I would have expected Nextcloud to still function is Collabora cannot start. Any ideas? My nextcloud instance is not affected by collabora other than can't connect to Collabora. -i would start up a new nextcloud instance and test. Edited April 12, 2022 by Tolete Quote Link to comment
01cooperl Posted April 15, 2022 Share Posted April 15, 2022 On 4/12/2022 at 2:04 PM, Tolete said: My nextcloud instance is not affected by collabora other than can't connect to Collabora. -i would start up a new nextcloud instance and test. I changed the domain to blank as suggested above to successfully start the collabora container and now nextcloud is working again. I guess it must be how I configured nextcloud to connect to collabora or swag is doing something weird Quote Link to comment
Tolete Posted April 16, 2022 Share Posted April 16, 2022 On 4/15/2022 at 4:56 AM, 01cooperl said: I changed the domain to blank as suggested above to successfully start the collabora container and now nextcloud is working again. I guess it must be how I configured nextcloud to connect to collabora or swag is doing something weird check out my post @ and follow steps there. Quote Link to comment
lilfade Posted September 26, 2022 Share Posted September 26, 2022 Had the issue of not being able to open anything and the web ui not working. Made the associated changes for the nginx in my swag container, deleted collabora container and image, reinstalled from the app store (no domain needed as it's now setup as "first come, first serve" and bam... documents are opening again. Quote Link to comment
UnKwicks Posted September 29, 2022 Share Posted September 29, 2022 On 9/26/2022 at 9:13 PM, lilfade said: Had the issue of not being able to open anything and the web ui not working. Made the associated changes for the nginx in my swag container, deleted collabora container and image, reinstalled from the app store (no domain needed as it's now setup as "first come, first serve" and bam... documents are opening again. did you configure the aliasgroup1 variable? Quote Link to comment
lilfade Posted October 7, 2022 Share Posted October 7, 2022 On 9/29/2022 at 2:53 PM, UnKwicks said: did you configure the aliasgroup1 variable? no, i left em all off as the *new updated* container recommends. As far as i can tell, you only need the alias if your working with multiple domains, if you only have one domain dont add alias or domains, just remove them and it should work as it should. Quote Link to comment
ramair02 Posted November 2, 2022 Share Posted November 2, 2022 (edited) I was having a heck of a time figuring out the correct collabora subdomain proxy config for SWAG. I came across this site which helped me successfully get Nextcloud, SWAG & Collabora working. The config at that link worked for me -- I only changed line 37 to my Unraid IP. Sharing here in case it helps anyone else. My current `collabora.subdomain.conf` ## Version 2022/09/08 # make sure that your dns has a cname set for collabora and that your collabora container is named collabora server { listen 443 ssl; listen [::]:443 ssl; server_name collabora.*; include /config/nginx/ssl.conf; client_max_body_size 0; # enable for ldap auth (requires ldap-location.conf in the location block) #include /config/nginx/ldap-server.conf; # enable for Authelia (requires authelia-location.conf in the location block) #include /config/nginx/authelia-server.conf; location / { # enable the next two lines for http auth #auth_basic "Restricted"; #auth_basic_user_file /config/nginx/.htpasswd; # enable for ldap auth (requires ldap-server.conf in the server block) #include /config/nginx/ldap-location.conf; # enable for Authelia (requires authelia-server.conf in the server block) #include /config/nginx/authelia-location.conf; include /config/nginx/proxy.conf; include /config/nginx/resolver.conf; set $upstream_app XX.XX.XX.XX; set $upstream_port 9980; set $upstream_proto https; proxy_pass $upstream_proto://$upstream_app:$upstream_port; } } Set your server IP in line 37 -- Unraid specific info that is not included in the above link... Edit the collabora container in unraid, remove domain, add new variable as below Edited November 2, 2022 by ramair02 Quote Link to comment
pugnobellum Posted July 5 Share Posted July 5 @ramair02 I wonder how you got this working. I added the aliasgroup1 variable like you recommended. I am on unraid 6.11.5 currently, running SWAG, nextcloud, and mariaDB setup and of course trying to use the collabora app with nextcloud now for online document editing and just having no luck. I will attach my collabora.subdomain.conf file, and screenshots of my setup. I get a green checkmark in nextcloud, but when I load documents it fails every time. Here also is the collabora logs with errors. I have tried to follow multiple guides with no luck. I can provide any more info on my setup as needed. wsd-00001-00001 2023-07-05 14:12:00.194834 -0700 [ coolwsd ] INF WSD initialization complete: setting log-level to [warning] as configured.| wsd/COOLWSD.cpp:5700 Ready to accept connections on port 9980. wsd-00001-00042 2023-07-05 14:12:11.870016 -0700 [ websrv_poll ] WRN convert-to: Requesting address is denied: [my public IP]| wsd/COOLWSD.cpp:3793 wsd-00001-00042 2023-07-05 14:12:20.640023 -0700 [ websrv_poll ] ERR unknown UI default's component UITheme| wsd/FileServerUtil.cpp:99 collabora.subdomain.conf Quote Link to comment
stefan.tomko Posted September 20 Share Posted September 20 (edited) Is there anyone who is successfully using collabora code in a docker? I am on Nextcloud hub 6 (27.0.1) and latest Collabora Code docker. All my dockers are in br0, with IPs on the same subnet. I am using NGINX Proxy Manager. I have created proxy host for nextcloud.* that points to my nextcloud. I have created the same for office.* that points to https://IP_OF_COLLABORA:DOCKER port 9980 with websockets enabled, and even with some additional config I found on some sites: # static files location ^~ /browser { proxy_pass $forward_scheme://$server:$port; proxy_set_header Host $http_host; } # WOPI discovery URL location ^~ /hosting/discovery { proxy_pass $forward_scheme://$server:$port; proxy_set_header Host $http_host; } # main websocket location ~ ^/cool/(.*)/ws$ { proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_http_version 1.1; proxy_pass $forward_scheme://$server:$port; proxy_set_header Host $http_host; proxy_read_timeout 36000s; } # download, presentation and image upload location ~ ^/cool { proxy_pass $forward_scheme://$server:$port; proxy_set_header Host $http_host; } # Admin Console websocket location ^~ /cool/adminws { proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_http_version 1.1; proxy_pass $forward_scheme://$server:$port; proxy_set_header Host $http_host; proxy_read_timeout 36000s; } My dockers can talk to each other, and I pointed nextcloud to use https://office.* (without port, as port is handled by NPM) and nextcloud can connect to the collabora server. However when I create document and try to open it, it fails after maybe 10 seconds with: Honestly, I am not even sure which logs matter at this point. Here is latest what I see in collabora docker: wsd-00001-00047 2023-09-20 22:00:10.390097 +0200 [ docbroker_002 ] ERR loading document exception: WOPI::CheckFileInfo failed: | wsd/DocumentBroker.cpp:2610 wsd-00001-00047 2023-09-20 22:00:10.390111 +0200 [ docbroker_002 ] ERR Failed to add session to [https%3A%2F%2Fnextcloud.*%3A443%2Findex.php%2Fapps%2Frichdocuments%2Fwopi%2Ffiles%2F871848_instanceid] with URI [https://nextcloud.*/index.php/apps/richdocuments/wopi/files/871848_instanceid?access_token=Q8BemIu9osHPNyQCq3ikA4xFXTQKncL7&access_token_ttl=0&permission=edit]: WOPI::CheckFileInfo failed: | wsd/DocumentBroker.cpp:2572 wsd-00001-00047 2023-09-20 22:00:10.390120 +0200 [ docbroker_002 ] ERR Storage error while starting session on https%3A%2F%2Fnextcloud.*%3A443%2Findex.php%2Fapps%2Frichdocuments%2Fwopi%2Ffiles%2F871848_instanceid for socket #18. Terminating connection. Error: WOPI::CheckFileInfo failed: | wsd/COOLWSD.cpp:5052 wsd-00001-00047 2023-09-20 22:00:10.394410 +0200 [ docbroker_002 ] ERR #24: Read failed, have 0 buffered bytes (ECONNRESET: Connection reset by peer)| net/Socket.hpp:1122 wsd-00001-00047 2023-09-20 22:00:10.394428 +0200 [ docbroker_002 ] WRN #24: Unassociated Kit (46) disconnected unexpectedly| wsd/COOLWSD.cpp:3491 frk-00038-00038 2023-09-20 22:00:10.404696 +0200 [ forkit ] WRN The systemplate directory [/opt/cool/systemplate] is read-only, and at least [/opt/cool/systemplate//etc/hosts] is out-of-date. Will have to copy sysTemplate to jails. To restore optimal performance, make sure the files in [/opt/cool/systemplate/etc] are up-to-date.| common/JailUtil.cpp:524 sh: 1: /usr/bin/coolmount: Operation not permitted sh: 1: /usr/bin/coolmount: Operation not permitted sh: 1: /usr/bin/coolmount: Operation not permitted wsd-00001-00055 2023-09-20 22:00:10.563226 +0200 [ docbroker_003 ] WRN #29: Failed to verify the certificate of [nextcloud.*]| net/SslSocket.hpp:252 wsd-00001-00055 2023-09-20 22:00:10.563294 +0200 [ docbroker_003 ] ERR WOPI::CheckFileInfo failed for URI [https://nextcloud.*/index.php/apps/richdocuments/wopi/files/871848_instanceid?access_token=Q8BemIu9osHPNyQCq3ikA4xFXTQKncL7&access_token_ttl=0&permission=edit]: 0 (Unknown) . Headers: Body: []| wsd/Storage.cpp:708 wsd-00001-00055 2023-09-20 22:00:10.563320 +0200 [ docbroker_003 ] ERR loading document exception: WOPI::CheckFileInfo failed: | wsd/DocumentBroker.cpp:2610 wsd-00001-00055 2023-09-20 22:00:10.563327 +0200 [ docbroker_003 ] ERR Failed to add session to [https%3A%2F%2Fnextcloud.*%3A443%2Findex.php%2Fapps%2Frichdocuments%2Fwopi%2Ffiles%2F871848_instanceid] with URI [https://nextcloud.*/index.php/apps/richdocuments/wopi/files/871848_instanceid?access_token=Q8BemIu9osHPNyQCq3ikA4xFXTQKncL7&access_token_ttl=0&permission=edit]: WOPI::CheckFileInfo failed: | wsd/DocumentBroker.cpp:2572 wsd-00001-00055 2023-09-20 22:00:10.563333 +0200 [ docbroker_003 ] ERR Storage error while starting session on https%3A%2F%2Fnextcloud.*%3A443%2Findex.php%2Fapps%2Frichdocuments%2Fwopi%2Ffiles%2F871848_instanceid for socket #24. Terminating connection. Error: WOPI::CheckFileInfo failed: | wsd/COOLWSD.cpp:5052 wsd-00001-00055 2023-09-20 22:00:10.567161 +0200 [ docbroker_003 ] ERR #18: Read failed, have 0 buffered bytes (ECONNRESET: Connection reset by peer)| net/Socket.hpp:1122 wsd-00001-00055 2023-09-20 22:00:10.567170 +0200 [ docbroker_003 ] WRN #18: Unassociated Kit (54) disconnected unexpectedly| wsd/COOLWSD.cpp:3491 frk-00038-00038 2023-09-20 22:00:10.576432 +0200 [ forkit ] WRN The systemplate directory [/opt/cool/systemplate] is read-only, and at least [/opt/cool/systemplate//etc/hosts] is out-of-date. Will have to copy sysTemplate to jails. To restore optimal performance, make sure the files in [/opt/cool/systemplate/etc] are up-to-date.| common/JailUtil.cpp:524 sh: 1: /usr/bin/coolmount: Operation not permitted sh: 1: /usr/bin/coolmount: Operation not permitted sh: 1: /usr/bin/coolmount: Operation not permitted When I open developer console in Chrome, I am getting this: Can anyone advise? // edit I was able to resolve my issue. Spaceinvader's video pointed me in the right direction. I use pihole and internally, for nextcloud.* I resolve local IP of my reverse proxy. Same for collabora (office.*). In nextcloud's docker, I use extra parameter to use pihole proxy (by default, servers on my server segment don't get pihole proxy) and that allows nextcloud to resolve locally collabora's IP. Since Spaceinvader mentioned that both collabora and nextcloud need to be able to resolve each other, I tried to add the same extra parameter to collabora's docker. Otherwise, if collabora was to resolve it, it would resolve public IP. And voila - it works now. Edited September 21 by stefan.tomko issue resolved Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.