Skip to main content
UptimeKit stores monitor events, status changes, and latency history in a time-series backend. You can use TimescaleDB with PostgreSQL or ClickHouse as a separate database.

Overview

UptimeKit supports two time-series backends:
  • TimescaleDB: Store time-series data in PostgreSQL with the TimescaleDB extension
  • ClickHouse: Store time-series data in a dedicated ClickHouse database
Choose the backend with the TIMESERIES_BACKEND environment variable. TimescaleDB can use your main application database or a separate database since its just a PostgreSQL extension.

Main Database

If your main PostgreSQL database has the TimescaleDB extension available, UptimeKit can reuse DATABASE_URL.

Separate Database

If you want time-series data in a different TimescaleDB database, set TIMESCALE_DATABASE_URL.
If TIMESCALE_DATABASE_URL is not set, UptimeKit uses DATABASE_URL for TimescaleDB.
The PostgreSQL database used for time-series data must have the TimescaleDB extension installed.

ClickHouse

ClickHouse can also be used as the time-series backend by setting the ClickHouse environment variables.
Set these variables for each UptimeKit app that reads or writes monitor history.

Environment Variables