Compare commits

...

4 Commits

Author SHA1 Message Date
Michael Barz
913920dd33 Merge pull request #312 from opencloud-eu/fix-collabora-healthcheck
fix: collabora healthcheck without curl
2026-06-19 12:19:36 +02:00
Michael Barz
792bcd336e Merge pull request #196 from maybenotconnor/feat/configurable-proxy-role-assignment-driver
make PROXY_ROLE_ASSIGNMENT_DRIVER configurable
2026-06-19 10:43:18 +02:00
Connor
73b02b77d8 feat: make role assignment settings configurable
Allow PROXY_ROLE_ASSIGNMENT_DRIVER and GRAPH_ASSIGN_DEFAULT_USER_ROLE
   to be set via environment variables in .env file.

   - PROXY_ROLE_ASSIGNMENT_DRIVER defaults to oidc
   - GRAPH_ASSIGN_DEFAULT_USER_ROLE defaults to false

   When using PROXY_ROLE_ASSIGNMENT_DRIVER=default, set
   GRAPH_ASSIGN_DEFAULT_USER_ROLE=true to assign the 'user' role
   to new users.
2026-06-19 10:42:34 +02:00
Michael Barz
4d3e787e2d fix: collabora healthcheck without curl 2026-06-19 09:36:25 +02:00
3 changed files with 17 additions and 3 deletions

View File

@@ -323,6 +323,14 @@ LDAP_BIND_PASSWORD=
## Autoprovisioning Mode ##
# Use together with idm/external-idp.yml
# Role assignment driver for the proxy. Defaults to "oidc".
# Possible values: "oidc", "default"
# When set to "oidc", roles are assigned based on OIDC claims.
# When set to "default", all users get the 'user' role assigned.
PROXY_ROLE_ASSIGNMENT_DRIVER=
# Assign the default 'user' role to new users. Defaults to "false".
# Set to "true" when using PROXY_ROLE_ASSIGNMENT_DRIVER=default
GRAPH_ASSIGN_DEFAULT_USER_ROLE=
# If you want to use a keycloak for local testing, you can use testing/external-keycloak.yml and testing/ldap-manager.yml
# Domain of your Identity Provider.
IDP_DOMAIN=

View File

@@ -25,7 +25,7 @@ services:
WEBFINGER_IOS_OIDC_CLIENT_SCOPES: ${WEBFINGER_IOS_OIDC_CLIENT_SCOPES}
WEBFINGER_DESKTOP_OIDC_CLIENT_ID: ${WEBFINGER_DESKTOP_OIDC_CLIENT_ID}
WEBFINGER_DESKTOP_OIDC_CLIENT_SCOPES: ${WEBFINGER_DESKTOP_OIDC_CLIENT_SCOPES}
PROXY_ROLE_ASSIGNMENT_DRIVER: "oidc"
PROXY_ROLE_ASSIGNMENT_DRIVER: ${PROXY_ROLE_ASSIGNMENT_DRIVER:-oidc}
OC_OIDC_ISSUER: ${IDP_ISSUER_URL:-https://keycloak.opencloud.test/realms/openCloud}
# This specifies to start all services except idm and idp. These are replaced by external services.
OC_EXCLUDE_RUN_SERVICES: idm,idp
@@ -47,7 +47,7 @@ services:
OC_LDAP_DISABLE_USER_MECHANISM: "attribute"
OC_ADMIN_USER_ID: ""
SETTINGS_SETUP_DEFAULT_ASSIGNMENTS: "false"
GRAPH_ASSIGN_DEFAULT_USER_ROLE: "false"
GRAPH_ASSIGN_DEFAULT_USER_ROLE: ${GRAPH_ASSIGN_DEFAULT_USER_ROLE:-false}
GRAPH_USERNAME_MATCH: "none"
# We need to set the IDP_DOMAIN to allow the CSP rules to be set correctly
IDP_DOMAIN: ${IDP_DOMAIN:-keycloak.opencloud.test}

View File

@@ -83,7 +83,13 @@ services:
entrypoint: [ '/bin/bash', '-c' ]
command: [ 'coolconfig generate-proof-key && /start-collabora-online.sh' ]
healthcheck:
test: [ "CMD", "curl", "-f", "http://localhost:9980/hosting/discovery" ]
test:
[
"CMD",
"bash",
"-c",
"exec 3<>/dev/tcp/127.0.0.1/9980 && printf 'GET /hosting/discovery HTTP/1.1\r\nHost: localhost\r\nConnection: close\r\n\r\n' >&3 && cat <&3 | head -1 | grep -q '200 OK'"
]
interval: 15s
timeout: 10s
retries: 5