Owncloud Infinite Scale (with Full Text Search)

Version 2.4 by chrisby on 2023/09/09 13:52

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
   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. But you can enable "Search in content only". Now "text.txt" should be found.