NextCloud stops communicating with Collabora after upgrade to 25

Is this the first time you’ve seen this error? Yes

Steps to replicate it:

  1. Install NextCloud + Collabora over docker-compose
  2. Install Collabora App
  3. Try setting up Collabora with either of the options proposed (self-hosted, built-in or demo)
  4. NextCloud looks happy and confirms the Collabora server is accessible (green mark and all)
  5. Documents download instead of opening in Collabora

The output of your Nextcloud log in Admin > Logging:

Nothing relevant

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

?php
$CONFIG = array (
  'htaccess.RewriteBase' => '/',
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'apps_paths' => 
  array (
    0 => 
    array (
      'path' => '/var/www/html/apps',
      'url' => '/apps',
      'writable' => false,
    ),
    1 => 
    array (
      'path' => '/var/www/html/custom_apps',
      'url' => '/custom_apps',
      'writable' => true,
    ),
  ),
  'instanceid' => 'oca7yxi0axh4',
  'passwordsalt' => 'AfOj2HbGCnlf5xhphKUF0WMDB7KzY6',
  'secret' => '4PcUa5ICqo/EkYu5G+SB9FLRPDJaQOyWRHrlWw86onfHQhVA',
  'trusted_domains' => 
  array (
    0 => 'cloud.irrig.io',
  ),
  'datadirectory' => '/var/www/html/data',
  'dbtype' => 'mysql',
  'version' => '25.0.1.1',
  'overwrite.cli.url' => 'http://cloud.irrig.io',
  'dbname' => 'nextcloud',
  'dbhost' => 'db',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'mysql.utf8mb4' => true,
  'dbuser' => 'nextcloud',
  'dbpassword' => 'mysqlpasswd',
  'installed' => true,
  'mail_smtpmode' => 'smtp',
  'mail_smtpsecure' => 'tls',
  'mail_sendmailmode' => 'smtp',
  'mail_from_address' => 'noreply',
  'mail_domain' => 'irrig.io',
  'mail_smtphost' => 'smtp.online.net',
  'mail_smtpport' => '587',
  'mail_smtpauth' => 1,
  'mail_smtpname' => 'camille@irrig.io',
  'mail_smtppassword' => 'Kactus223',
  'mail_smtpauthtype' => 'PLAIN',
  'maintenance' => false,
  'loglevel' => 0,
  'trusted_proxies' => 
  array (
    1 => '127.0.0.1',
  ),
  'overwritehost' => 'cloud.irrig.io',
  'overwriteprotocol' => 'https',
);

Docker-compose:

version: '2'

volumes:
  nextcloud:
  db:

services:
  db:
    image: mariadb
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    restart: always
    volumes:
      - db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=mysqrootpasswd
      - MYSQL_PASSWORD=mysqlpasswd
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

  app:
    image: nextcloud:25
    ports:
      - 127.0.0.1:8001:80
    links:
      - db
    volumes:
      - nextcloud:/var/www/html
    restart: always
    labels:
      ofelia.enabled: "true"
      ofelia.job-exec.php-cron-nextcloud.schedule: "5 * * * *"
      ofelia.job-exec.php-cron-nextcloud.command: "php -f /var/www/html/cron.php"
      ofelia.job-exec.php-cron-nextcloud.user: "www-data"

  ofelia:
    image: mcuadros/ofelia:latest
    depends_on:
      - app
    command: daemon --docker
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro

  colabora:
    image: collabora/code
    environment:
      - dictionaries=de en es fr
      - domain=cloud\.irrig\.io
      - extra_params=--o:server_name=office\.irrig\.io --o:net.post_allow.host=::ffff:172\.18\.0\.[0-9]+ --o:net.post_allow.host=172\.18\.0\.[0-9]+ --o:net.proto=IPv4
    ports:
      - 127.0.0.1:9980:9980
    restart: always
    cap_add:
      - MKNOD

Apache configuration:

<VirtualHost *:80>
    ServerName cloud.irrig.io
    Redirect permanent / https://cloud.irrig.io/
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>

<VirtualHost *:443>

  ServerName cloud.irrig.io

  ProxyRequests     off
  
  ProxyPreserveHost on
  ProxyPass /error/ !

  ProxyPass "/" "http://localhost:8001/"
  ProxyPassReverse "/" "http://localhost:8001/"

  SSLCertificateFile /etc/letsencrypt/live/cloud.irrig.io/fullchain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/cloud.irrig.io/privkey.pem
  Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>

<VirtualHost *:443>
ServerName office.irrig.io

# SSL configuration, you may want to take the easy route instead and use Lets Encrypt!
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/office.irrig.io/fullchain.pem
#SSLCertificateChainFile /path/to/intermediate_certificate
SSLCertificateKeyFile /etc/letsencrypt/live/office.irrig.io/privkey.pem
SSLProtocol             all -SSLv2 -SSLv3
SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
SSLHonorCipherOrder     on

# 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 loolwsd
# loleaflet is the client part of LibreOffice Online
ProxyPass           /loleaflet https://127.0.0.1:9980/loleaflet retry=0
ProxyPassReverse    /loleaflet https://127.0.0.1:9980/loleaflet

# 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

# Main websocket
ProxyPassMatch "/lool/(.*)/ws$" wss://127.0.0.1:9980/lool/$1/ws nocanon

# Admin Console websocket
ProxyPass   /lool/adminws wss://127.0.0.1:9980/lool/adminws

# Download as, Fullscreen presentation and Image upload operations
ProxyPass           /lool https://127.0.0.1:9980/lool
ProxyPassReverse    /lool https://127.0.0.1:9980/lool

# Endpoint with information about availability of various features
ProxyPass           /hosting/capabilities https://127.0.0.1:9980/hosting/capabilities retry=0
ProxyPassReverse    /hosting/capabilities https://127.0.0.1:9980/hosting/capabilities
</VirtualHost>

The exact same configuration, but with nextcoud:24 works fine.

Check that the nextcloud collabora app is enabled, and re-enable if needed.

1 Like

Tried that, opened a new private windows, just in case, changes nothing.
In any case is the nextcloud collabora app needed to access external collabora server?

My suggestion was to make sure the collabora app is enabled under admin account, top right menu under Apps

Yes, I got that.

This is what I see:

Collabora Online - Built-in CODE Server 22.5.802 DĂ©sactiver

So I guess it’s activated since I can only deactivate it.

Hi

There are more people (including me) having the same problem after upgrading to 25, see Issue after upgrading to 25.0.0

Lars