mirror of
https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk.git
synced 2025-12-06 15:31:38 +01:00
Compare commits
13 Commits
v1.3.2
...
cnegrini/l
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5e7cebec41 | ||
|
|
caf60ede5c | ||
|
|
22ee7a22db | ||
|
|
8e41ee68a6 | ||
|
|
131ab876c7 | ||
|
|
ead9a3a72c | ||
|
|
db696c2663 | ||
|
|
9ec16cd8fd | ||
|
|
5fbe79c945 | ||
|
|
818c8b3062 | ||
|
|
315d5e3dcf | ||
|
|
20cc567e27 | ||
|
|
b88659af86 |
28
.opencode/openDesk-logo-rgb-color.svg
Normal file
28
.opencode/openDesk-logo-rgb-color.svg
Normal file
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="Ebene_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 693.25 214.02">
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1 {
|
||||
fill: #571efa;
|
||||
}
|
||||
|
||||
.cls-2 {
|
||||
fill: #927afa;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<g>
|
||||
<path class="cls-2" d="M126.14,140.32v2.13c0,8.99-7.31,16.3-16.3,16.3h-38.26c-8.99,0-16.3-7.31-16.3-16.3v-38.26c0-8.99,7.31-16.3,16.3-16.3h2.13v52.44h52.44Z"/>
|
||||
<path class="cls-1" d="M126.85,127.56h-40.39v-44.65c0-15.24,12.4-27.64,27.64-27.64h12.76c17.58,0,31.89,14.31,31.89,31.89v8.5c0,17.58-14.31,31.89-31.89,31.89ZM104.88,109.13h21.97c7.42,0,13.46-6.04,13.46-13.46v-8.5c0-7.42-6.04-13.46-13.46-13.46h-12.76c-5.08,0-9.21,4.13-9.21,9.21v26.22Z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M210.82,90.76c14.85,0,24.34,10.9,24.34,24.25s-9.49,24.25-24.34,24.25-24.44-10.9-24.44-24.25,9.49-24.25,24.44-24.25ZM210.82,133.34c11.37,0,17.39-8.46,17.39-18.33s-6.02-18.33-17.39-18.33-17.48,8.46-17.48,18.33,6.01,18.33,17.48,18.33Z"/>
|
||||
<path d="M244.19,91.7h6.96v11.84c3.29-7.8,10.25-12.78,20.4-12.78,13.07,0,21.9,9.87,21.9,24.34s-8.83,24.16-21.9,24.16c-10.34,0-17.2-5.17-20.4-12.78v28.95h-6.96v-63.73ZM269.38,133.34c9.4,0,17.11-5.83,17.11-18.24s-7.71-18.42-17.11-18.42-17.95,6.11-17.95,18.42,8.65,18.24,17.95,18.24Z"/>
|
||||
<path d="M322.96,90.76c13.35,0,22.28,8.37,22.28,22.65v2.82h-37.5c.28,9.78,5.26,17.29,15.6,17.29,8.55,0,13.54-4.51,15.23-11.47h6.86c-1.97,8.27-7.61,17.2-21.9,17.2-15.13,0-22.46-11.28-22.46-24.91,0-15.04,8.74-23.59,21.9-23.59ZM338.37,110.78c-.66-9.12-6.77-14.29-15.51-14.29-8.18,0-14.29,5.26-15.04,14.29h30.55Z"/>
|
||||
<path d="M355.01,91.7h6.96v12.97c2.54-8.65,9.12-13.91,19.36-13.91s16.73,6.77,16.73,18.99v28.57h-7.05v-28.01c0-9.68-3.76-13.63-12.03-13.63-10.53,0-17.01,8.84-17.01,21.34v20.3h-6.96v-46.62Z"/>
|
||||
<path d="M409.81,72.05h24.35c6.89,0,12.97.85,18.24,2.54,5.26,1.69,9.57,4.98,12.92,9.87,3.35,4.89,5.03,11.78,5.03,20.68s-1.68,15.89-5.03,20.77c-3.35,4.89-7.66,8.18-12.92,9.87-5.27,1.69-11.34,2.54-18.24,2.54h-24.35v-66.27ZM434.16,125.07c4.76,0,8.57-.38,11.42-1.13s5.17-2.55,6.96-5.41c1.79-2.85,2.68-7.32,2.68-13.39s-.91-10.46-2.72-13.35c-1.82-2.88-4.14-4.7-6.96-5.45s-6.61-1.13-11.37-1.13h-9.31v39.86h9.31Z"/>
|
||||
<path d="M480.17,101.33c2.1-3.67,5.01-6.47,8.74-8.41s8.01-2.91,12.83-2.91c7.9,0,14.07,2.1,18.52,6.3,4.45,4.2,6.67,10,6.67,17.39v3.95h-35.53c.25,3.38,1.32,6.03,3.2,7.94,1.88,1.91,4.45,2.87,7.71,2.87,2.82,0,5.15-.59,7-1.79,1.85-1.19,3.02-2.88,3.53-5.08h14.19c-.75,5.26-3.28,9.53-7.57,12.78-4.29,3.26-9.98,4.89-17.06,4.89-5.2,0-9.71-1.05-13.54-3.15-3.82-2.1-6.75-5.03-8.79-8.79-2.04-3.76-3.05-8.08-3.05-12.97s1.05-9.35,3.15-13.02ZM513.02,109.93c-.25-3.01-1.36-5.33-3.34-6.96-1.97-1.63-4.53-2.44-7.66-2.44s-5.56.82-7.47,2.44c-1.91,1.63-2.99,3.95-3.24,6.96h21.71Z"/>
|
||||
<path d="M539.62,134.65c-4.14-3.07-6.21-7.58-6.21-13.54h14.29c0,2.7.85,4.69,2.54,5.97,1.69,1.29,4.29,1.93,7.8,1.93,2.57,0,4.43-.33,5.59-.99,1.16-.66,1.74-1.71,1.74-3.15,0-1-.34-1.82-1.03-2.44-.69-.63-1.79-1.16-3.29-1.6l-14.48-3.95c-3.2-.81-5.95-2.27-8.27-4.37-2.32-2.1-3.48-5-3.48-8.7,0-4.45,1.83-7.86,5.5-10.25,3.67-2.38,8.79-3.57,15.37-3.57,7.27,0,12.94,1.46,17.01,4.37s6.11,7.13,6.11,12.64h-14.29c0-4.57-2.91-6.86-8.74-6.86-2.07,0-3.7.35-4.89,1.03-1.19.69-1.79,1.6-1.79,2.73,0,1.94,1.72,3.35,5.17,4.23l11.09,2.73c4.32,1.07,7.79,2.71,10.39,4.94,2.6,2.22,3.9,5.34,3.9,9.35,0,4.58-1.83,8.07-5.5,10.48-3.67,2.41-9.1,3.62-16.31,3.62-8.02,0-14.1-1.54-18.24-4.61Z"/>
|
||||
<path d="M587.56,69.23h14.29v40.04l18.89-18.33h17.48l-23.59,23.03,23.5,24.35h-17.39l-18.89-19.93v19.93h-14.29v-69.09Z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
@@ -9,7 +9,7 @@ Please read the [project's entire CONTRIBUTING.md](https://gitlab.opencode.de/bm
|
||||
|
||||
# How to contribute?
|
||||
|
||||
Please also read the [project's workflow documentation](./docs/workflow.md) for more details on standards like commit
|
||||
Please also read the [project's workflow documentation](./docs/developer/workflow.md) for more details on standards like commit
|
||||
messages and branching convention.
|
||||
|
||||
## Helm vs. Operators vs. Manifests
|
||||
|
||||
@@ -25,7 +25,7 @@ openDesk Enterprise Edition is recommended for production use. It receives suppo
|
||||
|
||||
This document refers to the openDesk Community Edition as "oD CE" and the openDesk Enterprise Edition as "oD EE".
|
||||
|
||||
Please contact [ZenDiS](mailto:opendesk@zendis.de) to get openDesk Enterprise, either as a SaaS offering or for you on-premise installation.
|
||||
Please contact [ZenDiS](mailto:opendesk@zendis.de) to get openDesk Enterprise, either as a SaaS offering or for your on-premises installation.
|
||||
|
||||
# Enabling the Enterprise deployment
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ openDesk currently features the following functional main components:
|
||||
| Groupware | OX App Suite | [8.35](https://documentation.open-xchange.com/appsuite/releases/8.35/) | Online documentation available from within the installed application; [Additional resources](https://documentation.open-xchange.com/) |
|
||||
| Knowledge management | XWiki | [16.10.5](https://www.xwiki.org/xwiki/bin/view/ReleaseNotes/Data/XWiki/16.10.5/) | [For the most recent release](https://www.xwiki.org/xwiki/bin/view/Documentation) |
|
||||
| Portal & IAM | Nubus | [1.8.0](https://docs.software-univention.de/nubus-kubernetes-release-notes/latest/en/changelog.html#version-1-8-0-2025-04-07) | [Univention's documentation website](https://docs.software-univention.de/n/en/nubus.html) |
|
||||
| Project management | OpenProject | [15.5.0](https://www.openproject.org/docs/release-notes/15-5-0/) | [For the most recent release](https://www.openproject.org/docs/user-guide/) |
|
||||
| Project management | OpenProject | [15.5.1](https://www.openproject.org/docs/release-notes/15-5-1/) | [For the most recent release](https://www.openproject.org/docs/user-guide/) |
|
||||
| Videoconferencing | Jitsi | [2.0.9955](https://github.com/jitsi/jitsi-meet/releases/tag/stable%2Fjitsi-meet_9955) | [For the most recent release](https://jitsi.github.io/handbook/docs/category/user-guide/) |
|
||||
| Weboffice | Collabora | [24.04.13](https://www.collaboraoffice.com/code-24-04-release-notes/) | Online documentation available from within the installed application; [Additional resources](https://sdk.collaboraonline.com/) |
|
||||
|
||||
@@ -104,7 +104,7 @@ in the files from the release's git-tag:
|
||||
- `./helmfile/environments/default/images.yaml.gotmpl`
|
||||
- `./helmfile/environments/default/charts.yaml.gotmpl`
|
||||
|
||||
Find more information in our [Workflow documentation](./docs/workflow.md).
|
||||
Find more information in our [Workflow documentation](./docs/developer/workflow.md).
|
||||
|
||||
# Data Storage
|
||||
|
||||
@@ -123,7 +123,7 @@ If you want to address other topics, please check the section
|
||||
|
||||
# Development
|
||||
|
||||
If you want to join or contribute to the development of openDesk please read the [Development guide](./docs/development.md).
|
||||
If you want to join or contribute to the development of openDesk please read the [Development guide](./docs/developer/development.md).
|
||||
|
||||
# License
|
||||
|
||||
|
||||
@@ -23,6 +23,11 @@ path = "docs/architecture/apis_images/*"
|
||||
SPDX-FileCopyrightText = "2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH"
|
||||
SPDX-License-Identifier = "Apache-2.0"
|
||||
|
||||
[[annotations]]
|
||||
path = ".opencode/openDesk-logo-rgb-color.svg"
|
||||
SPDX-FileCopyrightText = "2025 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH"
|
||||
SPDX-License-Identifier = "CC-BY-SA-4.0"
|
||||
|
||||
[[annotations]]
|
||||
path = ".opencode/screenshots/*"
|
||||
SPDX-FileCopyrightText = "2025 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH"
|
||||
|
||||
@@ -60,7 +60,7 @@ Before you investigate any app-specific configuration, it is recommended that yo
|
||||
The `main` branch is configured to be the default branch, as visitors to the project on openCode should see that
|
||||
branch by default.
|
||||
|
||||
Please use the `develop` branch to diverge your branch(es) from. See the [workflow guide](./docs/workflow.md)
|
||||
Please use the `develop` branch to diverge your branch(es) from. See the [workflow guide](./docs/developer/workflow.md)
|
||||
for more details on naming conventions.
|
||||
|
||||
# External artifacts - `charts.yaml.gotmpl` and `images.yaml.gotmpl`
|
||||
@@ -238,7 +238,7 @@ The Standard Quality Gate addresses quality assurance steps that should be execu
|
||||
1. Linting
|
||||
- Blocking
|
||||
- Licensing: [reuse](https://github.com/fsfe/reuse-tool)
|
||||
- openDesk specific: Especially `images.yaml.gotmpl` and `charts.yaml.gotmpl`, find more details in [development.md](./docs/development.md).
|
||||
- openDesk specific: Especially `images.yaml.gotmpl` and `charts.yaml.gotmpl`, find more details in [development.md](./docs/developer/development.md).
|
||||
- Non-Blocking
|
||||
- Security: [Kyverno policy check](../.kyverno) addressing some IT-Grundschutz requirements
|
||||
- Formal: Yaml
|
||||
@@ -17,6 +17,8 @@ SPDX-License-Identifier: Apache-2.0
|
||||
* [Add multiple user accounts via CSV file](#add-multiple-user-accounts-via-csv-file)
|
||||
* [Start the migration](#start-the-migration)
|
||||
* [Monitor migration status](#monitor-migration-status)
|
||||
* [Appendix](#appendix)
|
||||
* [Validating master authentication](#validating-master-authentication)
|
||||
<!-- TOC -->
|
||||
|
||||
Most organizations already have email accounts on various platforms that need to be migrated to openDesk. This document describes the migration from M365 accounts to openDesk using the [audriga Migration Service](https://www.audriga.com) in combination with the master authentication option in openDesk. Other source platforms are also supported, and their migrations work in a similar manner.
|
||||
@@ -70,7 +72,7 @@ In openDesk, you have to have all user accounts with mailboxes pre-defined befor
|
||||
|
||||
## Deploy openDesk with master authentication
|
||||
|
||||
With openDesk 1.0 Enterprise, you can set openDesk's email components (OX AppSuite and OX Dovecot) to master authentication mode to run the migration as described in this document using the following two settings for your deployment:
|
||||
With openDesk 1.0 Enterprise, you can set openDesk's email components (OX AppSuite and OX Dovecot) to master authentication mode to run the migration as described in this document using the following two settings for your deployment. This is NOT available in openDesk Community deployments:
|
||||
|
||||
```
|
||||
secrets:
|
||||
@@ -85,10 +87,12 @@ functional:
|
||||
1. You must specify a master password, it will be referenced later in this document.
|
||||
2. You need to enable the actual master authentication mode.
|
||||
|
||||
To validate the master authentication mode please read the appendix section at the end of the document.
|
||||
|
||||
Updating your deployment with these settings will allow you to continue with the migration scenario. Once the migration is completed, you can remove `secrets.oxAppSuite.adminPassword` and need to turn off the migration mode by setting `functional.migration.oxAppSuite.enabled` to `false` or removing that setting, as `false` is the default before you update your deployment once again.
|
||||
|
||||
> **Note**<br>
|
||||
> For the changes to take effect, it is sufficient to re-deploy the `open-xchange` component alone.
|
||||
> For the changes to take effect, it is sufficient to re-deploy the `open-xchange` component alone. But you have to restart the Dovecot Pod(s) manually when switching to/from the master authentication mode for the changes to take effect.
|
||||
|
||||
> **Note**<br>
|
||||
> While in master authentication mode, regular users cannot log in to the webmail module of openDesk or access the mail using IMAP, as it is not recommended that users interact with the target mail infrastructure during the migration scenario described in this document.
|
||||
@@ -182,3 +186,39 @@ Click on "Details" to get further information about the migration.
|
||||
You can access a detailed log for each account by clicking "Protocol" on the right-hand side. Here, you can see detected duplicates or encountered errors (e.g., if emails cannot be transferred due to your provider's size limitations).
|
||||
|
||||
You will receive status emails for the migration job's submission and start, as well as when the migration job is finished. The emails are sent to the email address you have entered during the configuration. Those emails include a link to the status website so you can easily track and monitor your migration. Once the migration has been started, you can safely close the status website and shut down your computer; the migration will continue. You can re-open the status website anytime.
|
||||
|
||||
# Appendix
|
||||
|
||||
## Validating master authentication
|
||||
|
||||
Below are details in case you want to verify master authentication for Dovecot and OX AppSuite.
|
||||
|
||||
Set a few variables first:
|
||||
|
||||
```shell
|
||||
export MIG_DOMAIN=your-opendesk-domain.tld
|
||||
export MIG_WEBMAIL_HOST=webmail
|
||||
export MIG_USERNAME=eva
|
||||
export MIG_MASTER_PASSWORD=YourMasterPassword
|
||||
export MIG_IMAP_PORT=31123
|
||||
```
|
||||
|
||||
Ensure that you have defined a (your) default context for the migration where the account (in this example `eva`) can be found. The following should be executed in OX App Suite's `open-xchange-core-mw-default-0` container, in the example we set the default context to `1`:
|
||||
|
||||
```shell
|
||||
/opt/open-xchange/sbin/changecontext -c 1 -L defaultcontext -A $MASTER_ADMIN_USER -P $MASTER_ADMIN_PW
|
||||
```
|
||||
|
||||
With the preparation from above you should be able to successfully authenticate to both components:
|
||||
|
||||
**OX App Suite**
|
||||
|
||||
```shell
|
||||
curl -X POST -d "name=${MIG_USERNAME}&password=${MIG_MASTER_PASSWORD}" "https://${MIG_WEBMAIL_HOST}.${MIG_DOMAIN}/appsuite/api/login?action=login"
|
||||
```
|
||||
|
||||
**Dovecot**
|
||||
|
||||
```shell
|
||||
echo "a001 LOGIN ${MIG_USERNAME} ${MIG_MASTER_PASSWORD}" | openssl s_client -ign_eof -connect ${MIG_DOMAIN}:${MIG_IMAP_PORT}
|
||||
```
|
||||
|
||||
@@ -182,7 +182,7 @@ global:
|
||||
|
||||
Some apps, like Jitsi and Dovecot, require HTTP and external TCP connections.
|
||||
These apps create a Kubernetes service object.
|
||||
You can configure whether `NodePort` (for on-premise), `LoadBalancer` (for cloud), or `ClusterIP` (to disable) should be
|
||||
You can configure whether `NodePort` (for on-premises), `LoadBalancer` (for cloud), or `ClusterIP` (to disable) should be
|
||||
used:
|
||||
|
||||
```yaml
|
||||
|
||||
@@ -84,7 +84,7 @@ To upgrade existing deployments, you cannot skip any version mentioned in the co
|
||||
|
||||
| Mandatory version |
|
||||
| ----------------- |
|
||||
| v1.2+ |
|
||||
<!--| v1.2+ | add the entry to the table as soon as we get new migration requiring the set version (range) to be deployed first -->
|
||||
| v1.1.x |
|
||||
| v1.0.0 |
|
||||
| v0.9.0 |
|
||||
|
||||
@@ -115,7 +115,7 @@ deployments, you need to make use of your own production-grade services; see the
|
||||
|----------|---------------------|---------|-----------------------|
|
||||
| Cache | Memcached | `1.6.x` | Memcached |
|
||||
| | Redis | `7.x.x` | Redis |
|
||||
| Database | Cassandra[^1] | `5.0.x` | Cassandra |
|
||||
| Database | Cassandra[^2] | `5.0.x` | Cassandra |
|
||||
| | MariaDB | `10.x` | MariaDB |
|
||||
| | PostgreSQL | `15.x` | PostgreSQL |
|
||||
| Mail | Mail Transfer Agent | | Postfix |
|
||||
|
||||
@@ -1,23 +1,39 @@
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2025 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
||||
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
|
||||
<h1>Scaling</h1>
|
||||
|
||||
This document covers the possibilities to scale applications.
|
||||
This document covers the possibilities to scale the applications in openDesk.
|
||||
|
||||
# Horizontal scalability
|
||||
It provides rough benchmarks for configuring your own environment across various scale levels.
|
||||
In production, resource demands are primarily driven by actual usage patterns and system load, especially the number of concurrently active users.
|
||||
Consequently, we strongly recommend implementing monitoring and logging solutions to detect usage trends and enable timely intervention when needed.
|
||||
|
||||
We are working on generating this document automatically based on the file
|
||||
[`replicas.yaml.gotmpl`](../helmfile/environments/default/replicas.yaml.gotmpl) that contains necessary annotations.
|
||||
In the meantime, this file can be used to check the components scaling support/capabilities.
|
||||
| Application | Recommendation | Note(s) |
|
||||
| ------------ | -------------- | ------- |
|
||||
| Collabora | - 1 vCPU per 15 active users <br/> - 50 MB RAM per active user <br/> - 1 MBit/s per 10 active users | - |
|
||||
| Element | Per 10k users with values for federation activated / federation deactivated:<br/><br/> Homeserver:<br/> - 15 / 10 vCPU<br/> - 12 / 8 GB RAM<br/><br/>Postgres:<br/> - 10 / 4 vCPU<br/> - 32 / 16 GB RAM | Required hardware resources are impacted by whether or not federation is being used |
|
||||
| Cryptpad | No large-scale deployments seen, minimum requirements: <br/> - 2 vCPU <br/> - 2 GB RAM <br/> - 20 GB storage (depending on planned usage) | Most of the computation is done client-side |
|
||||
| Jitsi | Jitsi-Meet server: <br/> - 4 vCPU <br/> - 8 GB RAM <br/> <br/> For every 200 concurrent users one JVB with: <br/> - 8 vCPU <br/> - 8 GB RAM <br/><br/> Network bandwidth: <br/> - 1 GBit/s - 10 GBit/s small deployments <br/> - 10 Gbit/s *per bridge* large deployments<br/> | JVB network bandwidth calculation depends on the stream resolution (HD vs. 4k). |
|
||||
| Nextcloud | Up to 5k / more than 5k users: <br/> - 4 to 20 Nextcloud AIO Pods with 8 vCPUs and 32 / 64 GB RAM each <br/> - 2 / 4 DB servers with 8 / 16 vCPUs and 64 / 128 GB RAM each, plus DB load balancer | - |
|
||||
| OpenProject | - 4-6 vCPU per ~500 users <br/> - 6-8 GB per ~500 users <br/> - +20-50 GB storage per ~500 users, depending on workload and attachment storage[^1] <br/><br/> - Web Workers: +4 per ~500 users <br/> - Background Workers: +1-2 multithreaded workers per ~500 users, depending on workload | These values are guidelines and should be adjusted based on actual monitoring of resource usage. Scaling should prioritize CPU and RAM, prioritize scaling Web Workers first, followed by Background Workers and Disk Space as needed. |
|
||||
| Open-Xchange | For ~200 users (64 concurrent users to App Suite & 128 users to Dovecot): <br/> - 10 vCPU <br/> - 58 GB RAM <br/> - 660 GB storage | - |
|
||||
| XWiki | Advise for small instances: <br> - 4 vCPU <br/> - 6 GB RAM | - |
|
||||
|
||||
[^1]: Nextcloud is configured for attachment storage as well.
|
||||
|
||||
# Upstream information
|
||||
|
||||
While scaling services horizontally is the ideal solution, information about vertical scaling is helpful
|
||||
when defining the application's resources, see [`resources.yaml.gotmpl`](../helmfile/environments/default/resources.yaml.gotmpl) for references.
|
||||
|
||||
Linked below is documentation related to scaling from the upstream application:
|
||||
Linked below is documentation related to scaling for upstream applications, where publically available:
|
||||
|
||||
- [OpenProject system requirements](https://www.openproject.org/docs/installation-and-operations/system-requirements/)
|
||||
- [Collabora Online Technical Documentation](https://mautic.collaboraoffice.com/asset/60:collabora-online-technical-information-pdf)
|
||||
- [OpenProject System Requirements](https://www.openproject.org/docs/installation-and-operations/system-requirements/)
|
||||
- [XWiki Performance](https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/Performances/)
|
||||
- [Element Requirements and Recommendations](https://ems-docs.element.io/books/element-server-suite-documentation-lts-2404/page/requirements-and-recommendations)
|
||||
- [Jitsi DevOps Guide (scalable setup)](https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-scalable/), [Jitsi Meet Needs](https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-requirements/)
|
||||
|
||||
@@ -18,13 +18,8 @@ All default settings can be found in [`theme.yaml.gotmpl`](../helmfile/environme
|
||||
|
||||
Please review the default configuration that is applied to understand your customization options.
|
||||
|
||||
You can just update the files in:
|
||||
- [helmfile/files/theme](../helmfile/files/theme): To change logos, favicons etc.
|
||||
- [helmfile/files/portal-tiles](../helmfile/files/portal-tiles): To change the icons in the portal.
|
||||
You can just update the files in [helmfile/files/theme](../helmfile/files/theme) to change logos, favicons etc. Note that the `.svg` versions of the favicons are also used for the portal tiles.
|
||||
|
||||
# Known limitations
|
||||
|
||||
Not all applications support theming. Known exceptions are:
|
||||
- OpenProject, comes with a build in openDesk theming that can be modified in the Enterprise version's OpenProject web interface.
|
||||
- The portal background logo can (currently) only be set on initial deployment.
|
||||
- Portal and Keycloak screen styles must be applied in the [`portalStylesheets.css`](../helmfile/files/theme/portalStylesheet.css).
|
||||
- Portal and Keycloak screen styles, especially colors, must be applied in the [`portalStylesheets.css`](../helmfile/files/theme/portalStylesheet.css),
|
||||
|
||||
@@ -75,6 +75,7 @@ configuration:
|
||||
collabora:
|
||||
# internalWopiUrl: ""
|
||||
wopiAllowlist: {{ join ", " ( concat .Values.cluster.networking.cidr .Values.cluster.networking.incomingCIDR ) | quote }}
|
||||
defaultFormat: {{ .Values.functional.weboffice.defaultFormat | quote }}
|
||||
|
||||
database:
|
||||
{{ if eq .Values.databases.nextcloud.type "mariadb" }}
|
||||
|
||||
@@ -628,7 +628,7 @@ nubusPortalFrontend:
|
||||
css: {{ .Values.theme.styles.portal.main | toJson }}
|
||||
# Requires .ico, .svg does not work.
|
||||
favicon: {{ .Values.theme.imagery.portal.faviconIco | toJson }}
|
||||
# The actual `logo` is set in customizing image, the logo down here is for for waiting spinner.
|
||||
# The actual `logo` is set in customizing image, the logo down here is for waiting spinner.
|
||||
logo: {{ .Values.theme.imagery.portal.waitingSpinnerSvg | toJson }}
|
||||
backgroundImage: {{ .Values.theme.imagery.portal.backgroundSvg | toJson }}
|
||||
service:
|
||||
@@ -1472,6 +1472,15 @@ nubusStackDataUms:
|
||||
opendeskAdminAttributes: true
|
||||
opendeskGroupAttributes: true
|
||||
opendeskUserAttributes: true
|
||||
{{- if eq .Values.functional.weboffice.defaultFormat "OOXML"}}
|
||||
portalDirectDocsExtensionText: "docx"
|
||||
portalDirectDocsExtensionSheet: "xlsx"
|
||||
portalDirectDocsExtensionPresentation: "pptx"
|
||||
{{- else }}
|
||||
portalDirectDocsExtensionText: "odt"
|
||||
portalDirectDocsExtensionSheet: "ods"
|
||||
portalDirectDocsExtensionPresentation: "odp"
|
||||
{{- end }}
|
||||
portalEnforceLogin: {{ .Values.functional.portal.enforceLogin }}
|
||||
portalHeaderLogo: {{ toYaml .Values.theme.imagery.logoHeaderSvgB64 | quote }}
|
||||
portalTiles: {{ toYaml .Values.theme.imagery.portalTiles | nindent 6 }}
|
||||
|
||||
@@ -277,14 +277,16 @@ appsuite:
|
||||
packages:
|
||||
status:
|
||||
{{- if .Values.functional.migration.oxAppSuite.enabled }}
|
||||
open-xchange-authentication-masterpassword: "enabled"
|
||||
open-xchange-authentication-ldap: "disabled"
|
||||
open-xchange-authentication-oauth: "disabled"
|
||||
open-xchange-oidc: "disabled"
|
||||
open-xchange-authentication-oauth: "disabled"
|
||||
open-xchange-authentication-masterpassword: "enabled"
|
||||
open-xchange-authentication-database: "disabled"
|
||||
open-xchange-authentication-ldap: "disabled"
|
||||
{{- else }}
|
||||
open-xchange-oidc: "enabled"
|
||||
open-xchange-authentication-database: "disabled"
|
||||
open-xchange-authentication-oauth: "enabled"
|
||||
open-xchange-authentication-masterpassword: "disabled"
|
||||
open-xchange-authentication-database: "disabled"
|
||||
open-xchange-authentication-ldap: "disabled"
|
||||
{{- end }}
|
||||
# OX Documents (office-web) is not used in openDesk
|
||||
@@ -428,8 +430,10 @@ appsuite:
|
||||
com.openexchange.share.cryptKey: {{ .Values.secrets.oxAppSuite.shareCryptKey | quote }}
|
||||
com.openexchange.conference.element.authToken: {{ .Values.secrets.oxAppSuite.synapseAsToken | quote }}
|
||||
propertiesFiles:
|
||||
{{- if .Values.functional.migration.oxAppSuite.enabled }}
|
||||
/opt/open-xchange/etc/masterpassword-authentication.properties:
|
||||
com.openexchange.authentication.masterpassword.password: {{ .Values.secrets.oxAppSuite.migrationsMasterPassword | quote }}
|
||||
{{- end }}
|
||||
/opt/open-xchange/etc/AdminDaemon.properties:
|
||||
MASTER_ACCOUNT_OVERRIDE: "true"
|
||||
/opt/open-xchange/etc/AdminUser.properties:
|
||||
|
||||
@@ -6,7 +6,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "zendis/opendesk-enterprise/components/product-development/charts/opendesk-dovecot-pro"
|
||||
name: "dovecot"
|
||||
version: "2.0.2"
|
||||
version: "2.0.3"
|
||||
verify: true
|
||||
oxAppSuite:
|
||||
registry: "registry.opencode.de"
|
||||
|
||||
@@ -13,9 +13,9 @@ images:
|
||||
nextcloud:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "zendis/opendesk-enterprise/components/supplier/nextcloud/images/opendesk-nextcloud"
|
||||
tag: "1.1.9@sha256:ad28c9dd8cdb4bdd325fe132215d0cf094392c3ddd1f114707b09bb7d1c61a9e"
|
||||
tag: "1.2.0@sha256:ddd2bec74a22a713967f62fcdcf18fa8d53d730c1db296d570143754c93d20a5"
|
||||
openxchangeCoreMW:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "zendis/opendesk-enterprise/components/supplier/open-xchange/images-mirror/core-mw"
|
||||
repository: "zendis/opendesk-enterprise/components/supplier/open-xchange/images-mirror/middleware-public-sector-pro"
|
||||
tag: "8.35.85@sha256:54d01a16ea29a3ae8f1857e5bdf6d2e34046b8a3fa3d6179bb3ad3d047e1318f"
|
||||
...
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
# Please read the /docs/development.md for information about structure and annotations used in this file.
|
||||
# Please read the /docs/developer/development.md for information about structure and annotations used in this file.
|
||||
# yamllint disable rule:line-length
|
||||
---
|
||||
charts:
|
||||
@@ -251,7 +251,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-nextcloud"
|
||||
name: "opendesk-nextcloud"
|
||||
version: "4.0.3"
|
||||
version: "4.1.0"
|
||||
verify: true
|
||||
nextcloudManagement:
|
||||
# providerCategory: "Platform"
|
||||
@@ -261,7 +261,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-nextcloud"
|
||||
name: "opendesk-nextcloud-management"
|
||||
version: "4.0.3"
|
||||
version: "4.1.0"
|
||||
verify: true
|
||||
nginx:
|
||||
# providerCategory: "Community"
|
||||
@@ -355,7 +355,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/openproject/charts-mirror"
|
||||
name: "openproject"
|
||||
version: "9.9.0"
|
||||
version: "9.10.1"
|
||||
verify: true
|
||||
openprojectBootstrap:
|
||||
# providerCategory: "Platform"
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
---
|
||||
functional:
|
||||
|
||||
admin:
|
||||
portal:
|
||||
deploymentTimestamp:
|
||||
@@ -62,6 +63,19 @@ functional:
|
||||
# - `internalId`
|
||||
idpDetails: {}
|
||||
|
||||
chat:
|
||||
matrix:
|
||||
profile:
|
||||
# Once connected with a user that user's Matrix ID is rarely checked by their communication partners, as the
|
||||
# display name is used to see whom they are communicating with. Not allowing users to change their
|
||||
# own display name reduces the risk of identity fraud.
|
||||
# To get the display name updated from the central identity and access management you have to have the Synapse
|
||||
# enterprise feature "groupsync" configured.
|
||||
allowUsersToUpdateDisplayname: true
|
||||
|
||||
# If the LDAP entryUUID should be used for the localpart of user's Matrix IDs following setting must be `true`.
|
||||
useImmutableIdentifierForLocalpart: false
|
||||
|
||||
externalServices:
|
||||
nubus:
|
||||
udmRestApi:
|
||||
@@ -74,6 +88,16 @@ functional:
|
||||
# List of matrix homeserver domains you want to allow federation with
|
||||
domainAllowList: []
|
||||
|
||||
dataProtection:
|
||||
matrixPresence:
|
||||
# Enable to allow information about the user presence status to be shared.
|
||||
# Ref.: https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html#presence
|
||||
enabled: false
|
||||
jitsiRoomHistory:
|
||||
# Disable to avoid the room history to be stored in the user's browser local storage.
|
||||
# Ref.: https://github.com/jitsi/docker-jitsi-meet/issues/898
|
||||
enabled: true
|
||||
|
||||
filestore:
|
||||
quota:
|
||||
# Set the default quota for all users in GB
|
||||
@@ -120,15 +144,12 @@ functional:
|
||||
versions: "auto"
|
||||
# yamllint enable rule:line-length
|
||||
|
||||
dataProtection:
|
||||
matrixPresence:
|
||||
# Enable to allow information about the user presence status to be shared.
|
||||
# Ref.: https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html#presence
|
||||
migration:
|
||||
oxAppSuite:
|
||||
# Note: Only available in openDesk Enterprise.
|
||||
# Turn on temporary for migration purposes only. Will enable master password auth in OX AppSuite and Dovecot using
|
||||
# `secrets.oxAppSuite.migrationsMasterPassword`.
|
||||
enabled: false
|
||||
jitsiRoomHistory:
|
||||
# Disable to avoid the room history to be stored in the user's browser local storage.
|
||||
# Ref.: https://github.com/jitsi/docker-jitsi-meet/issues/898
|
||||
enabled: true
|
||||
|
||||
portal:
|
||||
# Configure if the a re-direct to the login dialogue is enforced, or if the portal is shown and the user as to actively
|
||||
@@ -139,24 +160,10 @@ functional:
|
||||
# Link to the privacy statement shown in the portal menu, set to "~" if you want to remove the link
|
||||
linkPrivacyStatement: "https://zendis.de/datenschutzerklaerung"
|
||||
|
||||
chat:
|
||||
matrix:
|
||||
profile:
|
||||
# Once connected with a user that user's Matrix ID is rarely checked by their communication partners, as the
|
||||
# display name is used to see whom they are communicating with. Not allowing users to change their
|
||||
# own display name reduces the risk of identity fraud.
|
||||
# To get the display name updated from the central identity and access management you have to have the Synapse
|
||||
# enterprise feature "groupsync" configured.
|
||||
allowUsersToUpdateDisplayname: true
|
||||
|
||||
# If the LDAP entryUUID should be used for the localpart of user's Matrix IDs following setting must be `true`.
|
||||
useImmutableIdentifierForLocalpart: false
|
||||
|
||||
migration:
|
||||
oxAppSuite:
|
||||
# Note: Only available in openDesk Enterprise.
|
||||
# Turn on temporary for migration purposes only. Will enable master password auth in OX AppSuite and Dovecot using
|
||||
# `secrets.oxAppSuite.migrationsMasterPassword`.
|
||||
enabled: false
|
||||
weboffice:
|
||||
# Set the file format to be used by default when creating new documents from the portal or the Nextcloud app.
|
||||
# You can choose between "ODF" and "OOXML".
|
||||
# Ref.: https://en.wikipedia.org/wiki/Comparison_of_Office_Open_XML_and_OpenDocument
|
||||
defaultFormat: "ODF"
|
||||
|
||||
...
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
# Please read the /docs/development.md for information about structure and annotations used in this file.
|
||||
# Please read the /docs/developer/development.md for information about structure and annotations used in this file.
|
||||
---
|
||||
images:
|
||||
bitnamiOSShell:
|
||||
@@ -327,7 +327,7 @@ images:
|
||||
# upstreamRepository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud"
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud"
|
||||
tag: "2.4.11@sha256:2fe6e311735c706016fe7b39c8f60a6cf0f0e735761dbc60fb4cd2eedbe135c4"
|
||||
tag: "2.5.0@sha256:9457bc2116620e52dcd1f5f12f042090aa4cca2a3e4d5f64b7c84c232ca6bb63"
|
||||
nextcloudExporter:
|
||||
# providerCategory: "Platform"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -537,7 +537,7 @@ images:
|
||||
# upstreamRepository: "bmi/opendesk/components/platform-development/images/opendesk-nubus"
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/images/opendesk-nubus"
|
||||
tag: "1.13.1@sha256:eb96855b53241bcb1dd64d72d8c76f7ee080291da72e6dff39ed2fc81b8ac99b"
|
||||
tag: "1.14.0@sha256:66ee00b6e44276f5f1e9d7a8066352fd5772820c50c10381acfd48c97f0acf4a"
|
||||
nubusOpendeskExtensionA2gMapper:
|
||||
# providerCategory: "Platform"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -737,7 +737,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["13", "1", "1"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/openproject/images-mirror/open_desk"
|
||||
tag: "15.5.0@sha256:267f76694d0e86bc574035527b86b48ecc96c468bb6e7357d9edbc761b096969"
|
||||
tag: "15.5.1@sha256:9ca328a30fc1e143fc1a34942836ff44923c05c327c27779e248767f2ce9ffc7"
|
||||
openprojectBootstrap:
|
||||
# providerCategory: "Platform"
|
||||
# providerResponsible: "openDesk"
|
||||
|
||||
@@ -26,7 +26,7 @@ softwareVersion: "1.3.1"
|
||||
releaseDate: "2025-04-23"
|
||||
softwareType: "standalone/web"
|
||||
url: "https://gitlab.opencode.de/bmi/opendesk/"
|
||||
logo: "openDesk-logo-rgb-color.svg"
|
||||
logo: ".opencode/openDesk-logo-rgb-color.svg"
|
||||
maintenance:
|
||||
type: "contract"
|
||||
|
||||
@@ -91,8 +91,6 @@ description:
|
||||
- ".opencode/screenshots/02-dateien-desktop.png"
|
||||
- ".opencode/screenshots/03-projekte-desktop.png"
|
||||
- ".opencode/screenshots/04-wiki-desktop.png"
|
||||
videos:
|
||||
- ".opencode/screenshots/openDesk_Intro.mp4"
|
||||
documentation: "https://docs.opendesk.eu/user"
|
||||
usedBy:
|
||||
- "Robert Koch-Institut"
|
||||
|
||||
Reference in New Issue
Block a user