Skip to content

Conversation

@aleksa-radojicic
Copy link
Contributor

Summary

Added healthchecks for all services (collabora already had one). Timing values for healthchecks may be adjusted.

Other changes

  • Keycloak environment variable renamings due to deprecation and naming inconsistencies.
  • Security improvement (use postgres user in postgres service).
  • Documentation update for rootless Docker setup.

Breaking changes

Involves renaming the following environment variables:

  • KEYCLOAK_ADMIN → KC_BOOTSTRAP_ADMIN_USERNAME
  • KEYCLOAK_ADMIN_PASSWORD → KC_BOOTSTRAP_ADMIN_PASSWORD
  • KEYCLOAK_DOMAIN → KC_DOMAIN

…YCLOAK_ADMIN_PASSWORD

Use env vars KC_BOOTSTRAP_ADMIN_USERNAME and KC_BOOTSTRAP_ADMIN_PASSWORD respectively.

BREAKING CHANGE: Rename environment variables KEYCLOAK_ADMIN to KC_BOOTSTRAP_ADMIN_USERNAME and KEYCLOAK_ADMIN_PASSWORD to KC_BOOTSTRAP_ADMIN_PASSWORD.
…consistency

Follows the same naming convention as the official Keycloak environment variables, beginning with 'KC' prefix.

BREAKING CHANGE: Rename environment variable KEYCLOAK_ADMIN to KC_DOMAIN.
When Docker is running in rootless mode DOCKER_SOCKET_PATH needs to be changed to "/run/user/1000/docker.sock".
When Keycloak container is restarted this line will produce an error in logs which is harmless, but unnecessary.
Added healthchecks for all services (`collabora` already had one):
* `collaboration`
* `keycloak`
* `ldap-manager`
* `ldap-server`
* `opencloud`
* `postgres`
* `radicale`
* `tika`
* `traefik`

Keycloak and Tika probes use `/dev/tcp/` to send a GET request because `curl` / `wget` are not available in the image.

`opencloud` healthcheck could alternatively use `wget or `/dev/tcp` via `bash`; keeping all three approaches is unnecessary.
Add frontend login-route healthcheck for `ldap-manager`, because the base image [dunglas/frankenphp:php8.4-alpine](https://github.com/php/frankenphp/blob/ddb11c1f72f5765d4eacae200ba5b1b8267b4dbe/Dockerfile) comes with backend-only healthcheck.

NOTE: `/dev/tcp` is the leanest and least-bloated approach for healthchecking because it requires only a `bash` shell and no extra binaries, so it avoids increasing image size.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant