Skip to content

docs: update Docker deployment docs for bridge networking migration#2963

Merged
imbajin merged 13 commits intoapache:masterfrom
bitflicker64:docs/docker-bridge-network
Mar 23, 2026
Merged

docs: update Docker deployment docs for bridge networking migration#2963
imbajin merged 13 commits intoapache:masterfrom
bitflicker64:docs/docker-bridge-network

Conversation

@bitflicker64
Copy link
Contributor

@bitflicker64 bitflicker64 commented Mar 7, 2026

Purpose of the PR

Update all Docker deployment documentation to reflect the bridge networking migration from PR #2952. The old docs referenced a dead directory, used wrong environment variable names, and had no guidance for Docker Desktop users on Mac/Windows.

Main Changes

  • Create docker/README.md (new file) — comprehensive setup guide covering single-node and 3-node cluster, full HG_* env var reference tables for PD/Store/Server, port reference, health verification commands, troubleshooting (OOM, Raft, partitions), and a note about the temporary entrypoint mount workaround until updated images are published
  • Fix hugegraph-store/docs/deployment-guide.md — replace Docker Compose section that used completely wrong env var names (GRPC_HOST, RAFT_ADDRESS, RAFT_PEERS, PD_ADDRESS, BACKEND, PD_PEERS) with correct HG_* names; also fix K8s manifest env var names
  • Fix 7 files pointing to dead hugegraph-server/hugegraph-dist/docker/example/ directory — update to point to docker/ with correct file names (docker-compose.yml, docker-compose-dev.yml, docker-compose-3pd-3store-3server.yml)
  • Add Docker bridge network notes to hugegraph-pd/docs/configuration.md, hugegraph-pd/README.md, hugegraph-pd/AGENTS.md — clarify that grpc.host accepts container hostnames in bridge mode via HG_PD_GRPC_HOST
  • Add distributed cluster section to hugegraph-server/hugegraph-dist/docker/README.md
  • Update docker run examples in hugegraph-pd/README.md and hugegraph-store/README.md to use correct HG_* env var names

- Create docker/README.md with full setup guide, env var reference,
  port table, health checks, and troubleshooting
- Fix hugegraph-store/docs/deployment-guide.md: replace wrong env vars
  (GRPC_HOST, RAFT_ADDRESS etc.) with correct HG_* names
- Update K8s manifest in deployment-guide.md to use HG_* env vars
- Fix 7 files pointing to dead docker/example/ directory
- Add Docker bridge network notes to PD configuration docs
- Add distributed cluster section to server Docker README

Relates to: apache#2952
The 3-node and single-node quickstart compose files currently mount
entrypoint scripts from source as a workaround until updated Docker
images are published with the new entrypoints baked in.

Add a clear note explaining this temporary requirement so users are
not confused about needing a full source clone to run the cluster.

Relates to: apache#2952
@imbajin imbajin requested a review from Copilot March 9, 2026 10:57
@imbajin imbajin changed the title Doc: update Docker deployment docs for bridge networking migration (#2952) docs: update Docker deployment docs for bridge networking migration Mar 9, 2026

This comment was marked as outdated.

This comment was marked as outdated.

This comment was marked as outdated.

This comment was marked as outdated.

@imbajin
Copy link
Member

imbajin commented Mar 22, 2026

TODOs:

@bitflicker64 bitflicker64 requested a review from Copilot March 22, 2026 10:04
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 11 out of 11 changed files in this pull request and generated 1 comment.

Comments suppressed due to low confidence (1)

README.md:181

  • The quick-start verification command uses curl http://localhost:8080/apis/version, but the server health/version endpoint in this repo is /versions (see VersionAPI and Docker healthchecks). Please update the README examples to use /versions so users don’t hit a 404 during verification.
# Start HugeGraph with Docker
docker run -itd --name=hugegraph -p 8080:8080 hugegraph/hugegraph:latest

# Verify server is running
curl http://localhost:8080/apis/version


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +30 to +44
### Option A: Quick Start (pre-built images)

Uses pre-built images from Docker Hub. Best for **end users** who want to run HugeGraph quickly.

```bash
cd docker
docker compose up -d
```

- Images: `hugegraph/pd:latest`, `hugegraph/store:latest`, `hugegraph/server:latest`
- `pull_policy: always` — always pulls the latest image
- PD healthcheck endpoint: `/v1/health`
- Single PD, single Store (`HG_PD_INITIAL_STORE_LIST: store:8500`), single Server
- Server healthcheck endpoint: `/versions`

Copy link

Copilot AI Mar 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In “Option A: Quick Start (pre-built images)”, the docs imply the compose file works purely from Docker Hub images, but docker/docker-compose.yml currently relies on volume-mounting the new docker-entrypoint.sh scripts from the repository (see the ../hugegraph-*/.../docker-entrypoint.sh mounts). Please document this temporary workaround and that users must run compose from a checked-out repo until the images ship the updated entrypoints (or update the compose/docs to not require host mounts).

Copilot uses AI. Check for mistakes.
@bitflicker64
Copy link
Contributor Author

  • image hugegraph/hugegraph should auto fwd to hugegraph/server if possible (same image?)

    • currently, hugegraph/hugegraph used for standalone mode and server image for the dist mode
  • server image publish action should be replaced by pd/store/server (We also lack the Release action/tag for dist mode now)

Just wanted to confirm my understanding ,it looks like publish_latest_server_image.yml builds from Dockerfile (standalone) and publishes to hugegraph/hugegraph, but there's no automated workflow for Dockerfile-hstore → hugegraph/server. Is the goal to add that missing workflow and potentially consolidate the two images down the line?

@imbajin
Copy link
Member

imbajin commented Mar 22, 2026

Just wanted to confirm my understanding ,it looks like publish_latest_server_image.yml builds from Dockerfile (standalone) and publishes to hugegraph/hugegraph, but there's no automated workflow for Dockerfile-hstore → hugegraph/server. Is the goal to add that missing workflow and potentially consolidate the two images down the line?

refer hugegraph/actions#16 & https://github.com/hugegraph/actions#core-design (I already refactored the ci flow), currently, we could build hugegraph/hugegraph & hugegraph/server + pd + store together
image

And also synced the latest & release ci flows (Update: already uploaded images like hugegraph/server:1.7.0, hugegraph/pd:1.7.0, hugegraph/store:1.7.0)

BTW, follow the ASF rules, we should use tag(1.x.x) rather than latest in doc by default (latest should be used in a test env)

@bitflicker64
Copy link
Contributor Author

And also synced the latest & release ci flows (Update: already uploaded images like hugegraph/server:1.7.0, hugegraph/pd:1.7.0, hugegraph/store:1.7.0)

BTW, follow the ASF rules, we should use tag(1.x.x) rather than latest in doc by default (latest should be used in a test env)

Thanks for the clarification! , I looked into the updated CI flow a bit and it makes sense now. I’ve aligned the docs with the current setup and switched to using the 1.7.0 tags.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 11 out of 11 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Member

@imbajin imbajin Mar 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe we should move related files out side of the legacy path (could do it in a separate PR)

BTW, a tracing system is important for the production env

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

got it, that makes sense , will keep this PR focused and handle those separately.

Copy link
Contributor

@VGalaxies VGalaxies left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple of doc consistency issues still look open to me before I’d approve:

  1. The top-level README quick-start verification still uses curl http://localhost:8080/apis/version, but the actual endpoint is /versions, and the expected response shape there should be updated as well.
  2. hugegraph-store/docs/deployment-guide.md still has a leftover hugegraph/hugegraph-store:1.7.0 image reference, while the rest of the updated Docker docs use hugegraph/store:1.7.0.
  3. A few distributed compose examples still run without HUGEGRAPH_VERSION=1.7.0, so they still resolve to latest as written even though the docs now say release tags should be the default.

Once those are aligned, this looks close.

Documentation updates across README files to standardize Docker examples and reflect API changes. Replaced /apis/version with /versions and updated the example JSON response;

prefixed docker compose invocations with HUGEGRAPH_VERSION=1.7.0; normalized image names/tags (e.g. hugegraph/pd:latest, hugegraph/hugegraph:1.7.0, hugegraph/store:1.7.0) and fixed build/run examples; clarified PRELOAD and OpenTelemetry wording; removed an outdated bridge networking note and made various wording/formatting improvements in multiple README files and the store deployment guide.
@imbajin
Copy link
Member

imbajin commented Mar 23, 2026

Unify some desc & address comments in ea84dad

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 11 out of 11 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@bitflicker64
Copy link
Contributor Author

bitflicker64 commented Mar 23, 2026

Unify some desc & address comments in ea84dad

Thanks for the cleanup! Let me know if there's anything else to address.

Copy link
Member

@imbajin imbajin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Merge it first, we could enhance some desc later (like ↓)

image

and also the Linux machine doesn't need 12G RAM (only 3+3+3 dist mode may need more memory to preserve)
image

@imbajin imbajin merged commit 9126c80 into apache:master Mar 23, 2026
13 checks passed
@bitflicker64
Copy link
Contributor Author

Merge it first, we could enhance some desc later (like ↓)

and also the Linux machine doesn't need 12G RAM (only 3+3+3 dist mode may need more memory to preserve)

Thanks for merging! Will clean up the duplicate links in README.md and clarify the 12 GB note (Linux native Docker doesn't need it, only the 3+3+3 distributed mode does) in a follow-up PR Later

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.

4 participants