Owncloud Infinite Scale

Version 2.7 by chrisby on 2023/10/13 11:47

Owncloud Infinite Scale (OCIS) can be used as a file cloud and it is very easy to integrate full text search using a "tika" server. It is recommended that you use this setup in conjunction with the Owncloud client to synchronize data between the cloud and your PC.

docker-compose.yml

version: "3.3"

volumes:
 traefik:
 ocis:
 ocis-config:

services:
 traefik:
   image: "traefik:v2.10.4"
   container_name: "traefik"
   restart: unless-stopped
   command:
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.myresolver.acme.tlschallenge=true"
     # - "--certificatesresolvers.myresolver.acme.email=<email>"
      - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
     # Uncomment for test mode. This allows detailed logging and creation of a fake certificate.
     # - "--log.level=DEBUG"
     # - "--certificatesresolvers.myresolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"
   ports:
      - "443:443"
   volumes:
      - "traefik:/letsencrypt"
      - "/var/run/docker.sock:/var/run/docker.sock:ro"

 ocis:
   image: owncloud/ocis:4.0.0
   container_name: ocis
   restart: unless-stopped
   entrypoint:
      - /bin/sh
   command: ["-c", "ocis init || true; ocis server"]
   environment:
      - PROXY_TLS=false
      - OCIS_INSECURE=false
      - OCIS_URL=https://<subdomain>
      - OCIS_LOG_LEVEL=info
      - SEARCH_EXTRACTOR_TYPE=tika
      - SEARCH_EXTRACTOR_TIKA_TIKA_URL=http://tika:9998
      - FRONTEND_FULL_TEXT_SEARCH_ENABLED=true
   volumes:
      - "ocis-config:/etc/ocis"
      - "ocis:/var/lib/ocis"
   labels:
      - "traefik.enable=true"
      - "traefik.http.routers.ocis.rule=Host(`<subdomain>`)"
      - "traefik.http.routers.ocis.entrypoints=websecure"
      - "traefik.http.routers.ocis.tls.certresolver=myresolver"
      - "traefik.http.services.ocis.loadbalancer.server.port=9200"

 tika:
   image: apache/tika:2.9.0.0-full
   container_name: tika
   restart: unless-stopped
  • Obtain the admin password via docker logs ocis 2>&1 | grep password.
  • Go to  https://<subdomain> and login as "admin" using the password you have just received.
  • For example, to test the full-text search feature, simply upload a file called "test.txt" containing "hello". Now search for "hello" in the search bar at the top. The result should be an empty list, as the default search only looks for file names. However, you can enable "Search in content only", which uses full-text search, so "text.txt" should now be found.