Self-hosted event collection.
Single binary. Zero dependencies.

Your data, your infrastructure. One Go binary collects events from Snowplow trackers, webhooks, and tracking pixels — then delivers them to your warehouse.

docker pull ghcr.io/deepskydatahq/straumheim:latest

Everything you need, nothing you don't

Single Binary

One Go binary, one YAML config. Deploy with docker run. No Kafka, no Redis, no queues.

Multi-Protocol

Snowplow trackers, webhooks, and tracking pixels. One collector for all your event sources.

Zero Dependencies

No infrastructure requirements beyond the binary itself. Runs on a $5/month VPS with unlimited events.

Warehouse Delivery

Batch delivery to Postgres (COPY), ClickHouse (HTTP), JSONL files. Auto-schema evolution.

From zero to collecting events in minutes

1

Install

terminal
$ docker pull ghcr.io/deepskydatahq/straumheim:latest
2

Configure

config.yaml
server:
  port: 8080

inputs:
  webhook:
    enabled: true
    path: /webhook

sinks:
  postgres:
    enabled: true
    connection_string: postgres://localhost:5432/events
    table: events
    batch_size: 1000
3

Collect events

terminal
$ curl -X POST http://localhost:8080/webhook \
    -H "Content-Type: application/json" \
    -d '{"event": "signup", "user_id": "abc123"}'

{"status":"ok","events_received":1}
4

Query your data

psql
SELECT id, protocol, payload FROM events;

       id       | protocol |              payload
----------------+----------+-----------------------------------
 ev_1a2b3c4d   | webhook  | {"event":"signup","user_id":"abc123"}
(1 row)

How Straumheim compares

Segment Snowplow OSS Straumheim
Cost $120/mo for 10K MTU Free (self-hosted) Free (self-hosted)
Infrastructure Managed (vendor) Kafka/Kinesis + Spark/Beam Single binary
Setup time Minutes Days/weeks Minutes
Data ownership Third-party servers Your infrastructure Your infrastructure
Tracker support Segment SDKs only Snowplow SDKs Snowplow SDKs + webhooks + pixels
Destinations Limited free, paid add-ons S3/GCS/Redshift Postgres, ClickHouse, JSONL, stdout