Repository: owncloud/ocis
Pull request #11301: [docs-only] Add a minimalistic docker run example
Author: login: mmattel
Labels: name: Topic:Documentation
Created: 2025-05-08T16:15:18Z | Merged: 2025-05-14T08:16:03Z

This PR adds a minimalistic guide to run ocis based on `docker run` (not compose !) - for eval only !

To have a local rendering, check out and run `make -C docs docs-serve` and open a browser with URL:
`http://localhost:1313/ocis/guides/ocis-mini-eval/`




Diff:
diff --git a/README.md b/README.md
index 32df54171ba..87e8fa64188 100644
--- a/README.md
+++ b/README.md
@@ -12,6 +12,7 @@
 [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
 
 *   [Introduction](#introduction)
+*   [Quickstart](#quickstart)
 *   [Overview](#overview)
     * [Clients](#clients)
     * [Web Office Applications](#web-office-applications)
@@ -34,6 +35,33 @@ ownCloud Infinite Scale (oCIS) is the new file sync & share platform that will b
 
 Make sure to download the [latest released version](https://download.owncloud.com/ocis/ocis/stable/?sort=time&order=desc) today!
 
+## Quickstart
+
+For details of the commands used see the [Minimalistic Evaluation Guide for oCIS with Docker](https://owncloud.dev/ocis/guides/ocis-mini-eval/).
+
+```bash
+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
@@ -73,11 +101,11 @@ Before starting to set up an instance, we **highly** recommend reading the [Prer
 
 ### Use the Official Documentation
 
-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).
+See the [Install Infinite Scale on a Server](https://doc.owncloud.com/ocis/next/depl-examples/ubuntu-compose/ubuntu-compose-prod.html) 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 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:
+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-essential`. To build and run a local instance with demo users:
 
 ```console
 # get the source
diff --git a/docs/ocis/guides/_index.md b/docs/ocis/guides/_index.md
index ae989fa82a4..de61d9f2ad1 100644
--- a/docs/ocis/guides/_index.md
+++ b/docs/ocis/guides/_index.md
@@ -18,5 +18,6 @@ These guides should extend the generic documentation and help admins to learn In
 
 oCIS deployments are super simple, yet there are many configurations possible for advanced setups.
 
+- {{< icon "docker" >}} [Minimalistic Evaluation Guide for oCIS with Docker]({{< ref "ocis-mini-eval" >}}) - minimalistic evaluation
 - {{< icon "docker" >}} [Discover oCIS with Docker]({{< ref "ocis-local-docker" >}}) - configure domain, certificates and port
 - {{< icon "person-walking-luggage" >}} [Migrate data to Infinite Scale]({{< ref "migrate-data-rclone" >}})
diff --git a/docs/ocis/guides/migrate-data-rclone.md b/docs/ocis/guides/migrate-data-rclone.md
index 7f1a14be51d..b0d4dbdd55d 100644
--- a/docs/ocis/guides/migrate-data-rclone.md
+++ b/docs/ocis/guides/migrate-data-rclone.md
@@ -2,7 +2,7 @@
 ---
 title: "Migrate Data using rclone"
 date: 2020-06-12T14:35:00+01:00
-weight: 8
+weight: 10
 geekdocRepo: https://github.com/owncloud/ocis
 geekdocEditPath: edit/master/docs/ocis/guides
 geekdocFilePath: migrate-data-rclone.md
diff --git a/docs/ocis/guides/ocis-mini-eval.md b/docs/ocis/guides/ocis-mini-eval.md
new file mode 100644
index 00000000000..cf90eb6262d
--- /dev/null
+++ b/docs/ocis/guides/ocis-mini-eval.md
@@ -0,0 +1,103 @@
+---
+title: "Minimalistic Evaluation Guide for oCIS with Docker"
+date: 2025-05-08T16:00:00+02:00
+weight: 7
+geekdocRepo: https://github.com/owncloud/ocis
+geekdocEditPath: edit/master/docs/ocis/guides
+geekdocFilePath: ocis-mini-eval.md
+geekdocCollapseSection: true
+---
+
+{{< toc >}}
+
+**IMPORTANT** This type of installation is **ONLY** intended for a quick evaluation and to access the instance from your local machine using internal certificates only. We recommend using test data only for this evaluation.
+
+## Prerequisites
+
+As a prerequisite, we assume you have Docker installed locally on a machine that has a GUI. A headless one will not work. You know how to use Docker commands and what they mean. This guide is not intended to be a detailed explanation.
+
+## What you can Expect
+
+By passing the commands as described, you will be able to get a very first look and feel of Infinite Scale, which can be accessed from your browser using `localhost`.
+
+## Setup Procedure
+
+The setup process is quite simple and is done from a terminal.
+
+### Prepare Paths
+
+Create directories if not exists:
+
+```bash
+mkdir -p $HOME/ocis/ocis-config \
+mkdir -p $HOME/ocis/ocis-data
+```
+
+Set the user for the directories to be the same as the user inside the container:
+
+```bash
+sudo chown -Rfv 1000:1000 $HOME/ocis/
+```
+
+### Pull the Image
+
+```bash
+docker pull owncloud/ocis
+```
+
+### First Time Initialisation
+
+```bash
+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
+```
+
+You will get an output like the following:
+
+```txt {hl_lines=[6]}
+=========================================
+ generated OCIS Config
+=========================================
+ configpath : /etc/ocis/ocis.yaml
+ user       : admin
+ password   : t3p4N0jJ47LbhpQ04s9W%u1$d2uE3Y.3
+```
+
+Note that the password displayed is the one that will be used when you first log in or until it is changed.
+
+### Recurring Start of Infinite Scale
+
+```bash
+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
+```
+
+## Access Infinite Scale with the Browser
+
+To access Infinite Scale, open your browser and type as url:
+
+```
+https://localhost:9200
+```
+
+## Remove the Evaluation
+
+```bash
+sudo docker rmi owncloud/ocis \
+sudo rm -r $HOME/ocis
+```
+
+## Next Steps
+
+After evaluation, we strongly recommend that you use the [Install Infinite Scale on a Server](https://doc.owncloud.com/ocis/next/depl-examples/ubuntu-compose/ubuntu-compose-prod.html) documentation which is ready for production and remove this evaluation setup completely.


Reviews:
user: login: mklos-kw
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-09T09:15:09Z
user: login: mklos-kw
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-09T09:16:50Z
user: login: mmattel
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-09T09:18:03Z
user: login: mklos-kw
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-09T09:18:57Z
user: login: mmattel
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-09T09:22:11Z
user: login: mmattel
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-09T09:22:43Z
user: login: kobergj
body: I like ❤️ 
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-05-14T07:39:21Z

Review comments:
diff_hunk: @@ -0,0 +1,106 @@
+---
+title: "Minimalistic Evaluation Guide for oCIS with Docker"
+date: 2025-05-08T16:00:00+02:00
+weight: 7
+geekdocRepo: https://github.com/owncloud/ocis
+geekdocEditPath: edit/master/docs/ocis/guides
+geekdocFilePath: ocis-mini-eval.md
+geekdocCollapseSection: true
+---
+
+{{< toc >}}
+
+**IMPORTANT** This type of installation is **ONLY** intended for a quick evaluation and to access the instance from your local machine using internal certificates only. We recommend using test data only for this evaluation.
+
+## Prerequisites
+
+As a prerequisite, we assume you have Docker installed locally on a machine that has a GUI. A headless one will not work. You know how to use Docker commands and what they mean. This guide is not intended to be a detailed explanation.
+
+## What you can Expect
+
+By passing the commands as described, you will be able to get a very first look and feel of Infinite Scale, which can be accessed from your browser using `localhost`.
+
+## Setup Procedure
+
+The setup process is quite simple and is done from a terminal.
+
+### Prepare Paths
+
+Create directories if not exists:
+
+```bash
+mkdir -p $HOME/ocis/ocis-config \
+mkdir -p $HOME/ocis/ocis-data
path: docs/ocis/guides/ocis-mini-eval.md
user: login: mklos-kw
body: For the minimal dev setup I use:
`.` for config
`~/.ocis` for data (default)
created_at: 2025-05-09T09:15:09Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,106 @@
+---
+title: "Minimalistic Evaluation Guide for oCIS with Docker"
+date: 2025-05-08T16:00:00+02:00
+weight: 7
+geekdocRepo: https://github.com/owncloud/ocis
+geekdocEditPath: edit/master/docs/ocis/guides
+geekdocFilePath: ocis-mini-eval.md
+geekdocCollapseSection: true
+---
+
+{{< toc >}}
+
+**IMPORTANT** This type of installation is **ONLY** intended for a quick evaluation and to access the instance from your local machine using internal certificates only. We recommend using test data only for this evaluation.
+
+## Prerequisites
+
+As a prerequisite, we assume you have Docker installed locally on a machine that has a GUI. A headless one will not work. You know how to use Docker commands and what they mean. This guide is not intended to be a detailed explanation.
+
+## What you can Expect
+
+By passing the commands as described, you will be able to get a very first look and feel of Infinite Scale, which can be accessed from your browser using `localhost`.
+
+## Setup Procedure
+
+The setup process is quite simple and is done from a terminal.
+
+### Prepare Paths
+
+Create directories if not exists:
+
+```bash
+mkdir -p $HOME/ocis/ocis-config \
+mkdir -p $HOME/ocis/ocis-data
+```
+
+Set the user for the directories to be the same as the user inside the container:
+
+```bash
+sudo chown -Rfv 1000:1000 $HOME/ocis/
+```
+
+### Pull the Image
+
+```bash
+docker pull owncloud/ocis
+```
+
+### First Time Initialisation
+
+```bash
+docker run --rm -it \
+    --mount type=bind,source=$HOME/ocis/ocis-config,target=/etc/ocis \
path: docs/ocis/guides/ocis-mini-eval.md
user: login: mklos-kw
body: `-v $(pwd):/etc/ocis/` for dev config in current working dir
created_at: 2025-05-09T09:16:50Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,106 @@
+---
+title: "Minimalistic Evaluation Guide for oCIS with Docker"
+date: 2025-05-08T16:00:00+02:00
+weight: 7
+geekdocRepo: https://github.com/owncloud/ocis
+geekdocEditPath: edit/master/docs/ocis/guides
+geekdocFilePath: ocis-mini-eval.md
+geekdocCollapseSection: true
+---
+
+{{< toc >}}
+
+**IMPORTANT** This type of installation is **ONLY** intended for a quick evaluation and to access the instance from your local machine using internal certificates only. We recommend using test data only for this evaluation.
+
+## Prerequisites
+
+As a prerequisite, we assume you have Docker installed locally on a machine that has a GUI. A headless one will not work. You know how to use Docker commands and what they mean. This guide is not intended to be a detailed explanation.
+
+## What you can Expect
+
+By passing the commands as described, you will be able to get a very first look and feel of Infinite Scale, which can be accessed from your browser using `localhost`.
+
+## Setup Procedure
+
+The setup process is quite simple and is done from a terminal.
+
+### Prepare Paths
+
+Create directories if not exists:
+
+```bash
+mkdir -p $HOME/ocis/ocis-config \
+mkdir -p $HOME/ocis/ocis-data
path: docs/ocis/guides/ocis-mini-eval.md
user: login: mmattel
body: There are many possibilities, as you write. For ease of handling, use a subdir named `ocis` in your home and put everything else in there. Then you only need to "kill" one directory for starting from scratch. Remember, it is plain minimal eval only.
created_at: 2025-05-09T09:18:03Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,106 @@
+---
+title: "Minimalistic Evaluation Guide for oCIS with Docker"
+date: 2025-05-08T16:00:00+02:00
+weight: 7
+geekdocRepo: https://github.com/owncloud/ocis
+geekdocEditPath: edit/master/docs/ocis/guides
+geekdocFilePath: ocis-mini-eval.md
+geekdocCollapseSection: true
+---
+
+{{< toc >}}
+
+**IMPORTANT** This type of installation is **ONLY** intended for a quick evaluation and to access the instance from your local machine using internal certificates only. We recommend using test data only for this evaluation.
+
+## Prerequisites
+
+As a prerequisite, we assume you have Docker installed locally on a machine that has a GUI. A headless one will not work. You know how to use Docker commands and what they mean. This guide is not intended to be a detailed explanation.
+
+## What you can Expect
+
+By passing the commands as described, you will be able to get a very first look and feel of Infinite Scale, which can be accessed from your browser using `localhost`.
+
+## Setup Procedure
+
+The setup process is quite simple and is done from a terminal.
+
+### Prepare Paths
+
+Create directories if not exists:
+
+```bash
+mkdir -p $HOME/ocis/ocis-config \
+mkdir -p $HOME/ocis/ocis-data
+```
+
+Set the user for the directories to be the same as the user inside the container:
+
+```bash
+sudo chown -Rfv 1000:1000 $HOME/ocis/
+```
+
+### Pull the Image
+
+```bash
+docker pull owncloud/ocis
+```
+
+### First Time Initialisation
+
+```bash
+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
path: docs/ocis/guides/ocis-mini-eval.md
user: login: mklos-kw
body: I see insecure env var below. `init` also has an `insecure` option to skip the prompt below: ` init --insecure yes` 
created_at: 2025-05-09T09:18:57Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,106 @@
+---
+title: "Minimalistic Evaluation Guide for oCIS with Docker"
+date: 2025-05-08T16:00:00+02:00
+weight: 7
+geekdocRepo: https://github.com/owncloud/ocis
+geekdocEditPath: edit/master/docs/ocis/guides
+geekdocFilePath: ocis-mini-eval.md
+geekdocCollapseSection: true
+---
+
+{{< toc >}}
+
+**IMPORTANT** This type of installation is **ONLY** intended for a quick evaluation and to access the instance from your local machine using internal certificates only. We recommend using test data only for this evaluation.
+
+## Prerequisites
+
+As a prerequisite, we assume you have Docker installed locally on a machine that has a GUI. A headless one will not work. You know how to use Docker commands and what they mean. This guide is not intended to be a detailed explanation.
+
+## What you can Expect
+
+By passing the commands as described, you will be able to get a very first look and feel of Infinite Scale, which can be accessed from your browser using `localhost`.
+
+## Setup Procedure
+
+The setup process is quite simple and is done from a terminal.
+
+### Prepare Paths
+
+Create directories if not exists:
+
+```bash
+mkdir -p $HOME/ocis/ocis-config \
+mkdir -p $HOME/ocis/ocis-data
+```
+
+Set the user for the directories to be the same as the user inside the container:
+
+```bash
+sudo chown -Rfv 1000:1000 $HOME/ocis/
+```
+
+### Pull the Image
+
+```bash
+docker pull owncloud/ocis
+```
+
+### First Time Initialisation
+
+```bash
+docker run --rm -it \
+    --mount type=bind,source=$HOME/ocis/ocis-config,target=/etc/ocis \
path: docs/ocis/guides/ocis-mini-eval.md
user: login: mmattel
body: The reason for using `--mount` is, that on some OS (like macOS at least in the past), do have some "challenges" using `-v`, due to how docker implemented stuff. With mount, this is avoided completely. Additionally, we clearly make a link between the paths used.
created_at: 2025-05-09T09:22:11Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,106 @@
+---
+title: "Minimalistic Evaluation Guide for oCIS with Docker"
+date: 2025-05-08T16:00:00+02:00
+weight: 7
+geekdocRepo: https://github.com/owncloud/ocis
+geekdocEditPath: edit/master/docs/ocis/guides
+geekdocFilePath: ocis-mini-eval.md
+geekdocCollapseSection: true
+---
+
+{{< toc >}}
+
+**IMPORTANT** This type of installation is **ONLY** intended for a quick evaluation and to access the instance from your local machine using internal certificates only. We recommend using test data only for this evaluation.
+
+## Prerequisites
+
+As a prerequisite, we assume you have Docker installed locally on a machine that has a GUI. A headless one will not work. You know how to use Docker commands and what they mean. This guide is not intended to be a detailed explanation.
+
+## What you can Expect
+
+By passing the commands as described, you will be able to get a very first look and feel of Infinite Scale, which can be accessed from your browser using `localhost`.
+
+## Setup Procedure
+
+The setup process is quite simple and is done from a terminal.
+
+### Prepare Paths
+
+Create directories if not exists:
+
+```bash
+mkdir -p $HOME/ocis/ocis-config \
+mkdir -p $HOME/ocis/ocis-data
+```
+
+Set the user for the directories to be the same as the user inside the container:
+
+```bash
+sudo chown -Rfv 1000:1000 $HOME/ocis/
+```
+
+### Pull the Image
+
+```bash
+docker pull owncloud/ocis
+```
+
+### First Time Initialisation
+
+```bash
+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
path: docs/ocis/guides/ocis-mini-eval.md
user: login: mmattel
body: good point, fixed.
created_at: 2025-05-09T09:22:42Z
author_association: CONTRIBUTOR

PR comments:
user: login: sonarqubecloud[bot]
created_at: 2025-05-13T09:20:05Z
body: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=owncloud_ocis&pullRequest=11301) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=owncloud_ocis&pullRequest=11301&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=owncloud_ocis&pullRequest=11301&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=owncloud_ocis&pullRequest=11301&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=owncloud_ocis&pullRequest=11301&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=owncloud_ocis&pullRequest=11301&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=owncloud_ocis&pullRequest=11301)


author_association: NONE