Most BI tools assume your data is already in a warehouse and your team is happy to learn a drag-and-drop interface.

Rill takes the opposite bet: write a SQL model, define your metrics in YAML, and you get a fast interactive dashboard with time-series exploration, slice-and-dice filters, and shareable URLs. Underneath, it runs on DuckDB — so a single binary is enough to query Parquet files, CSVs, or remote sources without any infrastructure.

Why Rill?

  • DuckDB-fast: All aggregations run in DuckDB locally. Sub-second response on millions of rows is the default, not the goal.
  • Code-first dashboards: Metric definitions live in YAML, models live in SQL. Both are version-controllable. No clicking through a UI to rebuild the same chart.
  • Operational focus: Rill is built for the metrics you actually look at every day — funnel rates, error counts, daily active users — not 100-page board decks.
  • Source-available: The core is open source under the Apache 2.0 license; Rill Cloud is the paid managed offering.

Rill with Docker

Rill ships a CLI binary and a server mode.

The Docker image runs the server with project files mounted in.

docker --version

Docker Compose

version: '3.8'
services:
  rill:
    image: rilldata/rill:latest
    container_name: rill
    ports:
      - "9009:9009"
    volumes:
      - ./project:/project
    command: ["start", "--no-open", "/project"]
    restart: unless-stopped

Drop your SQL models and YAML metric definitions into ./project, bring it up, and access the UI at http://localhost:9009.

docker compose up -d

For a quick smoke test without writing your own project, scaffold one with the CLI first:

docker run --rm -v $(pwd)/project:/project rilldata/rill:latest init /project --example

That drops a working example project into ./project — start the server and you have a populated dashboard immediately.

Conclusion

Rill is a refreshing take on BI. If you have ever wanted Grafana’s speed, Looker’s metric layer, and a dev workflow that doesn’t involve clicking through 17 menus, this is it.

Pair it with WrenAI for natural-language queries on top of the same data, Airflow for scheduled refreshes, and the containers primer if you are still finding your feet with Docker.

The Rill project


FAQ

Rill vs Metabase vs Superset — which to pick?

Metabase and Superset are general BI tools that connect to a warehouse and let analysts build dashboards through a UI.

Rill is leaner and code-first: SQL + YAML compile into a dashboard, and DuckDB runs the queries.

If you want self-service dashboards for a team of analysts, pick Metabase.

If you are an engineer who wants version-controlled dashboards over Parquet files, pick Rill.

What data sources does Rill support?

DuckDB is the engine, so anything DuckDB reads: Parquet, CSV, JSON, S3, GCS, HTTPS URLs, and any table accessible via httpfs.

For larger workloads it can also push down to ClickHouse, BigQuery, Snowflake, and Postgres.

Is the cloud version necessary?

No. Rill OSS is fully featured for local and self-hosted use.

Rill Cloud adds collaboration features, scheduled alerts, and managed deployments — useful if you are sharing dashboards across a company.

How fast is “DuckDB-fast” really?

For typical operational data — tens of millions of rows, partitioned by date — every interaction is sub-second on commodity hardware.

The trick is that DuckDB reads only the columns and date partitions a query touches, and the dashboard queries are designed around that.

Can I keep models in git?

Yes — and you should.

The whole project (SQL, YAML, dashboard configs) is plain text.

Treat it like any other code repository: branches, PR reviews, CI to validate on push.