From 95705816d733c402e093e36154300e9b0f72ec4f Mon Sep 17 00:00:00 2001 From: LRVT <21357789+l4rm4nd@users.noreply.github.com> Date: Mon, 3 Jul 2023 01:17:39 +0200 Subject: [PATCH] add ownCloud oCIS --- README.md | 1 + examples/owncloud-ocis/README.md | 12 +++++++ examples/owncloud-ocis/docker-compose.yml | 44 +++++++++++++++++++++++ 3 files changed, 57 insertions(+) create mode 100644 examples/owncloud-ocis/README.md create mode 100644 examples/owncloud-ocis/docker-compose.yml diff --git a/README.md b/README.md index bb4759f..07a5e37 100644 --- a/README.md +++ b/README.md @@ -142,6 +142,7 @@ docker compose up - [Hemmelig](examples/hemmelig) - Keep your sensitive information out of chat logs, emails, and more with encrypted secrets. Free encrypted secret sharing for everyone! ### File Sharing / Storage +- [ownCloud OCIS](examples/owncloud-ocis) - ownCloud Infinite Scale (oCIS) is the new file sync & share platform written in Golang that will be the foundation of your data management platform. - [Nextcloud](examples/nextcloud) - Access and share your files, calendars, contacts, mail and more from any device, on your terms. - [Seafile](examples/seafile) - File hosting and sharing solution primary for teams and organizations. - [SFTPGo](examples/sftpgo) - Fully featured and highly configurable SFTP server with optional HTTP/S, FTP/S and WebDAV support - S3, Google Cloud Storage, Azure Blob. diff --git a/examples/owncloud-ocis/README.md b/examples/owncloud-ocis/README.md new file mode 100644 index 0000000..4c9b5e5 --- /dev/null +++ b/examples/owncloud-ocis/README.md @@ -0,0 +1,12 @@ +# References + +- https://github.com/owncloud/ocis/tree/master/deployments/examples +- https://github.com/owncloud/ocis/tree/master/deployments/examples/ocis_traefik + +# Notes + +After spawning up the docker container, a new admin password will be generated automatically. You can obtain the admin password either via the container logs or by inspecting the created `ocis.yaml` file within your volume mounts. + +It is recommended to use Owncloud OCIS behind a reverse proxy (e.g. Traefik). If you already run a Traefik reverse proxy, just uncomment and adjust the labels. + +Note: The docker volume mounts must be writable by the container. OCIS does not support UID/GUID mappings yet. So 0777 linux permissions likely required. diff --git a/examples/owncloud-ocis/docker-compose.yml b/examples/owncloud-ocis/docker-compose.yml new file mode 100644 index 0000000..69d8e4b --- /dev/null +++ b/examples/owncloud-ocis/docker-compose.yml @@ -0,0 +1,44 @@ +--- +version: "3.7" + +services: + + ocis: + image: owncloud/ocis:latest + container_name: owncloud-ocis + hostname: owncloud-ocis + restart: unless-stopped + entrypoint: + - /bin/sh + # run ocis init to initialize a configuration file with random secrets + # it will fail on subsequent runs, because the config file already exists + # therefore we ignore the error and then start the ocis server + command: ["-c", "ocis init || true; ocis server"] + environment: + OCIS_URL: https://cloud.example.com # adjust to your domain + PROXY_TLS: "false" # do not use SSL; required if you use a reverse proxy with SSL support in front + OCIS_INSECURE: "true" # required if you use a reverse proxy with SSL support in front + volumes: + - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/owncloud-ocis/config:/etc/ocis + - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/owncloud-ocis/data:/var/lib/ocis + ports: + - 9200:9200/tcp + #expose: + # - 9200 + #labels: + # - traefik.enable=true + # - traefik.http.routers.ocis.rule=Host(`cloud.example.com`) + # - traefik.http.services.ocis.loadbalancer.server.port=9200 + # - traefik.http.middlewares.limit.buffering.maxRequestBodyBytes=50000000 # optional, only necessary for enabled file uploads + # - traefik.http.middlewares.limit.buffering.maxResponseBodyBytes=50000000 # optional, only necessary for enabled file uploads + # - traefik.http.middlewares.limit.buffering.memRequestBodyBytes=50000000 # optional, only necessary for enabled file uploads + # - traefik.http.middlewares.limit.buffering.memResponseBodyBytes=50000000 # optional, only necessary for enabled file uploads + # - traefik.docker.network=dev + # # Part for optional traefik middlewares + # - traefik.http.routers.ocis.middlewares=local-ipwhitelist@file + #networks: + # - dev + +#networks: +# dev: +# external: true