Quickstart: Docker
The whole DFE stack under Docker Compose on one host: a laptop, a demo box or a proof of concept. It runs the same images as a Kubernetes deployment, just packaged differently.
You need Docker Engine 26.0 or later with Compose 2.34.0 or later.
docker compose -f oci://ghcr.io/hyperi-io/dfe-docker:compose up -d
Point your browser to http://localhost:3000 and log in as admin with password dfe-first-login. The console makes you change it at first login. Every port listens on 127.0.0.1 only. docker compose -f oci://ghcr.io/hyperi-io/dfe-docker:compose down stops the stack and keeps its data.
| Profile | Transport | Runs |
|---|---|---|
slim-grpc | gRPC, low latency | The core path alone: receiver, loader and ClickHouse, with the engine and the console. |
slim-kafka | Kafka message bus | The same core path over Kafka, plus a Kafka UI. |
single-grpc | gRPC, low latency | The core path plus the fetcher and the transforms. |
single-kafka | Kafka message bus | The core path over Kafka, plus the archiver, the fetcher and the transforms. The default. |
Then send it an event of your own:
curl -X POST http://localhost:8080/ingest \
-H 'Content-Type: application/json' \
-d '{"_source":"main","message":"hello dfe"}'
_source routes it, so "main" lands in dfe.main a couple of seconds later.
Coming from Splunk or Elastic? You didn't create an index or a mapping first, and you won't need to.
maintakes whatever fields you send and they all work straight away, so a sender adding or changing a field breaks nothing. You tune the fields that matter later. More in what's different.
Where to find it: the console is at http://localhost:3000, ClickHouse HTTP at http://localhost:8123 and the engine API at http://localhost:8003. single-kafka adds the Kafka UI at http://localhost:8081. The ingest ports listen on every interface, and everything else on this host only.
Next:
- The full first look, including reading the event back: Taking DFE for a first look.
- What each profile runs: profiles.
- Set the deployment's configuration: configuration.
- Deploy, and move to a newer release: deploying.
- Run it day to day: operating.
- When something does not come up: troubleshooting.