Skip to content

feat(compose): reach the shaide server at http://shaide-server like on k8s (SHD-1088) - #37

Merged
janosmurai merged 2 commits into
mainfrom
SHD-1088/compose-shaide-server-url
Oct 20, 2026
Merged

janosmurai merged 2 commits into
mainfrom
SHD-1088/compose-shaide-server-url

Conversation

@janosmurai

@janosmurai janosmurai commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Type of change

  • New feature
  • Bug fix
  • Breaking change
  • Refactoring or maintenance
  • Documentation update

Related issue

Closes SHD-1088

Part of SHD-1086, which adds SHAIDE_SERVER_URL to the webapp.

Description

To keep compose as close to the k8s deployment as possible, the containers now reach the server at the same address as on k8s, http://shaide-server:

  • Service renamed shaide_server -> shaide-server, since k8s Service names can't contain _. It was the only compose service with an underscore. Updated in compose.yaml, compose.kc.yaml, the KC notifications Caddyfile, the platform-discovery test stack and the justfile.
  • Port 80 inside the network, like the k8s Service: the containerized server listens on port 80. Containers can bind it without extra capabilities, including under the KC overlay's cap_drop: [ALL].
  • SHAIDE_SERVER_FQDN and SHAIDE_SERVER_PORT mean what they mean on k8s: where the other containers reach the server. They default to shaide-server and 80, the values the installer gives the control panel.
  • New SHAIDE_SERVER_HOST_PORT (default 8080) is the port the server is published on the host.
Mode Webapp SHAIDE_SERVER_URL Control panel
just stack app (containerized server) http://shaide-server shaide-server:80
just dev app (native server) http://host.docker.internal:8080 host.docker.internal:8080

The webapp service also gets the host.docker.internal:host-gateway entry the control panel already has, so the native mode resolves.

Validation

  • cargo fmt --check
  • cargo clippy --all-targets --all-features -- -D warnings
  • cargo build --verbose --all-features
  • cargo test --verbose --all-features
  • Relevant Docker, service-integration, or documentation checks

Additional validation details:

  • Only compose files, scripts and docs changed. The Rust checks above pass on the branch rebased onto current main (200 tests, 1 ignored).
  • docker compose config resolves the addresses in the table above in both modes.
  • test/kc-compose passes (27 tests). I added assertions that KC reaches the server at http://shaide-server and that the server's container port is 80.
  • docker compose config accepts test/platform-discovery/compose.yaml.
  • I ran the stack (server and app profiles) under a separate project name. The server logged Listening at http://0.0.0.0:80. Sign-in returned 200 from the host on the published port, from the webapp container at http://shaide-server and from the control-panel container at shaide-server:80.

Deployment and compatibility

Local compose only. No server, API or database changes.

For existing local setups:

  • If you publish the server on a port other than 8080, set SHAIDE_SERVER_HOST_PORT instead of SHAIDE_SERVER_PORT. The KC operator guide is updated.
  • A stack started before this change still has a shaide_server container. just services-up and just stack remove it with --remove-orphans; with plain compose, run docker compose --profile '*' down --remove-orphans once.

Documentation

The README's Docker compose section explains the addresses and variables. The compose comments, the KC operator guide and the platform-discovery README are updated.

Checklist

  • I added or updated tests for changed behavior, or explained why tests are not needed.
  • I updated user-facing and API documentation where necessary.
  • My commits follow the Conventional Commits specification.
  • Every commit includes a Signed-off-by trailer (git commit -s).

AI assistance:

  • Tool: Claude Code
  • Model: Claude Opus 5.5
  • Used for: compose changes, contract test assertions and this description
  • Human verification: done

Signed-off-by: janosmurai <janos.murai@axem.dev>
…8s (SHD-1088)

Signed-off-by: janosmurai <janos.murai@axem.dev>
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