Docker Compose quickstart
import { Aside, Steps, Tabs, TabItem } from ‘@astrojs/starlight/components’;
The application repository contains the canonical Compose stack: ClickHouse, a one-shot schema service, PulsusDB in all mode, and an OpenTelemetry Collector.
-
Clone the application repository.
Terminal window git clone https://github.com/digitalis-io/pulsusdb.gitcd pulsusdb -
Create the Collector configuration used by
docker-compose.yaml.otel-config.yaml receivers:otlp:protocols:grpc:endpoint: 0.0.0.0:4317http:endpoint: 0.0.0.0:4318exporters:otlphttp/pulsusdb:endpoint: http://pulsusdb:3100service:pipelines:logs:receivers: [otlp]exporters: [otlphttp/pulsusdb]metrics:receivers: [otlp]exporters: [otlphttp/pulsusdb]traces:receivers: [otlp]exporters: [otlphttp/pulsusdb] -
Start the stack.
```sh docker compose up -d ``` ```sh podman-compose up -d ``` -
Check readiness.
Terminal window curl --fail http://localhost:3100/ready -
Send application telemetry to the Collector at
localhost:4317(gRPC) orlocalhost:4318(HTTP).
What the schema service does
Section titled “What the schema service does”The PulsusDB binary does not create its schema. The one-shot schema service runs schema/schema.sh with PULSUS_RETENTION_DAYS=7 before the API starts. The script builds the database from schema/schema.sql.
Useful endpoints
Section titled “Useful endpoints”| URL | Purpose |
|---|---|
http://localhost:3100/ready |
Dependency-aware readiness |
http://localhost:3100/metrics |
PulsusDB’s own Prometheus metrics |
http://localhost:3100/buildinfo |
Build information |
http://localhost:3100/config |
Effective non-secret configuration |
http://localhost:3100/admin/ |
Admin UI; change the default credentials before exposure |
Stop the stack
Section titled “Stop the stack”docker compose downAdd -v only when you also want to delete the ClickHouse volume and all stored telemetry.