All in one
This comprehensive Docker image bundles all ClickStack components:
- ClickHouse
- HyperDX
- OpenTelemetry (OTel) Collector (exposing OTLP on ports
4317
and4318
) - MongoDB (for persistent application state)
This option includes authentication, enabling persistence of dashboards, alerts, and saved searches across sessions and users.
Suitable for
- Demos
- Local testing of the full stack
Deployment steps
Deploy with Docker
The following will run an OpenTelemetry collector (on port 4317 and 4318), Clickhouse (on port 8123), and the HyperDX UI (on port 8080).
Navigate to the HyperDX UI
Visit http://localhost:8080 to access the HyperDX UI.
Create a user, providing a username and password which means the requirements.
On clicking Register
you'll be prompted for connection details.
Complete connection details
To use the in-built ClickHouse instance, simply click Create and accept the default settings.
If you prefer to connect to your own external ClickHouse cluster e.g. ClickHouse Cloud, you can manually enter your connection credentials.
If prompted to create a source, retain all default values and complete the Table
field with the value otel_logs
. All other settings should be auto-detected, allowing you to click Save New Source
.
Deploying to production
This option should not be deployed to production for the following reasons:
- Non-persistent storage: All data is stored using Docker's native overlay filesystem. This setup does not support performance at scale and data will be lost if the container is removed or restarted.
- Lack of component isolation: All components run within a single Docker container. This prevents independent scaling and monitoring, and applies any cgroup limits globally to all processes. As a result, components may compete for CPU and memory,
Customizing Ports
If you need to customize the app (8080) or api (8000) ports that HyperDX Local runs on, you'll need to modify the docker run
command to forward the appropriate ports and set a few environment variables.
Customizing the OpenTelemetry ports can simply be changed by modifying the port forwarding flags. Ex. Replacing -p 4318:4318
with -p 4999:4318
to change the OpenTelemetry HTTP port to 4999.
Using ClickHouse Cloud
This distribution can be used with ClickHouse Cloud. While the local ClickHouse instance will still be deployed (and ignored), the OTel collector can be configured to use a ClickHouse Cloud instance by setting the environment variables CLICKHOUSE_SERVER_ENDPOINT
, CLICKHOUSE_USER
and CLICKHOUSE_PASSWORD
.
For example:
The CLICKHOUSE_SERVER_ENDPOINT
should be the ClickHouse Cloud HTTPS endpoint, including the port 8443
e.g. https://mxl4k3ul6a.us-east-2.aws.clickhouse.com:8443
On connecting to the HyperDX UI and creating a connection to ClickHouse, use your Cloud credentials.