Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"label": "Docker-Compose",
"position": 1
}
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ systemctl enable docker && systemctl start docker
Download the necessary configuration files:

```bash
git clone https://github.com/opencloud-eu/opencloud.git
git clone https://github.com/opencloud-eu/opencloud-compose.git
```

## 4. Configure the .env File for Staging Certificates
Expand All @@ -66,9 +66,18 @@ Before requesting real SSL certificates, test the setup with Let's Encrypt’s s
Navigate to the OpenCloud configuration folder:

```bash
cd opencloud/deployments/examples/opencloud_full
cd opencloud-compose
```

Create environment file:

```bash
cp .env.example .env
```

> **Note:** The repository includes .env.example as a template with default settings and documentation. Your actual .env file is excluded from version control (via .gitignore) to prevent accidentally committing sensitive information like passwords and domain-specific settings.
> <br/>

Edit the `.env` file with the editor of your choice:

In our example we use nano
Expand Down Expand Up @@ -112,6 +121,14 @@ TRAEFIK_ACME_MAIL=your@email.com
TRAEFIK_ACME_CASERVER=https://acme-staging-v02.api.letsencrypt.org/directory
```

### ✅ Set your deployment options

For Example without Collabora:

```bash
COMPOSE_FILE=docker-compose.yml:traefik/opencloud.yml
```

Save and exit.

### 🚨 Production Setup Consideration
Expand Down Expand Up @@ -204,7 +221,7 @@ docker compose down
#### 2️⃣ Remove old staging certificates

```bash
docker volume rm opencloud_full_certs
rm -r certs
```

(If you changed volume names, adjust accordingly.)
Expand Down Expand Up @@ -250,92 +267,3 @@ Login with:
## Troubleshooting

If you encounter any issues, check the [Common Issues & Help](./../../../resources/common-issues.md)

---

## Enable Keycloak Integration (optional)

<br/>

### To enable Keycloak for identity and access management, **uncomment** the following lines in your `.env` file

```env
LDAP=:ldap.yml
LDAP_MANAGER_DOMAIN=ldap.your.domain
LDAP_ADMIN_PASSWORD="your.save.password"
KEYCLOAK=:keycloak.yml
KEYCLOAK_DOMAIN=keycloak.your.domain
KEYCLOAK_ADMIN_USER="your.username"
KEYCLOAK_ADMIN_PASSWORD="your.save.password"
```

This will include the LDAP and Keycloak service definitions in the Docker Compose setup.

### After starting OpenCloud, Keycloak will be available at

```bash
https://keycloak.your.domain
```

## 👤 Initial User Setup in Keycloak

### Once Keycloak is running

#### 1. Open your browser and go to

```bash
https://keycloak.your.domain
```

<img src={require("./../../img/docker-compose/keycloak-dashboard.png").default} alt="Keyclosk dashboard" width="1920"/>
<br/><br/>

#### 2. Log in with the admin credentials (default is admin / admin)

<img src={require("./../../img/docker-compose/keycloak-login.png").default} alt="Keycloak login" width="1920"/>
<br/><br/>

#### 3. In the top-left dropdown (labeled Keycloak), switch to the OpenCloud realm

<img src={require("./../../img/docker-compose/top-left-dropdown.png").default} alt="Top left dropdown menue" width="400"/>
<br/><br/>

#### 4. Navigate to the "Users" section and click "Add user"

<img src={require("./../../img/docker-compose/users-section.png").default} alt="User section" width="1920"/>
<br/>

- Fill in a username
- Optionally add email, first/last name
- Click "Create"
<img src={require("./../../img/docker-compose/fill-in-userdata.png").default} alt="Fill in userdata" width="1920"/>
<br/><br/>

#### 5. Go to the "Credentials" tab

- Click "Set password"
<img src={require("./../../img/docker-compose/credentials.png").default} alt="Credentials" width="1920"/>
<br/>
- Set a temporary password
- Enable "Temporary" to force password change on first login (optional)
- Click "Save"
<img src={require("./../../img/docker-compose/set-password.png").default} alt="Set password" width="400"/>
<br/><br/>

#### 6. Go to the "Role Mapping" tab

<img src={require("./../../img/docker-compose/role-mapping.png").default} alt="Role mapping" width="1920"/>
<br/>

- Click "Assign role"
<img src={require("./../../img/docker-compose/assign-role.png").default} alt="Assign role" width="1920"/>
<br/>
- In the dialog, click "Filter by realm roles"
<img src={require("./../../img/docker-compose/filter-by-realm-roles.png").default} alt="Filter by realm roles" width="1920"/>
<br/>
- Choose the appropriate role (e.g., user, admin, etc.)
- Click "Assign"
<img src={require("./../../img/docker-compose/realm-roles.png").default} alt="Realm roles" width="1920"/>
<br/>

The user can now log in via OpenCloud using the Keycloak credentials.
90 changes: 90 additions & 0 deletions docs/admin/getting-started/container/docker-compose/keycloak.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
---
sidebar_position: 4
id: keycloak
title: Keycloak
description: 'OpenCloud with Keycloak.'
draft: true
---

## Enable Keycloak Integration (optional)

<br/>

### To enable Keycloak for identity and access management, **uncomment** the following lines in your `.env` file

```env
LDAP=:ldap.yml
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is from the opencloud full example. Please adapt to use COMPOSE_FILE=

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The keycloak part was before in the docker compose and was only copied here and we will rewrite it in a separate branch

LDAP_MANAGER_DOMAIN=ldap.your.domain
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LDAP_MANAGER should not be deployed. Only a testing tool.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The keycloak part was before in the docker compose and was only copied here and we will rewrite it in a separate branch

LDAP_ADMIN_PASSWORD="your.save.password"
KEYCLOAK=:keycloak.yml
KEYCLOAK_DOMAIN=keycloak.your.domain
KEYCLOAK_ADMIN_USER="your.username"
KEYCLOAK_ADMIN_PASSWORD="your.save.password"
```

This will include the LDAP and Keycloak service definitions in the Docker Compose setup.

### After starting OpenCloud, Keycloak will be available at

```bash
https://keycloak.your.domain
```

## 👤 Initial User Setup in Keycloak

### Once Keycloak is running

- 1. Open your browser and go to

```bash
https://keycloak.your.domain
```

<img src={require("./../../img/docker-compose/keycloak-dashboard.png").default} alt="Keyclosk dashboard" width="1920"/>
<br/><br/>

- 2. Log in with the admin credentials (default is admin / admin).
<img src={require("./../../img/docker-compose/keycloak-login.png").default} alt="Keycloak login" width="1920"/>
<br/><br/>

- 3. In the top-left dropdown (labeled Keycloak), switch to the OpenCloud realm.
<img src={require("./../../img/docker-compose/top-left-dropdown.png").default} alt="Top left dropdown menue" width="400"/>
<br/><br/>

- 4. Navigate to the "Users" section and click "Add user":
<img src={require("./../../img/docker-compose/users-section.png").default} alt="User section" width="1920"/>
<br/>

- Fill in a username
- Optionally add email, first/last name
- Click "Create"
<img src={require("./../../img/docker-compose/fill-in-userdata.png").default} alt="Fill in userdata" width="1920"/>
<br/><br/>

- 5. Go to the "Credentials" tab:

- Click "Set password"
<img src={require("./../../img/docker-compose/credentials.png").default} alt="Credentials" width="1920"/>
<br/>
- Set a temporary password
- Enable "Temporary" to force password change on first login (optional)
- Click "Save"
<img src={require("./../../img/docker-compose/set-password.png").default} alt="Set password" width="400"/>
<br/><br/>

- 6. Go to the "Role Mapping" tab:
<img src={require("./../../img/docker-compose/role-mapping.png").default} alt="Role mapping" width="1920"/>
<br/>

- Click "Assign role"
<img src={require("./../../img/docker-compose/assign-role.png").default} alt="Assign role" width="1920"/>
<br/>
- In the dialog, click "Filter by realm roles"
<img src={require("./../../img/docker-compose/filter-by-realm-roles.png").default} alt="Filter by realm roles" width="1920"/>
<br/>
- Choose the appropriate role (e.g., user, admin, etc.)
- Click "Assign"
<img src={require("./../../img/docker-compose/realm-roles.png").default} alt="Realm roles" width="1920"/>
<br/>

- The user can now log in via OpenCloud using the Keycloak credentials.
2 changes: 1 addition & 1 deletion docs/admin/maintenance/upgrade/upgrade.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ description: '🔄 Keep your setup up to date with the latest features!'
import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'

This guide provides steps to upgrade OpenCloud for both [docker](docs/admin/getting-started/container/docker.md) and [docker compose](docs/admin/getting-started/container/docker-compose/docker-compose.md)
This guide provides steps to upgrade OpenCloud for both [docker](docs/admin/getting-started/container/docker.md) and [docker compose](docs/admin/getting-started/container/docker-compose/docker-compose-base.md)

### 1. Stop OpenCloud

Expand Down