Skip to content

Install

Fanout ships as a single binary and as a multi-architecture container image. The release packages include the browser assets and embedded databases.

Terminal window
docker run -d --name fanout \
-p 7520:7520 \
-v fanout-data:/var/lib/fanout/data \
-e FANOUT_AUTH_CODE_SECRET=$(openssl rand -hex 32) \
labstack/fanout:latest

Images are published to Docker Hub as labstack/fanout and mirrored to GitHub Container Registry as ghcr.io/labstack/fanout. The two carry the same digests; pick whichever registry your hosts already pull from.

FANOUT_AUTH_CODE_SECRET is required for local sign-in. After setup, enable the built-in agent or connect an external agent over MCP.

The image sets FANOUT_ADDR=:7520 and FANOUT_DATA_DIR=/var/lib/fanout/data. Native installs default to 127.0.0.1:7520; set FANOUT_ADDR=:7520 to accept connections from other hosts.

The install script checks the archive for you. If you took one from the releases page by hand, check both the checksum and the build provenance:

Terminal window
sha256sum -c SHA256SUMS
gh attestation verify fanout_v2026.10.1-alpha_linux_amd64.tar.gz \
--repo labstack/fanout

For containers, record or pin the digest the registry returns rather than trusting a moving tag:

Terminal window
docker buildx imagetools inspect labstack/fanout:2026.10.1-alpha

Release images are multi-architecture for linux/amd64 and linux/arm64, and archives cover Linux and macOS on both. Every artifact is built on a native runner, because DuckDB needs cgo.

See image tags.

See the release contract for the artifact inventory and verification workflow.

See ports and paths for listener and data-directory defaults.

Complete first boot to create the administrator and ingest token, then configure exporters. Connect telemetry can generate configuration for a private Collector hostname.

If the dashboard is public but ingest must remain LAN-only, keep Fanout’s backend port private and deny /v1, /v1/*, and /opentelemetry.proto.collector.* on the public proxy. Allow collectors through the private network or a restricted proxy route, and verify that neither OTLP transport is reachable through the public origin.

First boot covers configuration validation, administrator setup and sign-in.