Skip to content

fix(compose): bind Keycloak to loopback + harden probe - #303

Merged
telivity-otaip merged 1 commit into
mainfrom
cursor/keycloak-loopback-50f4
Aug 11, 2026
Merged

fix(compose): bind Keycloak to loopback + harden probe#303
telivity-otaip merged 1 commit into
mainfrom
cursor/keycloak-loopback-50f4

Conversation

@telivity-otaip

@telivity-otaip telivity-otaip commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

Summary

Follow-up to #300 by @modernitconsultants , who correctly left Keycloak alone in that PR because the auth profile may be used remotely, while calling out the same exposure shape: Docker published ports bypass host firewalls, and Keycloak ships with KEYCLOAK_ADMIN=admin / KEYCLOAK_ADMIN_PASSWORD=admin.

This PR closes that gap:

  1. Bind Keycloak in docker-compose.yml to 127.0.0.1:8080:8080.
  2. Extend compose:datastores-loopback in ops/harden/cli/probes/local.mjs to also flag Keycloak :8080 on all interfaces.

Local Keycloak, dashboard, and booking auth (via localhost:8080) are unchanged. Anyone who relied on reaching Keycloak from another host must use a tunnel or an explicit publish override.

Credit for identifying the issue goes to Charles (#300).

Test plan

  • Confirm docker-compose.yml Keycloak ports line is 127.0.0.1:8080:8080
  • Confirm harden probe lists keycloak/8080 and fails on all-interfaces / passes on loopback
  • Local auth profile still reaches Keycloak at http://localhost:8080
Open in Web Open in Cursor 

Follow-up to #300: same Docker publish / default-credential exposure
shape Charles flagged for Keycloak :8080. Localhost Keycloak and the
dashboard auth profile still work; remote access needs a tunnel or an
explicit override.

Co-authored-by: telivity-otaip <telivity-otaip@users.noreply.github.com>
@telivity-otaip
telivity-otaip marked this pull request as ready for review August 11, 2026 19:03
@telivity-otaip
telivity-otaip merged commit 7c97eee into main Aug 11, 2026
5 checks passed
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.

2 participants