Spin up a data platform quickly.

Logo ClickHouse

ClickHouse

Self-hosted columnar data warehouse — billions of rows aggregated in milliseconds, with no per-query billing.

4 GB (8 GB recommended) RAM 2 vCPU (4 recommended) Port 8123 (HTTP) Available

Tech stack

DockerClickHouse 26.3 LTSMergeTree
Minimum RAM4 GB (8 GB recommended)
Minimum CPU2 vCPU (4 recommended)
Default port8123 (HTTP)
Compatible OSChoice of Linux distributions

ClickHouse is the reference open-source OLAP database (Apache-2.0, ~49k GitHub stars). Its columnar storage and aggressive compression let a single modest node scan hundreds of millions of rows in under a second — the workload where a row-oriented database such as PostgreSQL or MySQL collapses. It speaks SQL, ships its own browser SQL console at `/play` — so no companion tool is needed to run a query — and is driven entirely through its HTTP interface, on port 8123.

Deployed on a ServOrbit VPS, ClickHouse replaces the per-query billing of managed warehouses (ClickHouse Cloud, BigQuery) with a fixed monthly cost, and keeps your application logs, product metrics and analytics events on infrastructure you control. The template runs the 26.3 LTS release as a single container, with the file-descriptor limit already raised to 262144, persistent volumes for data and logs, and an `analytics` database created on first boot. The `default` account — the one that ships without a password — is removed at startup and replaced by an `admin` account whose password is generated per installation.

Key features

Sub-second aggregations over hundreds of millions of rows, thanks to columnar storage and vectorised execution.
5x to 10x compression on logs and events, so a modest SSD holds a volume that would fill a relational database.
Bulk ingestion of hundreds of thousands of rows per second on a single well-tuned node.
Built-in browser SQL console at /play — write and run queries without installing any client.
Standard SQL plus native connectors for Grafana, Metabase, and HTTP or native clients in every major language.
Apache-2.0 licence, no per-query billing: your analytics layer costs the price of the VPS, whatever the query volume.

When to use this solution?

1

Self-hosted application log and event warehouse

Ship your application logs, HTTP traces and product events into a MergeTree table partitioned by month, with a TTL that drops old partitions automatically. Compression keeps months of history on a small disk, and aggregations stay sub-second even as the table grows past a hundred million rows.

2

The analytics engine behind your dashboards

Point Grafana or Metabase at the HTTP interface and build dashboards over raw events rather than over pre-aggregated summaries. Because scans are cheap, you can slice by any dimension after the fact instead of deciding your metrics in advance.

3

Analytics offload for a production database

Stop running heavy reporting queries against the PostgreSQL or MySQL instance that serves your customers. Replicate the tables you analyse into ClickHouse on the same VPS, query them over 127.0.0.1:8123, and your primary database never feels the analytical load.

Deploy ClickHouse on your VPS

Guide optimized for ServOrbit Cloud VPS.

01

Order the VPS

Pick a ServOrbit VPS with at least 4 GB of RAM — ClickHouse trades memory for speed, and 8 GB gives large aggregations room to breathe. Two vCPU parallelise queries, four is comfortable. Disk matters more than anything else: budget 50 to 100 GB of NVMe SSD depending on your retention, remembering that compression usually shrinks raw data five to ten times.

02

What the installation deploys

A single clickhouse/clickhouse-server:26.3.17.110 container — the current long-term-support release. Two named volumes persist /var/lib/clickhouse and /var/log/clickhouse-server, the file-descriptor limit is raised to 262144 as ClickHouse requires, and an analytics database is created on first boot. The health check polls /ping until the server answers, which takes a few seconds.

03

Sign in for the first time

The installation generates a random password and creates an admin account with it; the default account, which upstream ships without a password, is removed at startup. Read the generated password on the application card in your client area, then open the built-in console at /play, enter admin and that password, and run SELECT version() to confirm.

04

Reach the server

Attach a domain and ServOrbit installs the nginx vhost and the TLS certificate: the console then answers on https://<your-domain>/play, with no port number. Without a domain there is no public entry point by design — open a tunnel with ssh -L 8123:127.0.0.1:8123 root@<your-vps-ip> and work on http://localhost:8123/play. 8123 is the catalogue port; use the one shown on the application card if it differs.

05

Create your first table

Create a MergeTree table and spend a minute on its ORDER BY key — it is the single decisive performance factor. Put the columns you filter on most first, usually a date and an identifier, and partition by month with PARTITION BY toYYYYMM(date) so that retention becomes a cheap partition drop rather than a row-by-row delete.

06

Connect your application and lock the account down

An application running on the same VPS connects to 127.0.0.1:8123, the HTTP interface, which accepts INSERT as readily as SELECT — that port is not reachable from outside the machine. The faster native protocol remains available to a container attached to the stack's Docker network, but is deliberately not published on the host. The admin account has access management enabled, so create a dedicated read-only user per consumer with CREATE USER and GRANT SELECT rather than sharing the administrator password with Grafana or Metabase.

Frequently asked questions

ClickHouse is an OLAP database: it is built to scan and aggregate very large tables, not to serve many small transactional reads and writes. It is the right tool for logs, metrics, events and reporting. It is the wrong tool as the primary database of a web application — it has no real transactions, updates and deletes are asynchronous mutations rather than instant operations, and single-row lookups are slower than in PostgreSQL. The common pattern is both: PostgreSQL for the application, ClickHouse for the analytics.

Embed the deploy button

Maintaining a project that uses ClickHouse? This button lets your readers deploy it on a VPS in one click, without reading Docker documentation.

Deploy ClickHouse on ServOrbit
Markdown
[![Deploy ClickHouse on ServOrbit](https://servorbit.com/brand/deploy/button.svg)](https://servorbit.com/vps-cloud?template=clickhouse&utm_source=deploy-badge&utm_medium=referral&utm_campaign=clickhouse)
HTML
<a href="https://servorbit.com/vps-cloud?template=clickhouse&utm_source=deploy-badge&utm_medium=referral&utm_campaign=clickhouse"><img src="https://servorbit.com/brand/deploy/button.svg" alt="Deploy ClickHouse on ServOrbit" height="40"></a>

The button points to a VPS order with the template preselected. The image is served from servorbit.com — nothing to host on your side.

Spin up a data platform quickly.

Activate ClickHouse on your infrastructure.

Dedicated Cloud VPS — IPv4 included, European datacenter, support included. Your data never leaves your server.

Recommended configuration: 4 GB (8 GB recommended) RAM · 2 vCPU (4 recommended)

Need help?

Browse our help center and FAQ, or write to our team — support in French, English and Arabic.