Skip to main content
Run Tell on your own infrastructure. One binary, no containers. Data never leaves your servers.
1

Install

2

Configure

Generate a config file and move it to a dedicated location:
Edit /etc/tell/config.toml — set data_dir to /opt/tell and configure your pipeline:
3

Set up ClickHouse

Tell uses ClickHouse as the default analytics backend. Install it, start the server, and create the Tell tables:
tell init generated a setup.sql file alongside the config. Run it to create the database and tables:
This assumes ClickHouse is running with default settings. See clickhouse.com for installation and configuration details.
4

Create a service user

5

Create the systemd unit

6

Start and verify

Tell is running. By default, HTTP ingestion listens on port 8080 and TCP on 50000. Point your SDKs to your-server:8080, or put Caddy in front to serve on 443.
Tell is installed and running. To start collecting data, head to the Quickstart.
Set TELL_CONFIG in your shell so CLI commands (tell plugin, tell tail, tell query, etc.) pick up the right config and data directory.

Optional: TLS with Caddy

If you’re exposing the Tell API or dashboard publicly, put a reverse proxy in front of it:
Caddy handles TLS certificates automatically via Let’s Encrypt. Point your DNS A record to the server IP.