Skip to main content
The ingester is a small, stateless service: it receives OTLP traces/metrics/logs and browser payloads, normalizes them, and writes ClickHouse. Captured errors use fingerprinting; diagnostic logs stay separate. You can use Autter’s hosted ingester, or run it yourself.

Autter cloud

Autter cloud hosts the ingester at otlp.autter.dev — the default endpoint for every SDK. No infrastructure to run.

Self-hosting on your own server

For a single small EC2 or Lightsail box running the ingester and ClickHouse together via Docker Compose, with Caddy handling HTTPS automatically — no VPC or ECS setup required — see deploy/single-server in the repo.

Self-hosting, bring-your-own-infra

A prebuilt multi-arch image is available — no clone needed:
For an AWS/ECS deployment runbook and scripts, see deploy/aws.

Local development

For local development with a bundled ClickHouse:
There’s no key step. The local Compose setup accepts the built-in key autter_rt_local_dev_only, but only from your own machine or private network. A deployed ingester never accepts it, so use a real key from Autter, or set AUTTER_INGEST_KEYS, for anything you deploy. Point your app at it and check the connection:
verify stops at the first step that fails (key, network, ingester, storage, auth, ingest, stored, trace, release, logs) and says what to do. Its test event never opens an issue. See Is my data arriving?. Or point any OpenTelemetry exporter at it:
Then trigger an error in your app and check that it was stored:

Upgrade for operation logs

Use ingester 1.4.0+ (compatibility table), which contains /v1/logs and migration 0011-runtime-logs. A latest image tag alone does not establish that the feature is available. The ingester applies the additive migration at startup; confirm it completed and the runtime_logs table exists before enabling SDK log export. Back up your database and follow your existing upgrade process. Update the ingester first, install a published Node/Next.js SDK release with the logging APIs and redeploy applications, then update platform consumers. Existing server ingest keys work; client/browser keys cannot send OTLP logs. Empty /v1/logs preflight success checks authentication, not successful writes. Verify stored messages and summaries separately from traces and metrics. Self-hosting the ingester stores telemetry; the Autter platform’s Logs view, operation evidence, analysis and fix worker require a matching platform deployment. Missing readers/storage are unavailable, not healthy empty data. Follow Operation logging for setup and verification.

Configuring keys

Configure ingest keys via the AUTTER_INGEST_KEYS environment variable (or point AUTTER_KEY_VALIDATOR_URL at your own key service). See Environment variables for the full reference, including how to generate a key and how server keys differ from client keys.

Environment variables

Full reference for configuring the ingester and the server SDK.