Skip to content

Commit e810152

Browse files
committed
feat: publish the HyperDX image as clickhouse/clickstack
Adds the ClickHouse-namespace name for the app image alongside hyperdx/hyperdx, matching the other clickstack-* images, so the Helm chart and docs can stop depending on the hyperdx Docker Hub namespace. Drops the ghcr.io logins from both release workflows (nothing has been pushed there since May 2025) and the packages: write permission they needed. Docs now point at docker.clickhouse.com for the images that already exist there.
1 parent cf988f7 commit e810152

8 files changed

Lines changed: 50 additions & 68 deletions

File tree

‎.changeset/clickstack-app-image.md‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
'@hyperdx/app': patch
3+
---
4+
5+
feat: publish the HyperDX image as `clickhouse/clickstack` alongside
6+
`hyperdx/hyperdx`, matching the other `clickhouse/clickstack-*` images. Release
7+
workflows no longer log into ghcr.io, which received no pushes.

‎.env‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
HDX_IMAGE_REPO=docker.hyperdx.io
33
CH_IMAGE_REPO=docker.clickhouse.com
44
IMAGE_NAME_DOCKERHUB=hyperdx/hyperdx
5+
NEXT_IMAGE_NAME_DOCKERHUB=clickhouse/clickstack
56
NEXT_LOCAL_IMAGE_NAME_DOCKERHUB=clickhouse/clickstack-local
67
LOCAL_IMAGE_NAME_DOCKERHUB=hyperdx/hyperdx-local
78
NEXT_ALL_IN_ONE_IMAGE_NAME_DOCKERHUB=clickhouse/clickstack-all-in-one

‎.github/workflows/release-nightly.yml‎

Lines changed: 8 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ concurrency:
99
cancel-in-progress: true
1010
permissions:
1111
contents: write
12-
packages: write
1312
pull-requests: write
1413
actions: read
1514
jobs:
@@ -39,12 +38,6 @@ jobs:
3938
with:
4039
username: ${{ secrets.DOCKER_HUB_USERNAME }}
4140
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
42-
- name: Login to GitHub Container Registry
43-
uses: docker/login-action@v3
44-
with:
45-
registry: ghcr.io
46-
username: ${{ github.actor }}
47-
password: ${{ secrets.GITHUB_TOKEN }}
4841
- name: Load Environment Variables from .env
4942
uses: xom9ikk/dotenv@v2
5043
- name: Build and Push
@@ -114,12 +107,6 @@ jobs:
114107
with:
115108
username: ${{ secrets.DOCKER_HUB_USERNAME }}
116109
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
117-
- name: Login to GitHub Container Registry
118-
uses: docker/login-action@v3
119-
with:
120-
registry: ghcr.io
121-
username: ${{ github.actor }}
122-
password: ${{ secrets.GITHUB_TOKEN }}
123110
- name: Load Environment Variables from .env
124111
uses: xom9ikk/dotenv@v2
125112
- name: Build and Push
@@ -136,6 +123,7 @@ jobs:
136123
CODE_VERSION=${{ env.IMAGE_NIGHTLY_TAG }}
137124
tags: |
138125
${{ env.IMAGE_NAME_DOCKERHUB }}:${{ env.IMAGE_NIGHTLY_TAG }}-${{ matrix.arch }}
126+
${{ env.NEXT_IMAGE_NAME_DOCKERHUB }}:${{ env.IMAGE_NIGHTLY_TAG }}-${{ matrix.arch }}
139127
push: true
140128
sbom: true
141129
provenance: true
@@ -158,14 +146,15 @@ jobs:
158146
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
159147
- name: Setup Docker Buildx
160148
uses: docker/setup-buildx-action@v3
161-
- name: Create multi-arch manifest
149+
- name: Create multi-arch manifests
162150
run: |
163151
TAG="${{ env.IMAGE_NIGHTLY_TAG }}"
164-
IMAGE="${{ env.IMAGE_NAME_DOCKERHUB }}"
165-
docker buildx imagetools create \
166-
-t "${IMAGE}:${TAG}" \
167-
"${IMAGE}:${TAG}-amd64" \
168-
"${IMAGE}:${TAG}-arm64"
152+
for IMAGE in "${{ env.IMAGE_NAME_DOCKERHUB }}" "${{ env.NEXT_IMAGE_NAME_DOCKERHUB }}"; do
153+
docker buildx imagetools create \
154+
-t "${IMAGE}:${TAG}" \
155+
"${IMAGE}:${TAG}-amd64" \
156+
"${IMAGE}:${TAG}-arm64"
157+
done
169158
170159
# ---------------------------------------------------------------------------
171160
# Local Nightly (all-in-one-noauth)
@@ -193,12 +182,6 @@ jobs:
193182
with:
194183
username: ${{ secrets.DOCKER_HUB_USERNAME }}
195184
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
196-
- name: Login to GitHub Container Registry
197-
uses: docker/login-action@v3
198-
with:
199-
registry: ghcr.io
200-
username: ${{ github.actor }}
201-
password: ${{ secrets.GITHUB_TOKEN }}
202185
- name: Load Environment Variables from .env
203186
uses: xom9ikk/dotenv@v2
204187
- name: Build and Push
@@ -276,12 +259,6 @@ jobs:
276259
with:
277260
username: ${{ secrets.DOCKER_HUB_USERNAME }}
278261
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
279-
- name: Login to GitHub Container Registry
280-
uses: docker/login-action@v3
281-
with:
282-
registry: ghcr.io
283-
username: ${{ github.actor }}
284-
password: ${{ secrets.GITHUB_TOKEN }}
285262
- name: Load Environment Variables from .env
286263
uses: xom9ikk/dotenv@v2
287264
- name: Build and Push

‎.github/workflows/release.yml‎

Lines changed: 10 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ on:
55
workflow_dispatch:
66
permissions:
77
contents: write
8-
packages: write
98
pull-requests: write
109
actions: read
1110
id-token: write
@@ -817,12 +816,6 @@ jobs:
817816
with:
818817
username: ${{ secrets.DOCKER_HUB_USERNAME }}
819818
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
820-
- name: Login to GitHub Container Registry
821-
uses: docker/login-action@v3
822-
with:
823-
registry: ghcr.io
824-
username: ${{ github.actor }}
825-
password: ${{ secrets.GITHUB_TOKEN }}
826819
- name: Load Environment Variables from .env
827820
uses: xom9ikk/dotenv@v2
828821
- name: Build and Push
@@ -897,12 +890,6 @@ jobs:
897890
with:
898891
username: ${{ secrets.DOCKER_HUB_USERNAME }}
899892
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
900-
- name: Login to GitHub Container Registry
901-
uses: docker/login-action@v3
902-
with:
903-
registry: ghcr.io
904-
username: ${{ github.actor }}
905-
password: ${{ secrets.GITHUB_TOKEN }}
906893
- name: Load Environment Variables from .env
907894
uses: xom9ikk/dotenv@v2
908895
- name: Build and Push
@@ -919,6 +906,7 @@ jobs:
919906
CODE_VERSION=${{ env.CODE_VERSION }}
920907
tags: |
921908
${{ env.IMAGE_NAME_DOCKERHUB }}:${{ env.IMAGE_VERSION }}${{ env.IMAGE_VERSION_SUB_TAG }}-${{ matrix.arch }}
909+
${{ env.NEXT_IMAGE_NAME_DOCKERHUB }}:${{ env.IMAGE_VERSION }}${{ env.IMAGE_VERSION_SUB_TAG }}-${{ matrix.arch }}
922910
push: true
923911
sbom: true
924912
provenance: true
@@ -943,18 +931,19 @@ jobs:
943931
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
944932
- name: Setup Docker Buildx
945933
uses: docker/setup-buildx-action@v3
946-
- name: Create multi-arch manifest
934+
- name: Create multi-arch manifests
947935
run: |
948936
VERSION="${{ env.IMAGE_VERSION }}${{ env.IMAGE_VERSION_SUB_TAG }}"
949937
MAJOR="${{ env.IMAGE_VERSION }}"
950938
LATEST="${{ env.IMAGE_LATEST_TAG }}"
951-
IMAGE="${{ env.IMAGE_NAME_DOCKERHUB }}"
952-
docker buildx imagetools create \
953-
-t "${IMAGE}:${VERSION}" \
954-
-t "${IMAGE}:${MAJOR}" \
955-
-t "${IMAGE}:${LATEST}" \
956-
"${IMAGE}:${VERSION}-amd64" \
957-
"${IMAGE}:${VERSION}-arm64"
939+
for IMAGE in "${{ env.IMAGE_NAME_DOCKERHUB }}" "${{ env.NEXT_IMAGE_NAME_DOCKERHUB }}"; do
940+
docker buildx imagetools create \
941+
-t "${IMAGE}:${VERSION}" \
942+
-t "${IMAGE}:${MAJOR}" \
943+
-t "${IMAGE}:${LATEST}" \
944+
"${IMAGE}:${VERSION}-amd64" \
945+
"${IMAGE}:${VERSION}-arm64"
946+
done
958947
959948
# ---------------------------------------------------------------------------
960949
# Local (all-in-one-noauth) – build each arch natively, then merge
@@ -984,12 +973,6 @@ jobs:
984973
with:
985974
username: ${{ secrets.DOCKER_HUB_USERNAME }}
986975
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
987-
- name: Login to GitHub Container Registry
988-
uses: docker/login-action@v3
989-
with:
990-
registry: ghcr.io
991-
username: ${{ github.actor }}
992-
password: ${{ secrets.GITHUB_TOKEN }}
993976
- name: Load Environment Variables from .env
994977
uses: xom9ikk/dotenv@v2
995978
- name: Build and Push
@@ -1096,12 +1079,6 @@ jobs:
10961079
with:
10971080
username: ${{ secrets.DOCKER_HUB_USERNAME }}
10981081
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
1099-
- name: Login to GitHub Container Registry
1100-
uses: docker/login-action@v3
1101-
with:
1102-
registry: ghcr.io
1103-
username: ${{ github.actor }}
1104-
password: ${{ secrets.GITHUB_TOKEN }}
11051082
- name: Load Environment Variables from .env
11061083
uses: xom9ikk/dotenv@v2
11071084
- name: Build and Push

‎DEPLOY.md‎

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,24 @@ HyperDX can be deployed in a few different ways:
1111
- [All-in-one Docker Compose Stack](#all-in-one-docker-compose-stack)
1212
- [Local Development Mode](#local-development-mode)
1313

14+
## Container image names
15+
16+
ClickStack images are published to Docker Hub under the `clickhouse` namespace
17+
and are also served from `docker.clickhouse.com`:
18+
19+
| Image | Name |
20+
| --------------------------- | -------------------------------------- |
21+
| HyperDX (UI + API) | `clickhouse/clickstack` |
22+
| All-in-one (with auth) | `clickhouse/clickstack-all-in-one` |
23+
| Local (all-in-one, no auth) | `clickhouse/clickstack-local` |
24+
| OpenTelemetry collector | `clickhouse/clickstack-otel-collector` |
25+
26+
The legacy `hyperdx/hyperdx`, `hyperdx/hyperdx-all-in-one`,
27+
`hyperdx/hyperdx-local` and `hyperdx/hyperdx-otel-collector` names (also served
28+
from `docker.hyperdx.io`) keep receiving the same tags for a transition period.
29+
Switch to the `clickhouse/clickstack-*` names now; the date the legacy names
30+
stop updating will be announced in the changelog.
31+
1432
## Bring Your Own ClickHouse
1533

1634
If you already have an existing ClickHouse cluster, you can simply deploy a
@@ -81,5 +99,5 @@ authentication or configuration persistence.
8199
To get started, spin up the local mode container:
82100

83101
```bash
84-
docker run -p 8080:8080 docker.hyperdx.io/hyperdx/hyperdx-local:2-beta
102+
docker run -p 8080:8080 docker.clickhouse.com/clickhouse/clickstack-local:2
85103
```

‎LOCAL.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ And it has all the features you would expect from HyperDX:
2222
To get started, simply run the Docker container with the appropriate ports forwarded:
2323

2424
```
25-
docker run -p 8000:8000 -p 4318:4318 -p 4317:4317 -p 8080:8080 -p 8002:8002 docker.hyperdx.io/hyperdx/hyperdx-local
25+
docker run -p 8000:8000 -p 4318:4318 -p 4317:4317 -p 8080:8080 -p 8002:8002 docker.clickhouse.com/clickhouse/clickstack-local
2626
```
2727

2828
Afterwards, you can visit `http://localhost:8080` and immediately jump into the HyperDX UI.
@@ -56,7 +56,7 @@ docker run \
5656
-p 4318:4318 -p 4317:4317 \
5757
-p $HYPERDX_APP_PORT:8080 \
5858
-p 8002:8002 \
59-
docker.hyperdx.io/hyperdx/hyperdx-local
59+
docker.clickhouse.com/clickhouse/clickstack-local
6060
```
6161

6262
## Open Source & Cloud Versions (Beyond Local)

‎Makefile‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,7 @@ build-app:
283283
--build-context app=./packages/app \
284284
--build-arg CODE_VERSION=${CODE_VERSION} \
285285
-t ${IMAGE_NAME_DOCKERHUB}:${IMAGE_VERSION}${IMAGE_VERSION_SUB_TAG} \
286+
-t ${NEXT_IMAGE_NAME_DOCKERHUB}:${IMAGE_VERSION}${IMAGE_VERSION_SUB_TAG} \
286287
--target prod
287288

288289
.PHONY: build-otel-collector-nightly
@@ -300,6 +301,7 @@ build-app-nightly:
300301
--build-context app=./packages/app \
301302
--build-arg CODE_VERSION=${CODE_VERSION} \
302303
-t ${IMAGE_NAME_DOCKERHUB}:${IMAGE_NIGHTLY_TAG} \
304+
-t ${NEXT_IMAGE_NAME_DOCKERHUB}:${IMAGE_NIGHTLY_TAG} \
303305
--target prod
304306

305307
.PHONY: build-local-nightly

‎README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ HyperDX can be deployed as part of ClickStack, which includes ClickHouse,
4949
HyperDX, OpenTelemetry Collector and MongoDB.
5050

5151
```bash
52-
docker run -p 8080:8080 -p 4317:4317 -p 4318:4318 docker.hyperdx.io/hyperdx/hyperdx-all-in-one
52+
docker run -p 8080:8080 -p 4317:4317 -p 4318:4318 docker.clickhouse.com/clickhouse/clickstack-all-in-one
5353
```
5454

5555
Afterwards, you can visit http://localhost:8080 to access the HyperDX UI.

0 commit comments

Comments
 (0)