Compare commits

..

29 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
Ralf Haferkamp
537de1a843 Fix bash default substitution
Closes: #165
2025-12-02 11:04:15 +01:00
9 changed files with 38 additions and 28 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
# 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
# External IDP
#COMPOSE_FILE=docker-compose.yml:weboffice/collabora.yml:traefik/opencloud.yml:traefik/collabora.yml:idm/external-idp.yml
## Traefik Settings ##
# 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
# keyFile: /certs/opencloud.test.key
# stores:
# default:
# defaultCertificate:
# certFile: /certs/opencloud.test.crt
# keyFile: /certs/opencloud.test.key
# - default
#
# 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.
#TRAEFIK_CERTS_DIR=./certs
# Enable the access log for Traefik by setting the following variable to true.
TRAEFIK_ACCESS_LOG=
# Configure the log level for Traefik.
@@ -83,7 +83,7 @@ TRAEFIK_LOG_LEVEL=
# For production releases: "opencloudeu/opencloud"
# For rolling releases: "opencloudeu/opencloud-rolling"
# Defaults to production if not set otherwise
OC_DOCKER_IMAGE=opencloudeu/opencloud
OC_DOCKER_IMAGE=opencloudeu/opencloud-rolling
# The openCloud container version.
# Defaults to "latest" and points to the latest stable tag.
OC_DOCKER_TAG=
@@ -124,17 +124,23 @@ LOG_LEVEL=
# This matches the default user inside the container and avoids permission issues when accessing files.
# Note that especially the data directory can grow big.
# Leaving it default stores data in docker internal volumes.
# OC_CONFIG_DIR=/your/local/opencloud/config
# OC_DATA_DIR=/your/local/opencloud/data
OC_CONFIG_DIR=
OC_DATA_DIR=
# OpenCloud Web can load extensions from a local 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.
#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.
# LDAP_CERTS_DIR=
# LDAP_DATA_DIR=
# Leaving it default stores data in docker internal volumes.
LDAP_CERTS_DIR=
LDAP_DATA_DIR=
# S3 Storage configuration - optional
# OpenCloud supports S3 storage as primary storage.
@@ -316,6 +322,9 @@ KEYCLOAK_DOMAIN=
KEYCLOAK_ADMIN=
# Admin user login password. Defaults to "admin".
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".
KC_DB_USERNAME=
# 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
stores:
- default
- certFile: /certs/wildcard.example.com.crt
keyFile: /certs/wildcard.example.com.key
stores:
- default
```
3. **Configure environment variables**:

View File

@@ -1,5 +1,8 @@
#!/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
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

View File

@@ -1,8 +1,7 @@
---
services:
opencloud:
# renovate: depName=opencloudeu/opencloud
image: ${OC_DOCKER_IMAGE:-opencloudeu/opencloud}:${OC_DOCKER_TAG:-4.0.7}
image: ${OC_DOCKER_IMAGE:-opencloudeu/opencloud-rolling}:${OC_DOCKER_TAG:-latest}
# changelog: https://github.com/opencloud-eu/opencloud/tree/main/changelog
# release notes: https://docs.opencloud.eu/opencloud_release_notes.html
user: ${OC_CONTAINER_UID_GID:-1000:1000}
@@ -47,13 +46,15 @@ services:
OC_PASSWORD_POLICY_BANNED_PASSWORDS_LIST: banned-password-list.txt
# 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_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_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_UPPERCASE_CHARACTERS: "${OC_PASSWORD_POLICY_MIN_UPPERCASE_CHARACTERS:-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}"
# default language for services/WebUI; defaults to English, language code (ISO 639-1, e.g. de, en, fr)
OC_DEFAULT_LANGUAGE: ${DEFAULT_LANGUAGE}
volumes:
- ./config/opencloud/csp.yaml:/etc/opencloud/csp.yaml
- ./config/opencloud/banned-password-list.txt:/etc/opencloud/banned-password-list.txt

View File

@@ -64,7 +64,7 @@ services:
restart: always
postgres:
image: postgres:17.7-alpine
image: postgres:17-alpine
networks:
opencloud-net:
volumes:
@@ -96,6 +96,7 @@ services:
KC_DB_USERNAME: ${KC_DB_USERNAME:-keycloak}
KC_DB_PASSWORD: ${KC_DB_PASSWORD:-keycloak}
KC_FEATURES: impersonation
KC_LOG_LEVEL: ${KC_LOG_LEVEL:-INFO}
KC_PROXY_HEADERS: xforwarded
KC_HTTP_ENABLED: true
KEYCLOAK_ADMIN: ${KEYCLOAK_ADMIN:-kcadmin}

View File

@@ -1,7 +1,7 @@
---
services:
tika:
image: ${TIKA_IMAGE:-apache/tika:3.2.3.0}
image: ${TIKA_IMAGE:-apache/tika:latest}
# Using the base variant for smaller image size and faster startup
# The base variant includes core functionality for text extraction
# Full variant is only needed for specialized OCR/image processing

View File

@@ -1,7 +1,7 @@
---
services:
postgres:
image: postgres:17.7-alpine
image: postgres:17-alpine
networks:
opencloud-net:
volumes:
@@ -32,6 +32,7 @@ services:
KC_DB_USERNAME: ${KC_DB_USERNAME:-keycloak}
KC_DB_PASSWORD: ${KC_DB_PASSWORD:-keycloak}
KC_FEATURES: impersonation
KC_LOG_LEVEL: ${KC_LOG_LEVEL:-INFO}
KC_PROXY_HEADERS: xforwarded
KC_HTTP_ENABLED: true
KEYCLOAK_ADMIN: ${KEYCLOAK_ADMIN:-kcadmin}

View File

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

View File

@@ -14,8 +14,7 @@ services:
GRAPH_AVAILABLE_ROLES: "b1e2218d-eef8-4d4c-b82d-0f1a1b48f3b5,a8d5fe5e-96e3-418d-825b-534dbdf22b99,fb6c3e19-e378-47e5-b277-9732f9de6e21,58c63c02-1d89-4572-916a-870abc5a1b7d,2d00ce52-1fc2-4dbc-8b95-a73b73395f5a,1c996275-f1c9-4e71-abdf-a42f6495e960,312c0871-5ef7-4b3a-85b6-0e4074c64049,aa97fe03-7980-45ac-9e50-b325749fd7e6"
collaboration:
# renovate: depName=opencloudeu/opencloud
image: ${OC_DOCKER_IMAGE:-opencloudeu/opencloud}:${OC_DOCKER_TAG:-4.0.7}
image: ${OC_DOCKER_IMAGE:-opencloudeu/opencloud-rolling}:${OC_DOCKER_TAG:-latest}
user: ${OC_CONTAINER_UID_GID:-1000:1000}
networks:
opencloud-net:
@@ -49,7 +48,7 @@ services:
restart: always
collabora:
image: collabora/code:25.04.10.3.1
image: collabora/code:25.04.7.1.1
# release notes: https://www.collaboraonline.com/release-notes/
networks:
opencloud-net:
@@ -62,7 +61,7 @@ services:
--o:ssl.termination=true \
--o:welcome.enable=false \
--o:net.frame_ancestors=${OC_DOMAIN:-cloud.opencloud.test}${TRAEFIK_PORT_HTTPS:+:}${TRAEFIK_PORT_HTTPS:-} \
--o:net.lok_allow.host[14]=${OC_DOMAIN-cloud.opencloud.test}${TRAEFIK_PORT_HTTPS:+:}${TRAEFIK_PORT_HTTPS:-} \
--o:net.lok_allow.host[14]=${OC_DOMAIN:-cloud.opencloud.test}${TRAEFIK_PORT_HTTPS:+:}${TRAEFIK_PORT_HTTPS:-} \
--o:home_mode.enable=${COLLABORA_HOME_MODE:-false}
username: ${COLLABORA_ADMIN_USER:-admin}
password: ${COLLABORA_ADMIN_PASSWORD:-admin}