Compare commits

...

28 Commits

Author SHA1 Message Date
Alexander Ackermann
3873623f4b chore: bump traefik to 3.6.7 2026-02-02 09:57:57 +01:00
Alex
de88ca037b fix add back slash to traefik allowed encoded characters (#211) 2026-02-02 09:13:14 +01:00
Michael Barz
1b4cfb5759 Merge pull request #206 from aleksa-radojicic/add-kc-log-level
Add support for KC_LOG_LEVEL env variable & fix KC credentials leaking in logs
2026-01-25 17:58:49 +01:00
aleksa.radojicic
1a231fa807 fix(keycloak): prevent env vars from being printed in logs
The problem is credentials are displayed in the console, which poses a security risk in production. Printing the environment variables for log levels 'trace/debug' would help when debugging.
2026-01-25 11:46:52 +01:00
aleksa.radojicic
a79de3c5ee feat(keycloak): add support for KC_LOG_LEVEL env variable
KC_LOG_LEVEL is defined in the [official docs](https://www.keycloak.org/server/all-config?q=log-level).
2026-01-25 11:43:02 +01:00
Viktor Scharf
4e8f66ac5f Merge pull request #201 from opencloud-eu/fix#31
update certs.yml example
2026-01-13 12:21:31 +01:00
Viktor Scharf
8ce6895188 update certs.yml example 2026-01-13 12:07:40 +01:00
Viktor Scharf
a0d5196dfa Merge pull request #198 from opencloud-eu/add-default-language-to-docker-compose.yaml
add the default language variable to the docker-compose.yaml
2026-01-08 20:07:30 +01:00
Anja Barz
e19f6ba593 add info about language format and add it to the .env 2026-01-08 12:10:49 +01:00
Anja Barz
d9300db50e add the default language variable to the docker-compose.yaml 2026-01-08 07:37:06 +01:00
Michael Barz
634cd89b0f Merge pull request #178 from opencloud-eu/update_inline_docs
Update inline docs
2026-01-05 21:11:25 +01:00
Artur Neumann
59f5f1702d Merge pull request #190 from opencloud-eu/individual-it-patch-1
fix: example command to load apps
2025-12-29 18:32:11 +05:45
Artur Neumann
81888ebe66 fix: example command to load apps 2025-12-29 17:45:08 +05:45
Viktor Scharf
c3471649f8 Merge pull request #181 from opencloud-eu/setWritableShareFalse
set OC_SHARING_PUBLIC_WRITEABLE_SHARE_MUST_HAVE_PASSWORD=false by default
2025-12-17 10:16:00 +01:00
Viktor Scharf
5fa7ab2d40 set OC_SHARING_PUBLIC_WRITEABLE_SHARE_MUST_HAVE_PASSWORD=false by default 2025-12-17 09:47:31 +01:00
streaminganger
a738092592 fix: traefik rejects supported file characters (#179) 2025-12-16 10:49:45 +01:00
Michael Barz
3bddb65c8b Merge pull request #180 from opencloud-eu/revert-175-fix-collabora-server-audit-slow-kit
Revert "fix: slow kit jail error server audit in collabora"
2025-12-12 17:25:37 +01:00
Michael Barz
6ecf59f078 Revert "fix: slow kit jail error server audit in collabora" 2025-12-12 15:42:09 +01:00
Michael Barz
adf5c3a388 Merge pull request #175 from opencloud-eu/fix-collabora-server-audit-slow-kit
fix: slow kit jail error server audit in collabora
2025-12-12 09:08:26 +01:00
Michael 'Flimmy' Flemming
4bfa819979 uncomment important env-vars but leave at default 2025-12-11 12:16:52 +01:00
Michael 'Flimmy' Flemming
0ee8acafe3 remove leading space from commented vars 2025-12-11 12:07:52 +01:00
Michael 'Flimmy' Flemming
a2f8a01119 explicitly list commented certs env_var and its default 2025-12-11 12:04:24 +01:00
Michael 'Flimmy' Flemming
d3c0c80250 add External-IDP example 2025-12-11 11:59:49 +01:00
Ralf Haferkamp
a2411f8cec Merge pull request #170 from opencloud-eu/issue/165
Fix bash default substitution
2025-12-10 17:29:00 +01:00
Alexander Ackermann
e897106b58 remove privileged 2025-12-09 18:58:56 +01:00
Alexander Ackermann
7386b21d7c make work on debian based systems 2025-12-09 18:49:31 +01:00
Alexander Ackermann
f3ea0ee978 fix: slow kit jail error server audit in collabora 2025-12-09 15:34:46 +01:00
Alex
2f1f0d3149 fix: WOPI/Collabora incompatibility with traefik v3.6.4 (#174) 2025-12-09 12:47:40 +01:00
7 changed files with 30 additions and 18 deletions

View File

@@ -22,6 +22,8 @@ INSECURE=true
#COMPOSE_FILE=docker-compose.yml:weboffice/collabora.yml:external-proxy/opencloud.yml:external-proxy/collabora.yml #COMPOSE_FILE=docker-compose.yml:weboffice/collabora.yml:external-proxy/opencloud.yml:external-proxy/collabora.yml
# Keycloak Shared User Directory # Keycloak Shared User Directory
#COMPOSE_FILE=docker-compose.yml:weboffice/collabora.yml:traefik/opencloud.yml:traefik/collabora.yml:idm/ldap-keycloak.yml:traefik/ldap-keycloak.yml #COMPOSE_FILE=docker-compose.yml:weboffice/collabora.yml:traefik/opencloud.yml:traefik/collabora.yml:idm/ldap-keycloak.yml:traefik/ldap-keycloak.yml
# External IDP
#COMPOSE_FILE=docker-compose.yml:weboffice/collabora.yml:traefik/opencloud.yml:traefik/collabora.yml:idm/external-idp.yml
## Traefik Settings ## ## Traefik Settings ##
# Note: Traefik is always enabled and can't be disabled. # Note: Traefik is always enabled and can't be disabled.
@@ -57,13 +59,11 @@ TRAEFIK_SERVICES_TLS_CONFIG="tls.certresolver=letsencrypt"
# - certFile: /certs/opencloud.test.crt # - certFile: /certs/opencloud.test.crt
# keyFile: /certs/opencloud.test.key # keyFile: /certs/opencloud.test.key
# stores: # stores:
# default: # - default
# defaultCertificate:
# certFile: /certs/opencloud.test.crt
# keyFile: /certs/opencloud.test.key
# #
# The certificates need to be copied into ./certs/, the absolute path inside the container is /certs/. # The certificates need to be copied into ./certs/, the absolute path inside the container is /certs/.
# You can also use TRAEFIK_CERTS_DIR=/path/on/host to set the path to the certificates directory. # You can also use TRAEFIK_CERTS_DIR=/path/on/host to set the path to the certificates directory.
#TRAEFIK_CERTS_DIR=./certs
# Enable the access log for Traefik by setting the following variable to true. # Enable the access log for Traefik by setting the following variable to true.
TRAEFIK_ACCESS_LOG= TRAEFIK_ACCESS_LOG=
# Configure the log level for Traefik. # Configure the log level for Traefik.
@@ -124,17 +124,23 @@ LOG_LEVEL=
# This matches the default user inside the container and avoids permission issues when accessing files. # This matches the default user inside the container and avoids permission issues when accessing files.
# Note that especially the data directory can grow big. # Note that especially the data directory can grow big.
# Leaving it default stores data in docker internal volumes. # Leaving it default stores data in docker internal volumes.
# OC_CONFIG_DIR=/your/local/opencloud/config OC_CONFIG_DIR=
# OC_DATA_DIR=/your/local/opencloud/data OC_DATA_DIR=
# OpenCloud Web can load extensions from a local directory. # OpenCloud Web can load extensions from a local directory.
# The default uses the bind mount to the config/opencloud/apps directory. # The default uses the bind mount to the config/opencloud/apps directory.
# Example: curl -L https://github.com/opencloud-eu/web-extensions/releases/download/unzip-v1.0.2/unzip-1.0.2.zip | tar -xz -C config/opencloud/apps # Example: curl -L https://github.com/opencloud-eu/web-extensions/releases/download/unzip-v1.0.2/unzip-1.0.2.zip -o config/opencloud/apps/unzip-1.0.2.zip && unzip config/opencloud/apps/unzip-1.0.2.zip -d config/opencloud/apps && rm config/opencloud/apps/unzip-1.0.2.zip
# NOTE: you need to restart the openCloud container to load the new extensions. # NOTE: you need to restart the openCloud container to load the new extensions.
#OC_APPS_DIR=/your/local/opencloud/apps #OC_APPS_DIR=/your/local/opencloud/apps
#
# The default language used by services and the WebUI.
# Uses ISO 639-1 language codes (e.g. "en", "de", "fr").
# Defaults to English if not set.
DEFAULT_LANGUAGE=
# Define the ldap-server storage location. Set the paths for config and data to a local path. # Define the ldap-server storage location. Set the paths for config and data to a local path.
# LDAP_CERTS_DIR= # Leaving it default stores data in docker internal volumes.
# LDAP_DATA_DIR= LDAP_CERTS_DIR=
LDAP_DATA_DIR=
# S3 Storage configuration - optional # S3 Storage configuration - optional
# OpenCloud supports S3 storage as primary storage. # OpenCloud supports S3 storage as primary storage.
@@ -316,6 +322,9 @@ KEYCLOAK_DOMAIN=
KEYCLOAK_ADMIN= KEYCLOAK_ADMIN=
# Admin user login password. Defaults to "admin". # Admin user login password. Defaults to "admin".
KEYCLOAK_ADMIN_PASSWORD= KEYCLOAK_ADMIN_PASSWORD=
# Configure the log level for Keycloak.
# Possible values are "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL" and "OFF". Default is "INFO".
KC_LOG_LEVEL=
# Keycloak Database username. Defaults to "keycloak". # Keycloak Database username. Defaults to "keycloak".
KC_DB_USERNAME= KC_DB_USERNAME=
# Keycloak Database password. Defaults to "keycloak". # Keycloak Database password. Defaults to "keycloak".

View File

@@ -285,10 +285,6 @@ OpenCloud Compose supports adding SSL certificates for public domains and develo
keyFile: /certs/opencloud.test.key keyFile: /certs/opencloud.test.key
stores: stores:
- default - default
- certFile: /certs/wildcard.example.com.crt
keyFile: /certs/wildcard.example.com.key
stores:
- default
``` ```
3. **Configure environment variables**: 3. **Configure environment variables**:

View File

@@ -1,5 +1,8 @@
#!/bin/bash #!/bin/bash
printenv # print env variables for trace/debug log levels
log_level=$(printf '%s' "$KC_LOG_LEVEL" | tr '[:upper:]' '[:lower:]')
case "$log_level" in trace|debug) printenv ;; *) ;; esac
# replace openCloud domain and LDAP password in keycloak realm import # replace openCloud domain and LDAP password in keycloak realm import
mkdir /opt/keycloak/data/import mkdir /opt/keycloak/data/import
sed -e "s/cloud.opencloud.test/${OC_DOMAIN}/g" -e "s/ldap-admin-password/${LDAP_ADMIN_PASSWORD:-admin}/g" /opt/keycloak/data/import-dist/openCloud-realm.json > /opt/keycloak/data/import/openCloud-realm.json sed -e "s/cloud.opencloud.test/${OC_DOMAIN}/g" -e "s/ldap-admin-password/${LDAP_ADMIN_PASSWORD:-admin}/g" /opt/keycloak/data/import-dist/openCloud-realm.json > /opt/keycloak/data/import/openCloud-realm.json

View File

@@ -46,13 +46,15 @@ services:
OC_PASSWORD_POLICY_BANNED_PASSWORDS_LIST: banned-password-list.txt OC_PASSWORD_POLICY_BANNED_PASSWORDS_LIST: banned-password-list.txt
# control the password enforcement and policy for public shares # control the password enforcement and policy for public shares
OC_SHARING_PUBLIC_SHARE_MUST_HAVE_PASSWORD: "${OC_SHARING_PUBLIC_SHARE_MUST_HAVE_PASSWORD:-true}" OC_SHARING_PUBLIC_SHARE_MUST_HAVE_PASSWORD: "${OC_SHARING_PUBLIC_SHARE_MUST_HAVE_PASSWORD:-true}"
OC_SHARING_PUBLIC_WRITEABLE_SHARE_MUST_HAVE_PASSWORD: "${OC_SHARING_PUBLIC_WRITEABLE_SHARE_MUST_HAVE_PASSWORD:-true}" OC_SHARING_PUBLIC_WRITEABLE_SHARE_MUST_HAVE_PASSWORD: "${OC_SHARING_PUBLIC_WRITEABLE_SHARE_MUST_HAVE_PASSWORD:-false}"
OC_PASSWORD_POLICY_DISABLED: "${OC_PASSWORD_POLICY_DISABLED:-false}" OC_PASSWORD_POLICY_DISABLED: "${OC_PASSWORD_POLICY_DISABLED:-false}"
OC_PASSWORD_POLICY_MIN_CHARACTERS: "${OC_PASSWORD_POLICY_MIN_CHARACTERS:-8}" OC_PASSWORD_POLICY_MIN_CHARACTERS: "${OC_PASSWORD_POLICY_MIN_CHARACTERS:-8}"
OC_PASSWORD_POLICY_MIN_LOWERCASE_CHARACTERS: "${OC_PASSWORD_POLICY_MIN_LOWERCASE_CHARACTERS:-1}" OC_PASSWORD_POLICY_MIN_LOWERCASE_CHARACTERS: "${OC_PASSWORD_POLICY_MIN_LOWERCASE_CHARACTERS:-1}"
OC_PASSWORD_POLICY_MIN_UPPERCASE_CHARACTERS: "${OC_PASSWORD_POLICY_MIN_UPPERCASE_CHARACTERS:-1}" OC_PASSWORD_POLICY_MIN_UPPERCASE_CHARACTERS: "${OC_PASSWORD_POLICY_MIN_UPPERCASE_CHARACTERS:-1}"
OC_PASSWORD_POLICY_MIN_DIGITS: "${OC_PASSWORD_POLICY_MIN_DIGITS:-1}" OC_PASSWORD_POLICY_MIN_DIGITS: "${OC_PASSWORD_POLICY_MIN_DIGITS:-1}"
OC_PASSWORD_POLICY_MIN_SPECIAL_CHARACTERS: "${OC_PASSWORD_POLICY_MIN_SPECIAL_CHARACTERS:-1}" OC_PASSWORD_POLICY_MIN_SPECIAL_CHARACTERS: "${OC_PASSWORD_POLICY_MIN_SPECIAL_CHARACTERS:-1}"
# default language for services/WebUI; defaults to English, language code (ISO 639-1, e.g. de, en, fr)
OC_DEFAULT_LANGUAGE: ${DEFAULT_LANGUAGE}
volumes: volumes:
- ./config/opencloud/csp.yaml:/etc/opencloud/csp.yaml - ./config/opencloud/csp.yaml:/etc/opencloud/csp.yaml
- ./config/opencloud/banned-password-list.txt:/etc/opencloud/banned-password-list.txt - ./config/opencloud/banned-password-list.txt:/etc/opencloud/banned-password-list.txt

View File

@@ -96,6 +96,7 @@ services:
KC_DB_USERNAME: ${KC_DB_USERNAME:-keycloak} KC_DB_USERNAME: ${KC_DB_USERNAME:-keycloak}
KC_DB_PASSWORD: ${KC_DB_PASSWORD:-keycloak} KC_DB_PASSWORD: ${KC_DB_PASSWORD:-keycloak}
KC_FEATURES: impersonation KC_FEATURES: impersonation
KC_LOG_LEVEL: ${KC_LOG_LEVEL:-INFO}
KC_PROXY_HEADERS: xforwarded KC_PROXY_HEADERS: xforwarded
KC_HTTP_ENABLED: true KC_HTTP_ENABLED: true
KEYCLOAK_ADMIN: ${KEYCLOAK_ADMIN:-kcadmin} KEYCLOAK_ADMIN: ${KEYCLOAK_ADMIN:-kcadmin}

View File

@@ -32,6 +32,7 @@ services:
KC_DB_USERNAME: ${KC_DB_USERNAME:-keycloak} KC_DB_USERNAME: ${KC_DB_USERNAME:-keycloak}
KC_DB_PASSWORD: ${KC_DB_PASSWORD:-keycloak} KC_DB_PASSWORD: ${KC_DB_PASSWORD:-keycloak}
KC_FEATURES: impersonation KC_FEATURES: impersonation
KC_LOG_LEVEL: ${KC_LOG_LEVEL:-INFO}
KC_PROXY_HEADERS: xforwarded KC_PROXY_HEADERS: xforwarded
KC_HTTP_ENABLED: true KC_HTTP_ENABLED: true
KEYCLOAK_ADMIN: ${KEYCLOAK_ADMIN:-kcadmin} KEYCLOAK_ADMIN: ${KEYCLOAK_ADMIN:-kcadmin}

View File

@@ -9,7 +9,7 @@ services:
- "traefik.http.services.opencloud.loadbalancer.server.port=9200" - "traefik.http.services.opencloud.loadbalancer.server.port=9200"
- "traefik.http.routers.opencloud.${TRAEFIK_SERVICES_TLS_CONFIG}" - "traefik.http.routers.opencloud.${TRAEFIK_SERVICES_TLS_CONFIG}"
traefik: traefik:
image: traefik:v3 image: traefik:v3.6.7
# release notes: https://github.com/traefik/traefik/releases # release notes: https://github.com/traefik/traefik/releases
user: ${TRAEFIK_CONTAINER_UID_GID:-0:0} user: ${TRAEFIK_CONTAINER_UID_GID:-0:0}
networks: networks: