> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-trino-dialect.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Getting started with ClickStack Open Source

> Run ClickStack Open Source locally, send test data, and confirm that ingestion works

export const Image = ({img, alt, size = "lg", background}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  const backgroundColor = background === "white" ? "white" : background === "black" ? "rgb(31 31 28)" : undefined;
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} style={{
    backgroundColor
  }} />
      </Frame>
    </div>;
};

Run ClickStack Open Source locally, send a test event through its OpenTelemetry Collector, and confirm that the event is available in the ClickStack UI.

With ClickStack Open Source, you run and manage the ClickHouse backend, ClickStack UI, and ingestion pipeline. The all-in-one image bundles these components with MongoDB in a single Docker container for local evaluation and testing.

<Tip>
  A managed version of ClickStack is also available — see [Managed ClickStack](/clickstack/getting-started/managed).
</Tip>

The steps below use the authenticated all-in-one image. If you want a local UI without creating an account, follow the [local mode with Docker walkthrough](/clickstack/deployment/local-mode-only) instead.

<h2 id="before-you-begin">
  Before you begin
</h2>

Install [Docker](https://docs.docker.com/get-docker/) and confirm that the following ports are available:

* `8080` for the ClickStack UI
* `4317` for OTLP over gRPC
* `4318` for OTLP over HTTP
* `8123` for the ClickHouse HTTP interface

For sustained or production workloads, review [Open source deployment options](/clickstack/deployment/oss) and [Going to production](/clickstack/managing/production).

<h2 id="set-up-clickstack-open-source">
  Set up ClickStack Open Source with the all-in-one image
</h2>

<Steps titleSize="h3">
  <Step title="Start ClickStack" id="deploy-stack-with-docker">
    Run the all-in-one image:

    ```shell theme={null}
    docker run \
      --name clickstack \
      -p 8123:8123 \
      -p 8080:8080 \
      -p 4317:4317 \
      -p 4318:4318 \
      clickhouse/clickstack-all-in-one:latest
    ```

    The container runs in the foreground. Leave this terminal open and use a second terminal for the remaining commands in this guide.

    <Accordion title="Persist data and settings">
      To retain ClickStack settings, ClickHouse data, and ClickHouse logs after removing the container, run the following command instead:

      ```shell theme={null}
      docker run \
        --name clickstack \
        -p 8123:8123 \
        -p 8080:8080 \
        -p 4317:4317 \
        -p 4318:4318 \
        -v "$(pwd)/.volumes/db:/data/db" \
        -v "$(pwd)/.volumes/ch_data:/var/lib/clickhouse" \
        -v "$(pwd)/.volumes/ch_logs:/var/log/clickhouse-server" \
        clickhouse/clickstack-all-in-one:latest
      ```

      `$(pwd)` resolves to your current directory. This command stores the persistent files in a `.volumes` directory at that location.
    </Accordion>
  </Step>

  <Step title="Open ClickStack" id="navigate-to-hyperdx-ui">
    After ClickStack starts, open [http://localhost:8080](http://localhost:8080) and create an account.

    ClickStack automatically connects to the bundled ClickHouse instance and creates data sources for logs, traces, metrics, and sessions.

    <h4 id="copy-ingestion-api-key">
      Copy the ingestion API key
    </h4>

    In the **Get Started** section of the left menu, select **Add Data**, then copy the **Ingestion API Key**. Telemetry sent to the bundled OpenTelemetry Collector must include this key in the `authorization` header.
  </Step>

  <Step title="Send test data" id="send-test-data">
    In the second terminal, export the ingestion API key:

    ```shell theme={null}
    export CLICKSTACK_API_KEY=<your_ingestion_api_key>
    ```

    Send an OTLP log with the current timestamp:

    ```shell theme={null}
    NOW_NANO="$(date +%s)000000000"

    curl -i "http://localhost:4318/v1/logs" \
      -H "Content-Type: application/json" \
      -H "authorization: ${CLICKSTACK_API_KEY}" \
      --data-binary @- <<EOF
    {
      "resourceLogs": [{
        "resource": {
          "attributes": [{
            "key": "service.name",
            "value": {"stringValue": "clickstack-docs-test"}
          }]
        },
        "scopeLogs": [{
          "scope": {"name": "clickstack-docs-test"},
          "logRecords": [{
            "timeUnixNano": "${NOW_NANO}",
            "severityText": "INFO",
            "body": {"stringValue": "ClickStack ingestion test"}
          }]
        }]
      }]
    }
    EOF
    ```

    A successful request returns `HTTP/1.1 200 OK`.
  </Step>

  <Step title="Confirm ingestion" id="confirm-ingestion">
    Open the **Search** view in ClickStack and search for `ClickStack ingestion test`.

    The result should include the test event with the `clickstack-docs-test` service name.

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/yEEl6qs9WF6UaX4A/images/clickstack/getting-started/clickstack_ingestion_test_oss.webp?fit=max&auto=format&n=yEEl6qs9WF6UaX4A&q=85&s=daa25e27c8b338c09905261a30c78b4a" size="lg" alt="ClickStack Open Source logs view showing the ClickStack ingestion test event" border width="3838" height="1984" data-path="images/clickstack/getting-started/clickstack_ingestion_test_oss.webp" />
  </Step>
</Steps>

You now have a local ClickStack instance, a working ingestion endpoint, and a test event that you can inspect in ClickStack.

<h2 id="next-steps">
  Next steps
</h2>

<h3 id="send-application-and-infrastructure-data">
  Send application and infrastructure data
</h3>

Choose a guide for the data that you want to send to ClickStack:

<CardGroup cols={2}>
  <Card title="Instrument an application" icon="code" href="/clickstack/ingesting-data/sdks/index">
    Send application traces and logs with a supported OpenTelemetry SDK.
  </Card>

  <Card title="Collect host logs" icon="server" href="/clickstack/integration-examples/host-logs">
    Forward host logs from an OpenTelemetry Collector running in the agent role.
  </Card>

  <Card title="Monitor Kubernetes" icon="cubes" href="/clickstack/integration-examples/kubernetes">
    Collect logs, metrics, and traces from a Kubernetes cluster.
  </Card>

  <Card title="Explore other integrations" icon="plug" href="/clickstack/integration-examples/index">
    Find guides for additional applications and telemetry sources.
  </Card>
</CardGroup>

<h3 id="explore-sample-data">
  Explore sample data
</h3>

Use a sample dataset to explore ClickStack with richer telemetry:

<CardGroup cols={2}>
  <Card title="Sample logs, traces, and metrics" href="/clickstack/example-datasets/sample-data">
    <img src="https://mintcdn.com/private-7c7dfe99-trino-dialect/yEEl6qs9WF6UaX4A/images/clickstack/example-trace-dashboard.webp?fit=max&auto=format&n=yEEl6qs9WF6UaX4A&q=85&s=36ac72137ebd6b3678c20d365fb2f6d6" alt="" width="1919" height="969" data-path="images/clickstack/example-trace-dashboard.webp" />

    Load data from the public demo and diagnose an issue.
  </Card>

  <Card title="Local logs and metrics" href="/clickstack/example-datasets/local-data">
    <img src="https://mintcdn.com/private-7c7dfe99-trino-dialect/V_i7rF59rG-XogPH/images/clickstack/host-logs/host-logs-dashboard.webp?fit=max&auto=format&n=V_i7rF59rG-XogPH&q=85&s=afeba8a19ad65ebb99f39c7308b2ac04" alt="" width="3808" height="1908" data-path="images/clickstack/host-logs/host-logs-dashboard.webp" />

    Collect local files and system metrics on macOS or Linux.
  </Card>
</CardGroup>

To explore preloaded data without installing Docker, use the [hosted ClickStack demo](/clickstack/example-datasets/remote-demo-data).

<h3 id="generate-synthetic-data">
  Generate synthetic data
</h3>

Use a generator to test ingestion without an existing application or dataset:

<CardGroup cols={2}>
  <Card title="Generate data with otelgen" icon="terminal" href="/clickstack/example-datasets/otelgen">
    Send a short burst of synthetic OTLP logs, traces, and metrics.
  </Card>

  <Card title="Generate data with telemetrygen" icon="terminal" href="/clickstack/example-datasets/telemetrygen">
    Generate configurable OpenTelemetry signals across several services.
  </Card>
</CardGroup>

See [all ClickStack sample data and demos](/clickstack/example-datasets/index).

<h3 id="prepare-for-production">
  Prepare for production
</h3>

Review deployment and production guidance before using ClickStack for sustained workloads:

<CardGroup cols={2}>
  <Card title="Going to production" icon="shield" href="/clickstack/managing/production">
    Review ingestion credentials, security, retention, and operational guidance.
  </Card>

  <Card title="Choose a deployment model" icon="server" href="/clickstack/deployment/oss">
    Compare open source deployment options for your environment.
  </Card>
</CardGroup>
