A MOVE whose source and destination resolve to the same resource is now answered with 204 No Content server side instead of a confusing 403 or 404, and instead of 409 Conflict on the id based dav route, so every client behaves the same way. The no-op still requires the move permission. The server-side guard lives in reva (owncloud/reva#708 and the follow-up owncloud/reva#713, which moves the guard above the recursion checks so it is also reached when the request addresses the resource by its id). Pulled in here by bumping reva to v2.0.0-20260813121157-d386075a0421. vendor/ was regenerated with `go mod vendor`; no hand edits. On the test side the @issue-1976 tags are dropped from the five MOVE feature files and the corresponding entries are removed from both expected-failures lists. Scenario Outlines that mix roles with and without the move permission parameterize the expected status in an extra http-status-code Examples column rather than being split into duplicate scenarios. The gherlint newline_before_scenario rule is configured as ["error", 2, true], counting tag lines toward the total, so the eight scenarios that lost their tag get back the blank line it occupied. Drop the "viewer" row from the same-name Examples table in moveByFileId.feature: "viewer" is not a valid space role for a permissionsRole invitation, so the step errored with Role 'viewer' not found, and the "Space Viewer" row already covers the 403.
ownCloud Infinite Scale
- ownCloud Infinite Scale
Introduction
ownCloud Infinite Scale (oCIS) is the new file sync & share platform that will be the foundation of your data management platform.
Make sure to download the latest released version today!
Quickstart
For details of the commands used see the Minimalistic Evaluation Guide for oCIS with Docker.
mkdir -p $HOME/ocis/ocis-config \
mkdir -p $HOME/ocis/ocis-data
sudo chown -Rfv 1000:1000 $HOME/ocis/
docker pull owncloud/ocis
docker run --rm -it \
--mount type=bind,source=$HOME/ocis/ocis-config,target=/etc/ocis \
--mount type=bind,source=$HOME/ocis/ocis-data,target=/var/lib/ocis \
owncloud/ocis init --insecure yes
docker run \
--name ocis_runtime \
--rm \
-it \
-p 9200:9200 \
--mount type=bind,source=$HOME/ocis/ocis-config,target=/etc/ocis \
--mount type=bind,source=$HOME/ocis/ocis-data,target=/var/lib/ocis \
-e OCIS_INSECURE=true \
-e PROXY_HTTP_ADDR=0.0.0.0:9200 \
-e OCIS_URL=https://localhost:9200 \
owncloud/ocis
Use as URL localhost:9200 and the user/password printed.
Overview
Clients
Infinite Scale allows the following ownCloud clients:
to synchronize and share file spaces with a scalable server backend based on reva using open and well-defined APIs like WebDAV and CS3.
Web Office Applications
Infinite Scale can integrate web office applications such as:
Collaborative editing is supported by the WOPI application gateway.
Authentication
Users are authenticated via OpenID Connect using either an external IdP like Keycloak or the embedded LibreGraph Connect identity provider.
Installation
With focus on easy install and operation, Infinite Scale is delivered as a single binary or container that allows scaling from a Raspberry Pi to a Kubernetes cluster by changing the configuration and starting multiple services as needed. The multiservice architecture allows tailoring the functionality to your needs and reusing services that may already be in place like when using Keycloak. See the details below for various installation options.
Important Readings
Before starting to set up an instance, we highly recommend reading the Prerequisites, the Deployment section and especially the General Information page describing and explaining information that is valid for all deployment types.
Run ownCloud Infinite Scale
Use the Official Documentation
See the Install Infinite Scale on a Server for a production ready deployment starting with a Raspberry Pi, a single server or VM.
Use the ocis Repo as Source
Use this method to build and run an instance with the latest code. This is only recommended for development purposes.
The minimum go version required is 1.25.10.
Note that you need a C compile environment installed as a prerequisite because some dependencies, like reva, have components that require C-Go libraries and toolchains. The command installing for debian based systems is: sudo apt install build-essential.
To build and run a local instance with demo users:
# get the source
git clone git@github.com:owncloud/ocis.git
# enter the ocis dir
cd ocis
# generate assets
make generate
# build the binary
make -C ocis build
# initialize a minimal oCIS configuration
./ocis/bin/ocis init
# run with demo users
IDM_CREATE_DEMO_USERS=true ./ocis/bin/ocis server
# Open your browser on http://localhost:9200 to access the bundled web-ui
All batteries included: no external database, no external IDP needed!
Documentation
Admin Documentation
Refer to the Admin Documentation - Introduction to Infinite Scale to get started with running oCIS in production.
Development Documentation
See the Development Documentation - Getting Started to get an overview of Requirements, the repository structure and other starting points.
Security
See the Security Aspects for a general overview of security related topics. If you find a security issue, please contact security@owncloud.com first.
Contributing
We are very happy that oCIS does not require a Contributor License Agreement (CLA) as it is Apache 2.0 licensed. We hope this will make it easier to contribute code. If you want to get in touch, most of the developers hang out in our matrix channel or reach out to the ownCloud central forum.
Infinite Scale is carefully internationalized so that everyone, no matter what language they speak, has a great experience. To achieve this, we rely on the help of volunteer translators. If you want to help, you can find the projects behind the following links:
Transifex for ownCloud web and Transifex for ownCloud (Select the resource by filtering for ocis-).
Please always refer to our Contribution Guidelines.
End User License Agreement
Some builds of stable ownCloud Infinite Scale releases provided by ownCloud GmbH are subject to an End User License Agreement.
Copyright
Copyright (c) 2020-2023 ownCloud GmbH <https://owncloud.com>