ocis

module
v2.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 29, 2022 License: Apache-2.0

README

ownCloud Infinite Scale

Rocket chat Build Status Security Rating Coverage Go Report Go Doc oCIS docker image License

Introduction

ownCloud Infinite Scale (oCIS) is the new file sync & share platform that will be the foundation of your data management platform.

Infinite Scale is currently in code freeze for general availability of version 2.0. Feature completeness was reached and the community is concentrating on bug fixes and performance improvements.

Make sure to download the latest release candidate build today!

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 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 Quick Guide or the Binary Setup for a single-node bare-metal deployment starting with a Raspberry Pi or single server, the Container Setup for classic container environments like docker or learn how to deploy to Kubernetes.

Use the ocis Repo as Source

Use this method to run an instance with the latest code. This is only recommended for development purposes. 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

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 rocket chat 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 project behind this link: Transifex for ownCloud web.

Please always refer to our Contribution Guidelines.

Copyright (c) 2020-2022 ownCloud GmbH <https://owncloud.com>

Directories

Path Synopsis
docs
ocis
ocis-pkg
config/envdecode
Package envdecode is a package for populating structs from environment variables, using struct tags.
Package envdecode is a package for populating structs from environment variables, using struct tags.
crypto
Package crypto implements utility functions for handling crypto related files.
Package crypto implements utility functions for handling crypto related files.
log
protogen
services
idm
idp
notifications/pkg/channels
Package channels provides different communication channels to notify users.
Package channels provides different communication channels to notify users.
settings/pkg/store/filesystem
Package store implements the go-micro store interface
Package store implements the go-micro store interface
settings/pkg/store/metadata
Package store implements the go-micro store interface
Package store implements the go-micro store interface
web

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL