Owncloud infinite scale not working with onlyoffice

Ui not showing only office options

I’ve been trying to setup owncloud infinite scale on my homelab, the server works just fine but I can’t seem to get collaboration server working correctly.

services:
  ocis:
    image: owncloud/ocis:7.1.4
    restart: unless-stopped
    environment:
      OCIS_ADD_RUN_SERVICES: notification
      OCIS_URL: https://owncloud
      OCIS_INSECURE: "true"
      PROXY_TLS: "false"
      OCIS_LOG_LEVEL: debug

      GATEWAY_GRPC_ADDR: 0.0.0.0:9142
      ONLYOFFICE_DOMAIN: onlyoffice
      PROXY_CSP_CONFIG_FILE_LOCATION: /etc/ocis/csp.yaml
      MICRO_REGISTRY_ADDRESS: 0.0.0.0:9233
      NATS_NATS_HOST: 0.0.0.0
      NATS_NATS_PORT: 9233

      APP_REGISTRY_CONFIG_FILE: /etc/ocis/app-registry.yaml

      IDM_ADMIN_PASSWORD: admin
      OCIS_PASSWORD_POLICY_BANNED_PASSWORDS_LIST: banned-password-list.txt
      CACHE_STORE_TYPE: redis
      CACHE_STORE_NODES: redis:6379
      CACHE_STORE_PASSWORD: redis

      SEARCH_EXTRACTOR_TYPE: tika
      SEARCH_EXTRACTOR_TIKA_TIKA_URL: http://tika:9998
      FRONTEND_FULL_TEXT_SEARCH_ENABLED: "true"

      NOTIFICATIONS_SMTP_HOST: host
      NOTIFICATIONS_SMTP_PORT: 587
      NOTIFICATIONS_SMTP_SENDER: owncloud@email
      NOTIFICATIONS_SMTP_USERNAME: username
      NOTIFICATIONS_SMTP_INSECURE: "true"
    volumes:
      - /mnt/ocis_config:/etc/ocis
      - /mnt/ocis_data:/var/lib/ocis

    depends_on:
      - redis
      - tika
    networks:
      - owncloud
      - nginx

  collaboration:
    image: owncloud/ocis:7.1.4
    restart: unless-stopped
    entrypoint:
      - /bin/sh
    command: [ "-c", "ocis collaboration server" ]
    environment:
      COLLABORATION_LOG_LEVEL: debug
      APP_REGISTRY_CONFIG_FILE: /etc/ocis/app-registry.yaml

      COLLABORATION_GRPC_ADDR: 0.0.0.0:9301
      COLLABORATION_HTTP_ADDR: 0.0.0.0:9300
      MICRO_REGISTRY: "nats-js-kv"
      MICRO_REGISTRY_ADDRESS: ocis:9233
      COLLABORATION_WOPI_SRC: https://wopi
      COLLABORATION_APP_ADDR: https://onlyoffice
      COLLABORATION_APP_INSECURE: "true"
      COLLABORATION_CS3API_DATAGATEWAY_INSECURE: "true"
      OCIS_URL: https://owncloud
      COLLABORATION_APP_NAME: "OnlyOffice"
      COLLABORATION_APP_PRODUCT: "OnlyOffice"
      COLLABORATION_APP_ICON: https://onlyoffice/web-apps/apps/documenteditor/main/resources/img/favicon.ico
    volumes:
      - /mnt/ocis_config:/etc/ocis
    depends_on:
      - ocis
      - onlyoffice
    networks:
      - owncloud
      - nginx

  redis:
    image: redis:latest
    restart: unless-stopped
    command: redis-server --requirepass redis
    volumes:
      - /mnt/redis_data:/data
    networks:
      - owncloud

  onlyoffice:
    image: onlyoffice/documentserver:9.0.0

    restart: unless-stopped
    entrypoint:
      - /bin/sh
      - /entrypoint-override.sh
    environment:
      WOPI_ENABLED: "true"
    volumes:
      - /mnt/onlyoffice/entrypoint-override.sh:/entrypoint-override.sh
      - /mnt/onlyoffice/local.json:/etc/onlyoffice/documentserver/local.dist.json
      - /mnt/onlyoffice_data:/var/www/onlyoffice/Data
      - /mnt/onlyoffice_lib:/var/lib/onlyoffice
      - /mnt/onlyoffice_logs:/var/log/onlyoffice
    networks:
      - owncloud
      - nginx
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost/hosting/discovery"]


  tika:
    image: apache/tika:latest-full
    restart: unless-stopped
    networks:
      - owncloud

networks:
  owncloud:
  nginx:
    external: true

I’ve noticed that the wopi server doesn’t register any mimetypes. At least thats what the logs suggest.

2025-10-12T23:02:40Z INF registering external service com.owncloud.api.collaboration.OnlyOffice-f7308b10-b1b2-43aa-99a2-17c0dba3cfb8@10.0.7.21:9301 | service=collaboration line=github.com/owncloud/ocis/v2/ocis-pkg/registry/register.go:19

2025-10-12T23:02:40Z DBG Registering mimetypes in the app provider | service=collaboration AppName=OnlyOffice Mimetypes=[] line=github.com/owncloud/ocis/v2/services/collaboration/pkg/helpers/registration.go:60

But my app-registry.yaml file

app_registry:
  mimetypes:
  - mime_type: application/vnd.oasis.opendocument.text
    extension: odt
    name: OpenDocument
    description: OpenDocument text document
    icon: ''
    default_app: Collabora
    allow_creation: true
  - mime_type: application/vnd.oasis.opendocument.spreadsheet
    extension: ods
    name: OpenSpreadsheet
    description: OpenDocument spreadsheet document
    icon: ''
    default_app: Collabora
    allow_creation: true
  - mime_type: application/vnd.oasis.opendocument.presentation
    extension: odp
    name: OpenPresentation
    description: OpenDocument presentation document
    icon: ''
    default_app: Collabora
    allow_creation: true
  - mime_type: application/vnd.openxmlformats-officedocument.wordprocessingml.document
    extension: docx
    name: Microsoft Word
    description: Microsoft Word document
    icon: ''
    default_app: OnlyOffice
    allow_creation: true
  - mime_type: application/vnd.openxmlformats-officedocument.wordprocessingml.form
    extension: docxf
    name: Form Document
    description: Form Document
    icon: ''
    default_app: OnlyOffice
    allow_creation: false
  - mime_type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
    extension: xlsx
    name: Microsoft Excel
    description: Microsoft Excel document
    icon: ''
    default_app: OnlyOffice
    allow_creation: true
  - mime_type: application/vnd.openxmlformats-officedocument.presentationml.presentation
    extension: pptx
    name: Microsoft PowerPoint
    description: Microsoft PowerPoint document
    icon: ''
    default_app: OnlyOffice
    allow_creation: true
  - mime_type: application/pdf
    extension: pdf
    name: PDF form
    description: PDF form document
    icon: ''
    default_app: OnlyOffice
    allow_creation: true
  - mime_type: application/vnd.jupyter
    extension: ipynb
    name: Jupyter Notebook
    description: Jupyter Notebook
    icon: ''
    default_app: ''
    allow_creation: true

No other relevant logs at this point. Server loads, I can upload files and when I click on docx files, it just downloads them.

https://onlyoffice, https://owncloud and https://wopi are proxied via nginx.

What am I missing here?

Check the response of the https://onlyoffice/hosting/discovery . The missing mimetype information comes from there. It’s possible that nginx is redirecting to a unknown place, and it’s messing with the parsing of the expected information.

The content of the page should be an xml document, starting with <wopi-discovery>

the contents do include a 200 response; with wopi-discovery.

It’s pretty clear that there are problems for the collaboration service to get the info from OnlyOffice, but I’m not sure why.

I don’t think it’s relevant, but I have the `USE_UNAUTHORIZED_STORAGE` set to “true” in the environment variables of OnlyOffice.

Another thing you could try is to set every container in the same network, not using 2 different networks.

Hello,
Getting OCIS and OnlyOffice to work together is kind of the reason why I found this forum. But before detailing my own issue, let’s try to figure out yours. It does seem like I am a few steps further than you are :wink:

From the app-registry.yaml file you provided, it seems like the mime_type opendocument.text, opendocument.spreadsheet and opendocument.presentation have Collabora assigned as default_app. Check if correcting that setting to OnlyOffice, makes things better.

Also, check your browser console to see if any errors are returned there. To get it (almost) working, I had add the URL of my WOPI server to the CSP settings.