Skip to content

Commit

Permalink
[docs-only] work on getting started and deployment examples docs
Browse files Browse the repository at this point in the history
  • Loading branch information
wkloucek committed Nov 19, 2020
1 parent f2a1c06 commit e91d67e
Show file tree
Hide file tree
Showing 10 changed files with 288 additions and 327 deletions.
13 changes: 2 additions & 11 deletions docs/ocis/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,19 +24,10 @@ We run a huge [test suite](https://github.com/owncloud/core/tree/master/tests),
{{< mermaid class="text-center">}}
graph TD
proxy -->
konnectd & ocis-phoenix & thumbnails & ocs & webdav
konnectd & ocis-phoenix & thumbnails & ocs & webdav & storage & accounts & store & settings

ocis-phoenix --> ocis-reva-fronted
ocis-reva-fronted --> ocis-reva-gateway
konnectd --> glauth

storage --> REVA

ocis-reva-gateway --> accounts
ocis-reva-gateway --> ocis-reva-authbasic
ocis-reva-gateway --> ocis-reva-auth-bearer

ocis-reva-gateway --> ocis-reva-sharing
ocis-reva-gateway --> ocis-reva-storage-home-*
ocis-reva-storage-home-* --> ocis-reva-storage-home-*-data
ocis-reva-sharing --> redis
{{< /mermaid >}}
15 changes: 7 additions & 8 deletions docs/ocis/deployment/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,15 @@ geekdocFilePath: _index.md

{{< toc >}}

## Deployments Scenarios and Examples
This section handles deployments and operations for admins. If you are looking for a development setup, start with
## Deployments scenarios and examples
This section handles deployments and operations for admins. If you are looking for a development setup, start with [Getting started](https://owncloud.github.io/ocis/getting-started/).

### Setup oCIS
oCIS deployments are super simple, yet there are many configrations possible for advanced setups.
### Setup oCIS on your server
oCIS deployments are super simple, yet there are many configurations possible for advanced setups.

- Basic setup - download and run
- Pick services and manage them individually
- SSL offloading with Traefik
- Use an external IDP
- [Basic oCIS setup]({{< ref "basic-remote-setup.md" >}}) - configure domain, certificates and port
- [oCIS setup with Traefik for ssl termination]({{< ref "ocis_traefik.md" >}})
- [oCIS setup with external OIDC IDP]({{< ref "ocis_external_idp.md" >}})

### Migrate an existing ownCloud 10
You can run ownCloud 10 and oCIS together. This allows you to use new parts of oCIS already with ownCloud 10 and also to have a smooth transition for users from ownCloud 10 to oCIS.
Expand Down
2 changes: 1 addition & 1 deletion docs/ocis/deployment/bridge.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Bridge"
date: 2020-02-27T20:35:00+01:00
date: 2022-02-27T20:35:00+01:00
weight: 30
geekdocRepo: https://github.com/owncloud/ocis
geekdocEditPath: edit/master/docs/ocis/deployment
Expand Down
Original file line number Diff line number Diff line change
@@ -1,59 +1,36 @@
---
title: "ocis with konnectd on external node deployment scenario"
title: "oCIS with external IDP"
date: 2020-10-12T14:39:00+01:00
weight: 26
geekdocRepo: https://github.com/owncloud/ocis
geekdocEditPath: edit/master/docs/ocis/deployment
geekdocFilePath: ocis_external_konnectd.md
geekdocFilePath: ocis_external_idp.md
---

{{< toc >}}

This scenario shows how to setup ocis with konnectd as idp running on a separate node. Both node are having separate domains pointing on the servers.
This scenario shows how to setup oCIS and konnectd as external IDP (identity provider). Both have separate domains and will be configured to work together.

## Overview

* ocis and konnectd running on linux nodes behind traefik as reverse proxy
* Cloudflare DNS is resolving the domains
* Letsencrypt provides ssl certificates for the domains
* Traefik docker container terminates ssl and forwards http requests to the services
* Server 1: oCIS running behind traefik as reverse proxy
* Server 2: IDP running behind traefik as reverse proxy
* Valid ssl certificates for the domains for ssl termination

## Nodes
[Find this example on GitHub](https://github.com/owncloud/ocis/tree/master/deployments/examples/ocis_external_konnectd)

### Requirements

* Server running Ubuntu 20.04 is public availible with a static ip address
* Two A-records for both domains are pointing on the servers ip address
* Create user

`$ sudo adduser username`

* Add user to sudo group

`$ sudo usermod -aG sudo username`

* Add users pub key to `~/.ssh/authorized_keys`
* Setup ssh to permit authorisation only by ssh key
* Install docker

`$ sudo apt install docker.io`

* Add user to docker group

`$ sudo usermod -aG docker username`
## Server Deployment

* Install docker-compose via

`$ sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose`

(docker compose version 1.27.4 as of today)
* Make docker-compose executable
### Requirements

`$ sudo chmod +x /usr/local/bin/docker-compose`
* 2 Linux servers, each with docker and docker-compose installed
* Two domains set up and pointing to the target server

* Environment variables for OCIS Stack are provided by .env file
See also [example server setup]({{< ref "preparing_server.md" >}})

### Setup on ocis server
### Install oCIS server

* Clone ocis repository

Expand All @@ -77,7 +54,7 @@ This scenario shows how to setup ocis with konnectd as idp running on a separate

`docker-compose up -d`

### Setup on idp server
### Install IDP server

* Clone ocis repository

Expand Down Expand Up @@ -105,11 +82,7 @@ This scenario shows how to setup ocis with konnectd as idp running on a separate

`docker-compose up -d`

### Stack

On both nodes, a traefik dokcer container is terminating ssl and forwards the http requests to the services. The nodes are named according to their services.

### Config
### Configuration

#### Repository structure

Expand Down Expand Up @@ -192,3 +165,8 @@ ocis:
- 9125:9125
...
```

## Local setup
For simple local ocis setup see [Getting started]({{< ref "../getting-started.md" >}})

Local setup coming soon
63 changes: 18 additions & 45 deletions docs/ocis/deployment/ocis_oc10_backend.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "ocis frontend with oc10 backend deployment scenario"
title: "ownCloud Web with ownCloud 10"
date: 2020-10-12T14:04:00+01:00
weight: 25
geekdocRepo: https://github.com/owncloud/ocis
Expand All @@ -9,58 +9,35 @@ geekdocFilePath: ocis_frontend_oc10_backend.md

{{< toc >}}

This deployment scenario shows how to use ocis as frontend for an existing ownCloud 10 production installation. It enables
ownCloud 10 users to log in and work with their files using the new ocis-web UI. While the scenario includes
This deployment scenario shows how to use ownCloud Web as frontend for an existing ownCloud 10 production installation. It enables
ownCloud 10 users to log in and work with their files using the new ownCloud Web. While the scenario includes
an ownCloud 10 instance, it only exists to show the necessary configuration for your already existing ownCloud 10
installation.

The described setup can also be used to do a zero-downtime migration from ownCloud 10 to ocis.

## Overview

### Node Setup
* oCIS setup serving ownCloud Web
* ownCloud 10 setup connected to oCIS
* DNS is resolving one domain for ocis and one for oc10
* Valid ssl certificates for the domains for ssl termination

* ocis and oc10 running as docker containers behind traefik as reverse proxy
* Cloudflare DNS is resolving one domain for ocis and one for oc10
* Letsencrypt is providing valid ssl certificate for both domains
[Find this example on GitHub](https://github.com/owncloud/ocis/tree/master/deployments/examples/ocis_external_konnectd)

## Node Deployment
## Server Deployment

### Requirements

* Server running Ubuntu 20.04 is publicly available with a static ip address
* Two A-records for both domains are pointing to the servers ip address
* Create user

`$ sudo adduser username`

* Add user to sudo group

`$ sudo usermod -aG sudo username`

* Add users pub key to `~/.ssh/authorized_keys`
* Setup ssh to permit authorisation only by ssh key
* Install docker

`$ sudo apt install docker.io`

* Add user to docker group

`$ sudo usermod -aG docker username`

* Install docker-compose via

`$ sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose`
* Linux server(s) with docker and docker-compose installed
* Two domains set up and pointing to your server(s)

(docker compose version 1.27.4 as of today)
* Make docker-compose executable

`$ sudo chmod +x /usr/local/bin/docker-compose`

* Environment variables for oCIS Stack are provided by .env file
See also [example server setup]({{< ref "preparing_server.md" >}})

### Setup on server

The application stack is separated in docker containers. One is a traefik proxy which is terminating ssl and forwards the https requests to the internal docker network. Additionally, traefik is creating two certificates that are stored in the file `letsencrypt/acme.json` of the users home directory. In a local setup, this traefik is not included.
The next container is the ocis server which is exposing the webservice on port 9200 to traefik and provides the oidc provider `konnectd` to owncloud.
oc10 is running as a three container setup out of owncloud-server, a db container and a redis container as memcache storage.

* Clone ocis repository

`git clone https://github.com/owncloud/ocis.git`
Expand All @@ -84,11 +61,6 @@ The described setup can also be used to do a zero-downtime migration from ownClo

The domains from your `.env` will be used for building the configuration files during the docker start.

### Stack

The application stack is separated in docker containers. One is a traefik proxy which is terminating ssl and forwards the https requests to the internal docker network. Additionally, traefik is creating two certificates that are stored in the file `letsencrypt/acme.json` of the users home directory. In a local setup, this traefik is not included.
The next container is the ocis server which is exposing the webservice on port 9200 to traefik and provides the oidc provider `konnectd` to owncloud.
oc10 is running as a three container setup out of owncloud-server, a db container and a redis container as memcache storage.

### Config

Expand Down Expand Up @@ -366,7 +338,8 @@ Constraints: In this setup it's mandatory that the user has an email address set
Especially the default admin user doesn't have an email assigned. If your admin user doesn't have an email address, yet, please
set one: `docker-compose exec owncloud occ user:modify admin email "admin@example.org"`

## Local deployment
## Local setup
For simple local ocis setup see [Getting started]({{< ref "../getting-started.md" >}})

If you want to start the bridge setup on your local development machine, there are a few steps necessary:

Expand Down
56 changes: 18 additions & 38 deletions docs/ocis/deployment/ocis_traefik.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "ocis with traefik deployment scenario"
title: "oCIS with Traefik"
date: 2020-10-12T14:04:00+01:00
weight: 24
geekdocRepo: https://github.com/owncloud/ocis
Expand All @@ -11,47 +11,27 @@ geekdocFilePath: ocis_traefik.md

## Overview

* ocis running on a hcloud node behind traefik as reverse proxy
* Cloudflare DNS is resolving the domain
* Letsencrypt provides a ssl certificate for the domain
* Traefik docker container terminates ssl and forwards http requests to ocis
* oCIS running behind traefik as reverse proxy
* Valid ssl certificates for the domains for ssl termination

## Node
[Find this example on GitHub](https://github.com/owncloud/ocis/tree/master/deployments/examples/ocis_traefik)

### Requirements

* Server running Ubuntu 20.04 is public availible with a static ip address
* Two A-records for both domains are pointing on the servers ip address
* Create user

`$ sudo adduser username`

* Add user to sudo group

`$ sudo usermod -aG sudo username`

* Add users pub key to `~/.ssh/authorized_keys`
* Setup ssh to permit authorisation only by ssh key
* Install docker

`$ sudo apt install docker.io`

* Add user to docker group

`$ sudo usermod -aG docker username`
## Server Deployment

* Install docker-compose via
### Requirements

`$ sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose`
* Linux server(s) with docker and docker-compose installed
* Two domains set up and pointing to your server(s)

(docker compose version 1.27.4 as of today)
* Make docker-compose executable
See also [example server setup]({{< ref "preparing_server.md" >}})

`$ sudo chmod +x /usr/local/bin/docker-compose`

* Environment variables for oCIS Stack are provided by .env file
### Install oCIS and Traefik

### Setup on server
The application stack contains two containers. The first one is a traefik proxy which is terminating ssl and forwards the requests to the internal docker network. Additional, traefik is creating a certificate that is stored in `acme.json` in the folder `letsencrypt` inside the users home directory.
The second one is th ocis server which is exposing the webservice on port 9200 to traefik.

* Clone ocis repository

Expand All @@ -77,12 +57,7 @@ geekdocFilePath: ocis_traefik.md

`docker-compose up -d`

### Stack

The application stack contains two containers. The first one is a traefik proxy which is terminating ssl and forwards the requests to the internal docker network. Additional, traefik is creating a certificate that is stored in `acme.json` in the folder `letsencrypt` inside the users home directory.
The second one is th ocis server which is exposing the webservice on port 9200 to traefic.

### Config
### Configuration

Edit docker-compose.yml file to fit your domain setup

Expand Down Expand Up @@ -146,3 +121,8 @@ To make it availible for ocis inside of the container, `config` hast to be mount
KONNECTD_IDENTIFIER_REGISTRATION_CONF: "/etc/ocis/identifier-registration.yml"
...
```

## Local setup
For simple local ocis setup see [Getting started]({{< ref "../getting-started.md" >}})

Local setup with Traefik coming soon
Loading

0 comments on commit e91d67e

Please sign in to comment.