From aab7a54d5b16c9c6e01ab6128412c83685954902 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 17 Jan 2025 17:21:23 +0100 Subject: [PATCH 1/5] Reworked README.md --- README.md | 130 ++++++++------------------------------------- opencloud_logo.png | Bin 0 -> 12762 bytes 2 files changed, 22 insertions(+), 108 deletions(-) create mode 100644 opencloud_logo.png diff --git a/README.md b/README.md index af9b09203c..dcca3f0db5 100644 --- a/README.md +++ b/README.md @@ -1,131 +1,45 @@ -# ownCloud Infinite Scale +![OpenCloud logo](opencloud_logo.png) -[![Matrix](https://img.shields.io/matrix/ocis%3Amatrix.org?logo=matrix)](https://app.element.io/#/room/#ocis:matrix.org) -[![Rocket chat](https://img.shields.io/badge/Chat%20on%20Rocket.Chat-blue?logo=data:image/png;base64,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)](https://talk.owncloud.com/channel/infinitescale) -[![Build Status](https://drone.owncloud.com/api/badges/owncloud/ocis/status.svg)](https://drone.owncloud.com/owncloud/ocis) -[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=owncloud_ocis&metric=security_rating)](https://sonarcloud.io/dashboard?id=owncloud_ocis) -[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=owncloud_ocis&metric=coverage)](https://sonarcloud.io/dashboard?id=owncloud_ocis) -[![Go Report](https://goreportcard.com/badge/github.com/owncloud/ocis)](https://goreportcard.com/report/github.com/owncloud/ocis) -[![Go Doc](https://godoc.org/github.com/owncloud/ocis?status.svg)](http://godoc.org/github.com/owncloud/ocis) -[![oCIS docker image](https://img.shields.io/docker/v/owncloud/ocis?label=oCIS%20docker%20image&logo=docker&sort=semver)](https://hub.docker.com/r/owncloud/ocis) -[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) +# Server Backend -* [Introduction](#introduction) -* [Overview](#overview) - * [Clients](#clients) - * [Web Office Applications](#web-office-applications) - * [Authentication](#authentication) - * [Installation](#installation) -* [Important Readings](#important-readings) -* [Run ownCloud Infinite Scale](#run-owncloud-infinite-scale) - * [Use the Official Documentation](#use-the-official-documentation) - * [Use the ocis Repo as Source](#use-the-ocis-repo-as-source) -* [Documentation](#documentation) - * [Admin Documentation](#admin-documentation) - * [Development Documentation](#development-documentation) -* [Security](#security) -* [Contributing](#contributing) -* [Copyright](#copyright) -## Introduction +> [!TIP] +> For general information about OpenCloud and how to install please visit [OpenCloud on Github](https://github.com/opencloud-eu/) and [OpenCloud GmbH](https://opencloud.eu). -ownCloud Infinite Scale (oCIS) is the new file sync & share platform that will be the foundation of your data management platform. +This is one of the main repositories of OpenCloud. It contains most of the code for the backend that is run on a server and is mostly written in golang. -Make sure to download the [latest released version](https://download.owncloud.com/ocis/ocis/stable/?sort=time&order=desc) today! +## Technology -## Overview - -### Clients - -Infinite Scale allows the following ownCloud clients: - -* [web](https://github.com/owncloud/web), -* [Android](https://github.com/owncloud/android), -* [iOS](https://github.com/owncloud/ios-app) and -* [Desktop](https://github.com/owncloud/client/) - -to synchronize and share file spaces with a scalable server backend based on [reva](https://reva.link/) using open and well-defined APIs like [WebDAV](http://www.webdav.org/) and [CS3](https://github.com/cs3org/cs3apis/). - -### Web Office Applications - -Infinite Scale can integrate web office applications such as: - -* [Collabora Online](https://github.com/CollaboraOnline/online), -* [OnlyOffice Docs](https://github.com/ONLYOFFICE/DocumentServer) or -* [Microsoft Office Online Server](https://owncloud.com/microsoft-office-online-integration-with-wopi/) - -Collaborative editing is supported by the [WOPI application gateway](https://github.com/cs3org/wopiserver). +Important information for contributors about the technology in use. ### Authentication -Users are authenticated via [OpenID Connect](https://openid.net/connect/) using either an external IdP like [Keycloak](https://www.keycloak.org/) or the embedded [LibreGraph Connect](https://github.com/libregraph/lico) identity provider. +The OpenCloud backend authenticates users via [OpenID Connect](https://openid.net/connect/) using either an external IdP like [Keycloak](https://www.keycloak.org/) or the embedded [LibreGraph Connect](https://github.com/libregraph/lico) identity provider. -### Installation +### Database -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. +The OpenCloud backend does not use a database. It stores all data in the filesystem. By default, the root directory of the backend is `$HOME/.ocis/`. -## Important Readings +## Getting Involved -Before starting to set up an instance, we **highly** recommend reading the [Prerequisites](https://doc.owncloud.com/ocis/next/prerequisites/prerequisites.html), the [Deployment](https://doc.owncloud.com/ocis/next/deployment/) section and especially the [General Information](https://doc.owncloud.com/ocis/next/deployment/general/general-info.html) page describing and explaining information that is valid for all deployment types. +The OpenCloud server is released under [Apache 2.0](LICENSE). The project is very happy to receive contributions in all forms. Start hacking now 😃 -## Run ownCloud Infinite Scale +### Build OpenCloud -### Use the Official Documentation +To build the backend, follow the following instructions: -See the [Quick Guide](https://doc.owncloud.com/ocis/next/quickguide/quickguide.html) or the [Binary Setup](https://doc.owncloud.com/ocis/next/deployment/binary/binary-setup.html) for a single-node bare-metal deployment starting with a Raspberry Pi or single server, the [Container Setup](https://doc.owncloud.com/ocis/next/deployment/container/container-setup.html) for classic container environments like docker or learn how to [deploy to Kubernetes](https://doc.owncloud.com/ocis/next/deployment/container/orchestration/orchestration.html). - -### Use the ocis Repo as Source - -Use this method to run an instance with the latest code. This is only recommended for development purposes. The minimum go version required is 1.22. Note that you need, as a prerequisite, a C compile environment installed because some dependencies like reva have components that require c-go libraries/tool-chains. The command installing for debian based systems is: `sudo apt install build-essentials`. To build and run a local instance with demo users: - -```console -# 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 +``` console +cd opencloud +make build ``` +That will produce the binary `bin/opencloud`. -All batteries included: no external database, no external IDP needed! +For more information consult the [Development Documentation](https://docs.opencloud.eu/opencloud/). -## Documentation - -### Admin Documentation -Refer to the [Admin Documentation - Introduction to Infinite Scale](https://doc.owncloud.com/ocis/next/) to get started with running oCIS in production. - -### Development Documentation -See the [Development Documentation - Getting Started](https://owncloud.dev/ocis/development/getting-started/) to get an overview of [Requirements](https://owncloud.dev/ocis/development/getting-started/#requirements), the [repository structure](https://owncloud.dev/ocis/development/getting-started/#repository-structure) and [other starting points](https://owncloud.dev/ocis/development/getting-started/#starting-points). +Please always refer to our [Contribution Guidelines](https://github.com//opencloud-eu/opencloud/blob/master/CONTRIBUTING.md). ## Security -See the [Security Aspects](https://doc.owncloud.com/ocis/next/security/security.html) for a general overview of security related topics. -If you find a security issue, please contact [security@owncloud.com](mailto:security@owncloud.com) first. +See the [Security Aspects](https://docs.opencloud.eu/security/) for security related topics. -## Contributing - -We are _very_ happy that oCIS does not require a Contributor License Agreement (CLA) as it is [Apache 2.0 licensed](LICENSE). 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](https://app.element.io/#/room/#ocis:matrix.org), our [rocket chat channel](https://talk.owncloud.com/channel/infinitescale) or reach out to the [ownCloud central forum](https://central.owncloud.org/). - -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](https://app.transifex.com/owncloud-org/owncloud-web/translate/) and [Transifex for ownCloud](https://app.transifex.com/owncloud-org/owncloud/translate/) (Select the resource by filtering for `ocis-`). - -Please always refer to our [Contribution Guidelines](https://github.com/owncloud/ocis/blob/master/CONTRIBUTING.md). - -## Copyright - -```console -Copyright (c) 2020-2023 ownCloud GmbH -``` +If you find a security issue, please contact [security@opencloud.eu](mailto:security@opencloud.eu) first. diff --git a/opencloud_logo.png b/opencloud_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..049b3d111c1a39c4c63995e8b3c3f224a8a3a1cb GIT binary patch literal 12762 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 Z#=nn7U2`@N{QgOXf{coEiR7Dr{{eYk!1@3H literal 0 HcmV?d00001 From cc2142934606a1846aa727172daa3a1708b03899 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Mon, 20 Jan 2025 09:08:19 +0100 Subject: [PATCH 2/5] Add review suggestions from Andre --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index dcca3f0db5..ad4956909e 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ The OpenCloud backend authenticates users via [OpenID Connect](https://openid.ne ### Database -The OpenCloud backend does not use a database. It stores all data in the filesystem. By default, the root directory of the backend is `$HOME/.ocis/`. +The OpenCloud backend does not use a database. It stores all data in the filesystem. By default, the root directory of the backend is `$HOME/.opencloud/`. ## Getting Involved @@ -36,7 +36,7 @@ That will produce the binary `bin/opencloud`. For more information consult the [Development Documentation](https://docs.opencloud.eu/opencloud/). -Please always refer to our [Contribution Guidelines](https://github.com//opencloud-eu/opencloud/blob/master/CONTRIBUTING.md). +Please always refer to our [Contribution Guidelines](https://github.com/opencloud-eu/opencloud/blob/master/CONTRIBUTING.md). ## Security From 8230cd31903f5eb4000d40e6df2168e37e8a0200 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Mon, 20 Jan 2025 12:36:03 +0100 Subject: [PATCH 3/5] Be more specific about the repo content MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Jörn Friedrich Dreyer --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ad4956909e..116d7a70a4 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ > [!TIP] > For general information about OpenCloud and how to install please visit [OpenCloud on Github](https://github.com/opencloud-eu/) and [OpenCloud GmbH](https://opencloud.eu). -This is one of the main repositories of OpenCloud. It contains most of the code for the backend that is run on a server and is mostly written in golang. +This the main repository of the OpenCloud server. It contains the golang codebase for the backend services. ## Technology From ec962a8623987bb14e58d77f6e14e8adccf23dc7 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Mon, 20 Jan 2025 12:38:34 +0100 Subject: [PATCH 4/5] simplify build step by adding path to call to make --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 116d7a70a4..01ef010016 100644 --- a/README.md +++ b/README.md @@ -29,10 +29,9 @@ The OpenCloud server is released under [Apache 2.0](LICENSE). The project is ver To build the backend, follow the following instructions: ``` console -cd opencloud -make build +make -C opencloud build ``` -That will produce the binary `bin/opencloud`. +That will produce the binary `opencloud/bin/opencloud`. For more information consult the [Development Documentation](https://docs.opencloud.eu/opencloud/). From f0e544f53a3358e7ccad13c4c372c52664841c33 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Mon, 20 Jan 2025 12:43:22 +0100 Subject: [PATCH 5/5] Add matrix and license label --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 01ef010016..a89ed11d1f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ ![OpenCloud logo](opencloud_logo.png) +-[![Matrix](https://img.shields.io/matrix/opencloud%3Amatrix.org?logo=matrix)](https://app.element.io/#/room/#opencloud:matrix.org) +-[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) # Server Backend