Trouble getting code working with docker

I’m trying to get nextcloud working with collabora code. Nextcloud, including talk etc, is working great. It’s just something to do with my setup of collabora using docker compose.

I’m using the nextcloud example for nginx reverse proxy, mariadb.

I’m getting a 502 if I try to visit ‘office.domain.com’ and the following errors in nextcloud:

  • on mouseover of an office document preview:1 GET https://cloud.domain.com/core/preview?fileId=18&c=3b2f75abc9dd7717dff7d94aa382d30b&x=32&y=32&forceIcon=0 404
  • on attempting to open the document GET https://cloud.domain.com/apps/richdocuments/index?fileId=18&requesttoken=ZkZPih6ARBn8W6Eb5s0gulDvQTAVTr6YjS%2B6sZ8j5y0%3D%3ATQV2%2Bn%2B0KHCTMPFthJdh8BaADFp%2BDYut%2FlXg%2BNNEyHo%3D 500

After trying to open the document, the nextcloud UI is all fine, it’s just what would be the document editor/viewer is blank/white. (Ignore the thin box, just an artifact from scrot when I grabbed the screen.

and my docker-compose.yml:

version: '2'

services:
  db:
    image: mariadb
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    restart: always
    volumes:
      - db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=charactersandthings
    env_file:
      - db.env

  app:
    image: nextcloud:fpm
    restart: always
    volumes:
      - nextcloud:/var/www/html
    environment:
      - MYSQL_HOST=db
    env_file:
      - db.env
    depends_on:
      - db

  web:
    build: ./web
    restart: always
    volumes:
      - nextcloud:/var/www/html:ro
    environment:
      - VIRTUAL_HOST=cloud.domain.com
      - LETSENCRYPT_HOST=cloud.domain.com
      - LETSENCRYPT_EMAIL=hello@domain.com
    depends_on:
      - app
    networks:
      - proxy-tier
      - default

  office:
    image: collabora/code
    container_name: collabora
    restart: always
    environment:
      - VIRTUAL_HOST=office.domain.com
      - VIRTUAL_PROTO=https
      - VIRTUAL_PORT=9980
      - LETSENCRYPT_HOST=office.domain.com
      - LETSENCRYPT_EMAIL=hello@domain.com
      - domain=office.domain.com
      - username=admin
      - password=testing
    cap_add:
      - MKNOD
    expose:
      - 9980
    networks:
      - proxy-tier
      - default

  proxy:
    build: ./proxy
    restart: always
    ports:
      - 80:80
      - 443:443
    labels:
      com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
    volumes:
      - certs:/etc/nginx/certs:ro
      - vhost.d:/etc/nginx/vhost.d
      - html:/usr/share/nginx/html
      - /var/run/docker.sock:/tmp/docker.sock:ro
    networks:
      - proxy-tier

  letsencrypt-companion:
    image: jrcs/letsencrypt-nginx-proxy-companion
    restart: always
    volumes:
      - certs:/etc/nginx/certs
      - vhost.d:/etc/nginx/vhost.d
      - html:/usr/share/nginx/html
      - /var/run/docker.sock:/var/run/docker.sock:ro
    networks:
      - proxy-tier
    depends_on:
      - proxy

volumes:
  db:
  nextcloud:
  certs:
  vhost.d:
  html:

networks:
  proxy-tier:

Any help would be really appreciated, I’m not super experienced with docker or networking so probably something I’m missing. I’ve read the other docker/jwilder posts here and tried the various configuration suggestions with no luck still.

Update: after some updates and a restart I get near success… Error on loading Unauthorized WOPI host.. I will investigate further.

It’s all working now. I had the domain set to the office instance not the cloud.