Collabora with nextcloud 24

I’m trying to use collabora with nextcloud 24 but its not working for me anyone can help me, im using docker collabora on same nextcloud vm, any help?

You are missing the required support template. Please fill this form out and edit into your post.

This will give us the technical info and logs needed to help you in case the machine in question in spitting out errors! Since you’ve provided zero technical details it is impossible to help you as-is. Thanks.

Copy paste this into your post and please fill it out.

Support intro
Nextcloud version (eg, 20.0.5): 24.0.1
Operating system and version (eg, Ubuntu 20.04): Ubuntu 20.04
Apache or nginx version (eg, Apache 2.4.25): Apache 2.4.52
PHP version (eg, 7.4): 8.1.2

The issue you are facing:

Is this the first time you’ve seen this error? (Y/N): Y

Steps to replicate it:

The output of your Nextcloud log in Admin > Logging:

Fatalno app in context2022-07-21T12:01:16+0200
RedisException: Connection refused
Fatalno app in context2022-07-21T12:01:16+0200
RedisException: Connection refused
Fatalno app in context2022-07-21T12:01:16+0200
RedisException: Connection refused
Fatalno app in context2022-07-21T12:01:16+0200
RedisException: Connection refused
Fatalno app in context2022-07-21T12:01:15+0200
RedisException: Connection refused
Fatalno app in context2022-07-21T12:01:15+0200
RedisException: Connection refused
Fatalno app in context2022-07-21T12:01:15+0200
RedisException: Connection refused

The output of your config.php file in /path/to/nextcloud (make sure you remove any identifiable information!):

<?php
$CONFIG = array (
‘instanceid’ => ‘’,
‘passwordsalt’ => ‘’,
‘secret’ => ‘’,
‘trusted_domains’ =>
array (
0 => ‘10.x.x.x’,
1 => ‘public URL’,
),
‘datadirectory’ => ‘/var/www/nextcloud/data’,
‘dbtype’ => ‘mysql’,
‘version’ => ‘24.0.1.1’,
‘overwrite.cli.url’ => ‘http://10.x.x.x’,
‘dbname’ => ‘nextcloud’,
‘dbhost’ => ‘localhost’,
‘dbport’ => ‘’,
‘dbtableprefix’ => ‘oc_’,
‘mysql.utf8mb4’ => true,
‘dbuser’ => ‘office’,
‘dbpassword’ => ‘Nextcloud’,
‘installed’ => true,
‘app_install_overwrite’ =>
array (
0 => ‘documentserver_community’,
),
‘trusted_proxies’ =>
array (
0 => ‘127.0.0.1’,
1 => ‘::1’,
),
‘mail_from_address’ => ‘’,
‘mail_smtpmode’ => ‘smtp’,
‘mail_sendmailmode’ => ‘smtp’,
‘mail_domain’ => ‘gmail.com’,
‘mail_smtpauthtype’ => ‘LOGIN’,
‘mail_smtphost’ => ‘smtp.gmail.com’,
‘mail_smtpport’ => ‘465’,
‘mail_smtpauth’ => 1,
‘mail_smtpname’ => ‘’,
‘mail_smtppassword’ => ‘’,
‘mail_smtpsecure’ => ‘ssl’,
‘maintenance’ => false,
);

The output of your Apache/nginx/system log in /var/log/____:

[Thu Jul 21 10:52:43.087368 2022] [php:notice] [pid 15223] [client 154.73.52.235:54090] richdocumentscode (proxy.php) error exit, PID: 15223, Message: The param should be ‘status’ or ‘req=. …’, but is: ‘’
[Thu Jul 21 10:52:44.353056 2022] [php:notice] [pid 15224] [client 154.73.52.235:54092] richdocumentscode (proxy.php) error exit, PID: 15224, Message: The param should be ‘status’ or ‘req=. …’, but is: ‘’
[Thu Jul 21 10:52:45.601751 2022] [php:notice] [pid 15253] [client 154.73.52.235:54085] richdocumentscode (proxy.php) error exit, PID: 15253, Message: The param should be ‘status’ or ‘req=. …’, but is: ‘’
[Thu Jul 21 10:52:46.895345 2022] [php:notice] [pid 15253] [client 154.73.52.235:54085] richdocumentscode (proxy.php) error exit, PID: 15253, Message: The param should be ‘status’ or ‘req=. …’, but is: ‘’
[Thu Jul 21 10:58:31.060786 2022] [php:notice] [pid 9719] [client 154.73.52.235:54237] richdocumentscode (proxy.php) error exit, PID: 9719, Message: No content in reply from coolwsd. Is SSL enabled in error ?
[Thu Jul 21 10:58:37.943391 2022] [php:notice] [pid 9719] [client 154.73.52.235:54267] richdocumentscode (proxy.php) error exit, PID: 9719, Message: No content in reply from coolwsd. Is SSL enabled in error ?
[Thu Jul 21 11:00:26.757699 2022] [php:notice] [pid 9721] [client 154.73.52.235:54358] richdocumentscode (proxy.php) error exit, PID: 9721, Message: No content in reply from coolwsd. Is SSL enabled in error ?
[Thu Jul 21 11:01:36.969659 2022] [php:notice] [pid 15223] [client 154.73.52.235:54382] richdocumentscode (proxy.php) error exit, PID: 15223, Message: No content in reply from coolwsd. Is S SL enabled in error ?
[Thu Jul 21 11:07:14.641323 2022] [php:notice] [pid 9720] [client 154.73.52.235:54503] richdocumentscode (proxy.php) error exit, PID: 9720, Message: No content in reply from coolwsd. Is SSL enabled in error ?
[Thu Jul 21 11:23:18.282451 2022] [php:notice] [pid 15253] [client 154.73.52.235:54839] richdocumentscode (proxy.php) error exit, PID: 15253, Message: No content in reply from coolwsd. Is S SL enabled in error ?
[Thu Jul 21 11:40:13.715172 2022] [access_compat:error] [pid 15918] [client 154.73.52.235:61590] AH01797: client denied by server configuration: /var/www/nextcloud/data/.ocdata

The Output of the collabora docker logs:

kit-00031-00029 2022-07-20 12:50:17.545967 +0000 [ kit_spare_001 ] TRC #23: Set socket buffer size to 262144| net/Socket.hpp:239
kit-00031-00029 2022-07-20 12:50:17.545990 +0000 [ kit_spare_001 ] INF New kit client websocket inserted.| kit/Kit.cpp:2814
kit-00031-00029 2022-07-20 12:50:17.546011 +0000 [ kit_spare_001 ] INF Kit initialization complete: setting log-level to [warning] as configured.| kit/Kit.cpp:2819
wsd-00001-00001 2022-07-20 12:50:17.547372 +0000 [ coolwsd ] TRC Have 1 new children.| wsd/COOLWSD.cpp:5051
wsd-00001-00001 2022-07-20 12:50:17.547725 +0000 [ coolwsd ] INF WSD initialization complete: setting log-level to [warning] as configured.| wsd/COOLWSD.cpp:5067
Ready to accept connections on port 9980.

wsd-00001-00033 2022-07-20 12:50:17.550668 +0000 [ websrv_poll ] ERR Looks like SSL/TLS traffic on plain http port| wsd/COOLWSD.cpp:3373
wsd-00001-00033 2022-07-20 12:50:31.747444 +0000 [ websrv_poll ] ERR Looks like SSL/TLS traffic on plain http port| wsd/COOLWSD.cpp:3373
wsd-00001-00033 2022-07-20 12:50:31.978537 +0000 [ websrv_poll ] ERR Looks like SSL/TLS traffic on plain http port| wsd/COOLWSD.cpp:3373
wsd-00001-00033 2022-07-20 12:50:32.047488 +0000 [ websrv_poll ] ERR Looks like SSL/TLS traffic on plain http port| wsd/COOLWSD.cpp:3373
wsd-00001-00001 2022-07-20 12:51:17.647997 +0000 [ coolwsd ] WRN Waking up dead poll thread [update], started: false, finished: false| net/Socket.hpp:722
wsd-00001-00033 2022-07-20 13:03:29.546146 +0000 [ websrv_poll ] ERR Looks like SSL/TLS traffic on plain http port| wsd/COOLWSD.cpp:3373
wsd-00001-00033 2022-07-20 13:03:29.824468 +0000 [ websrv_poll ] ERR Looks like SSL/TLS traffic on plain http port| wsd/COOLWSD.cpp:3373
wsd-00001-00033 2022-07-20 13:03:29.915678 +0000 [ websrv_poll ] ERR Looks like SSL/TLS traffic on plain http port| wsd/COOLWSD.cpp:3373
wsd-00001-00033 2022-07-20 13:26:13.768236 +0000 [ websrv_poll ] ERR Looks like SSL/TLS traffic on plain http port| wsd/COOLWSD.cpp:3373
wsd-00001-00033 2022-07-20 13:26:14.126114 +0000 [ websrv_poll ] ERR Looks like SSL/TLS traffic on plain http port| wsd/COOLWSD.cpp:3373
wsd-00001-00033 2022-07-20 18:04:52.954966 +0000 [ websrv_poll ] ERR Looks like SSL/TLS traffic on plain http port| wsd/COOLWSD.cpp:3373
wsd-00001-00033 2022-07-20 18:05:14.476362 +0000 [ websrv_poll ] ERR Looks like SSL/TLS traffic on plain http port| wsd/COOLWSD.cpp:3373
wsd-00001-00033 2022-07-20 18:05:16.313992 +0000 [ websrv_poll ] ERR Looks like SSL/TLS traffic on plain http port| wsd/COOLWSD.cpp:3373
wsd-00001-00001 2022-07-20 22:51:27.742611 +0000 [ coolwsd ] WRN Waking up dead poll thread [update], started: false, finished: false| net/Socket.hpp:722
wsd-00001-00001 2022-07-21 08:51:38.082897 +0000 [ coolwsd ] WRN Waking up dead poll thread [update], started: false, finished: false| net/Socket.hpp:722

it looks you are running Nextcloud without valid domainname and TLS, which are mandatory to use WOPI protocol (Collabora). Please configure Nextcloud and Collabora with https and valid TLS certificates and try again.

But you can use collabora online (only from inside your 10.x.x.x network) install if you install the nextcloud app ‘nextcloud office’ and set url/port to your collabora online server in the settings section ‘office’, for example to ‘http://10.168.178.2:9980’. Do not forget to disable certificate check one line after your ip address entry.

Of course works only with a additional collabora online server.

As example here to do this with docker-compose json

ksnip_20220722-133109

It’s possible to run both Nextcloud and Collabora without direct assigned TLS certificate behind reverse proxy which terminates TLS (offloading). WOPI protocoll involves 3 parties: user client, storage system (Nextcloud) and and Office Server (Collabora) where all components need connections to each other - which makes it hard or impossible to operate without proper TLS setup. I definitely recommend you to setup proper TLS configuration and use public names for every connection…

very good thread with lot of references

Yes of course, i am using exactly this config with TLS terminating in a docker environment behind a reverse proxy and you’r absolutly right.

try it with TLS still having same issue

where can i find this json file path please

still having same issue collabora gives ok with http but with https it give ERR_SSL_PROTOCOL_ERROR
i’m using apache reverse proxy and yes i installed cert for the collabora vhost, anyone can help?

Okay if you do so you should have a wopi discovery xml file if you point to the URL

https://“your-collabora-code-server-URL”>/hosting/discover

e.g. like this

ksnip_20220725-154902

(partly)…
Do you?

If not, your apache reverse proxy conf fails

it show unsecure connection.
yes, it looks issue on apache reverse proxy but i did the configuration and added the certificate as well, can you please help me with this?

Put your apache config here to investigate …

just a note I’m using nextcloud and collabora docke in same VM

# The ServerName directive sets the request scheme, hostname and port that # the server uses to identify itself. This is used when creating # redirection URLs. In the context of virtual hosts, the ServerName # specifies what hostname must appear in the request's Host: header to # match this virtual host. For the default virtual host (this file) this # value is not decisive as it is used as a last resort host regardless. # However, you must set it for any further virtual host explicitly. ServerName collabora.xyz
    Options -Indexes
    # Encoded slashes need to be allowed
    AllowEncodedSlashes NoDecode

    # Container uses a unique non-signed certificate
    SSLProxyEngine On
    SSLProxyVerify None
    SSLProxyCheckPeerCN Off
    SSLProxyCheckPeerName Off

keep the host

    ProxyPreserveHost On

static html, js, images, etc. served from coolwsd

browser is the client part of Collabora Online

     ProxyPass           /browser https://127.0.0.1:9980/browser retry=0
     ProxyPassReverse    /browser https://127.0.0.1:9980/browser

WOPI discovery URL

     ProxyPass           /hosting/discovery https://127.0.0.1:9980/hosting/discovery retry=0
     ProxyPassReverse    /hosting/discovery https://127.0.0.1:9980/hosting/discovery

Capabilities

     ProxyPass           /hosting/capabilities https://127.0.0.1:9980/hosting/capabilities retry=0
     ProxyPassReverse    /hosting/capabilities https://127.0.0.1:9980/hosting/capabilities

Main websocket

     ProxyPassMatch      "/cool/(.*)/ws$"      wss://127.0.0.1:9980/cool/$1/ws nocanon

Admin Console websocket

     ProxyPass           /cool/adminws wss://127.0.0.1:9980/cool/adminws

Download as, Fullscreen presentation and Image upload operations

     ProxyPass           /cool https://127.0.0.1:9980/cool
     ProxyPassReverse    /cool https://127.0.0.1:9980/cool

Compatibility with integrations that use the /lool/convert-to endpoint

     ProxyPass           /lool https://127.0.0.1:9980/cool
     ProxyPassReverse    /lool https://127.0.0.1:9980/cool


    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.
    #LogLevel info ssl:warn

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf

SSLCertificateFile /etc/letsencrypt/live/office1.xyz/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/office1.xyz/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf

it give me :
Not Found
The requested URL was not found on this server.

when i tried https://collabora /hosting/discovery it works , but still have the same issue document keep loading then fails

image

Okay, same apache config here but i do NOT have set the “Options - Indexes” value.

In the docker config for your collabora/code vserver do you set the ENV “domain” to your nextcloud FQDN? And again, https://“your-collabora-code-server-FQDN”/hosting/discover show similar of mine above?

And you have another working https FQDN for your nextcloud vserver, right?

this is how i run the docker
docker run -t -d -p 9980:9980 -e “domain=nextcloud.x.yz” -e “server_name=collabora.x.yz” --restart always --cap-add MKNOD collabora/code

and yes https://collabora/hosting/discovery works and shows xml

No, “https://nextcloud.x.yz/hosting/discovery” MUST work.