Owncloud Infinite Scale

Last modified by chrisby on 2024/03/03 14:53

Owncloud Infinite Scale (OCIS) can be used as a file cloud and it is very easy to integrate full text search and OCR 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
Instructions
  • 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.