Skip to content

Fix docker-compose quickstart for Horizon UI and OAP healthcheck#13899

Open
wu-sheng wants to merge 2 commits into
masterfrom
fix-docker-compose-horizon-quickstart
Open

Fix docker-compose quickstart for Horizon UI and OAP healthcheck#13899
wu-sheng wants to merge 2 commits into
masterfrom
fix-docker-compose-horizon-quickstart

Conversation

@wu-sheng

@wu-sheng wu-sheng commented Jun 8, 2026

Copy link
Copy Markdown
Member

Fix docker-compose quickstart issues reported in #13896

The docker-compose quickstart had three problems that surfaced when a user tried the Horizon UI with a mounted horizon.yaml:

  1. OAP healthcheck used curl, which isn't present in the eclipse-temurin JRE image — the healthcheck never ran. Replaced with bash's built-in /dev/tcp port probe (no extra binary), and widened start_period to 90s so BanyanDB schema install during boot doesn't consume the retry budget.
  2. Horizon UI port mapping was wrong — Horizon listens on 8081 inside the container, but compose mapped 8080:8080. Fixed to 8080:8081.
  3. Horizon backend wiring used non-existent env vars (SW_OAP_ADDRESS / SW_ADMIN_ADDRESS / SW_ZIPKIN_ADDRESS). The image reads OAP URLs and login users only from its config file. Now mounts a new docker/horizon.yaml with server.host: 0.0.0.0 (the upstream example ships 127.0.0.1, which binds container-loopback only and 503s from the host — the original report), OAP query/admin/zipkin URLs pointed at the compose oap service, and a demo admin/admin local login.

Addresses apache/skywalking discussion #13896:

- OAP healthcheck used `curl http://localhost:12800/internal/l7check`, but
  the eclipse-temurin JRE image ships no curl/wget/nc. Probe the query port
  with bash's built-in /dev/tcp instead, and widen start_period to 90s so
  BanyanDB schema install doesn't burn the retry budget.
- Horizon UI listens on 8081 inside the container, not 8080; fix the port
  mapping (8080:8081).
- The Horizon image takes its OAP URLs and login users ONLY from a mounted
  config file, not env vars. Drop the non-existent SW_OAP_ADDRESS /
  SW_ADMIN_ADDRESS / SW_ZIPKIN_ADDRESS vars and mount docker/horizon.yaml.
- New docker/horizon.yaml: server.host 0.0.0.0 (the example config ships
  127.0.0.1, which binds container-loopback only and 503s from the host),
  oap query/admin/zipkin URLs pointed at the compose `oap` service, and a
  demo admin/admin local login.
@wu-sheng wu-sheng added the docker Docker build scripts or images related label Jun 8, 2026
@wu-sheng wu-sheng added this to the 11.0.0 milestone Jun 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docker Docker build scripts or images related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant