Architecture
There is no external queue. The ingest write buffer is in memory and flushes to
ClickHouse on an interval and on shutdown, and eval scoring jobs queue in
Postgres. Redis is optional: with
REDIS_URL set, rate limiting is shared
across ingest replicas; without it, each instance limits on its own, which is
fine for a single replica. The default compose file includes Redis.
Which ports are reachable from the host depends on which compose files you
use. The base
docker-compose.yml keeps ClickHouse’s 8123 internal only. A
plain docker compose up also loads docker-compose.override.yml, which
publishes 8123, Postgres 5432, and Redis 6379 on localhost for local
development. For production, run without the override
(docker compose -f docker-compose.yml up --build) and set
CLICKHOUSE_PASSWORD before the network is reachable. An open ClickHouse
with no password exposes every span.Quickstart
migrate service logs for Save these now
(docker compose logs migrate).
There are no default credentials. If
ADMIN_EMAIL and ADMIN_PASSWORD are
unset, the seed generates a random password and prints it a single time.http://localhost:3001 and log in with the seeded
email and password. Magic-link email and Google sign-in are optional; login
works out of the box without them.
Pointing the SDK at your deployment
Set the ingest URL in your instrumented app:Operations
- Retention: how long spans are kept depends on the plan. Each span is
stamped with a
retention_daysvalue when it arrives, and expires on its own after that. Hosts with billing off keep spans effectively forever. - Pricing: model prices come from the OpenRouter models API, cached and
refreshed every 24 hours. For air-gapped hosts, supply a local JSON file
with
FOGLAMP_PRICING_FILE. - Email: set
RESEND_API_KEYto enable magic-link login and alert emails. Without it, everything else still works via password login.
.png?fit=max&auto=format&n=1sml0kwCw1BNtiz-&q=85&s=a7c846a133aa3480dc1e03a2da5fec2b)
.png?fit=max&auto=format&n=1sml0kwCw1BNtiz-&q=85&s=6534218552b79980770f11c40aafd6ec)