Skip to content
Not released yet: version 0.1 is being built. See what works today.

How to deploy

Metrics Book runs on one virtual machine with Docker. We recommend renting that machine from Netcup or Hetzner, because that is where you get the most machine for your money.

Netcup, for smaller companies. Netcup’s root servers are the cheapest VMs we found with dedicated CPU cores. A company with tens of gigabytes of data fits on one of its smaller root servers, with the whole stack on it.

Hetzner, for almost every other size. Hetzner has the widest range: cloud servers with dedicated vCPUs, and dedicated servers with up to hundreds of gigabytes of RAM and many terabytes of NVMe. When your data grows, there is a Hetzner machine that fits.

Both have data centres in the EU (Netcup in Germany, Hetzner in Germany and Finland), so your data can stay there.

Your data, at 3,000 questions a day A server that fits Why
up to about 100 GB Hetzner Cloud CX43 or Netcup RS 2000: 8 cores, 16 GB RAM the stack plus DuckDB’s working memory
around 1 TB Hetzner AX41: 6 cores, 64 GB RAM, 512 GB NVMe; or Netcup RS 4000: 12 cores, 32 GB RAM DuckDB stores 1 TB in about 200 GB, and dbt needs room to rebuild
5 to 10 TB Netcup RS 16000 with extra NVMe, or Hetzner AX102 up to about 5 TB 128 GB RAM, and NVMe for DuckDB’s files twice over

What it costs gives the sizing rules, and the calculator on metricsbook.io sizes a server for your own data and questions.

Size the RAM for the queries as well as the data. Agents ask many questions of the same tables, and every table that fits in memory is answered from RAM instead of disk. More RAM costs a little more a month and nothing extra per query.

When a server gets too small, answers slow down and the bill stays the same. The ops commands designed for phase 7 show the agent what ran out, CPU, memory or disk, so it can fix the cause or tell you which machine to move to.

What it costs sizes a server for your data and questions and prices it against BigQuery and Snowflake, with the source of every price. Add a Hetzner Storage Box for backups, on a different machine from the data.

Any other provider works too: Metrics Book needs a Linux VM with Docker Engine 28 or newer, enough RAM for your data, and local NVMe. We recommend Netcup and Hetzner for the price, not because the stack depends on them.

The stack is one Docker Compose application, so it runs wherever containers run. These are the targets the design plans for:

Target How What holds of the security model
A VM with Docker Compose (the default) mb build, then docker compose up -d, with Caddy for TLS all of it
A VM under Dokploy or Coolify the project as a compose app; the platform’s Traefik ends TLS all of it
Railway each compose service becomes a Railway service less: no shared volumes, so the warehouse is Postgres, and the network separation goes
Kubernetes not built; a Helm chart when someone needs one

A VM you rent from Netcup or Hetzner is the first row: you get the whole security model and the lowest price. Each target has its own page, and gets a step-by-step guide there with 0.1, written for a person or their agent to follow.