Need help with timescaledb-docker?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

160 Stars 87 Forks Apache License 2.0 117 Commits 35 Opened issues


Release Docker builds of TimescaleDB

Services available


Need anything else?

Contributors list


What is TimescaleDB?

TimescaleDB is an open-source database designed to make SQL scalable for time-series data. For more information, see the Timescale website.

How to use this image

This image is based on the official Postgres docker image so the documentation for that image also applies here, including the environment variables one can set, extensibility, etc.

Starting a TimescaleDB instance

$ docker run -d --name some-timescaledb -p 5432:5432 timescale/timescaledb

Then connect with an app or the

$ docker run -it --net=host --rm timescale/timescaledb psql -h localhost -U postgres

You can also connect your app via port

on the host machine.

If you are running your docker image for the first time, you can also set an environmental variable,

, to set the level of telemetry in the Timescale docker instance. For example, to turn off telemetry, run:
$ docker run -d --name some-timescaledb -p 5432:5432 --env TIMESCALEDB_TELEMETRY=off timescale/timescaledb

Note that if the cluster has previously been initialized, you should not use this environment variable to set the level of telemetry. Instead, follow the instructions in our docs to disable telemetry once a cluster is running.

Notes on timescaledb-tune

We run

automatically on container initialization. By default,
uses system calls to retrieve an instance's available CPU and memory. In docker images, these system calls reflect the available resources on the host. For cases where a container is allocated all available resources on a host, this is fine. But many use cases involve limiting the amount of resources a container (or the docker daemon) can have on the host. Therefore, this image looks in the cgroups metadata to determine the docker-defined limit sizes then passes those values to

To specify your own limits, use the

environment variables at runtime:
$ docker run -d --name timescaledb -p 5432:5432 -e POSTGRES_PASSWORD=password -e TS_TUNE_MEMORY=4GB -e TS_TUNE_NUM_CPUS=4 timescale/timescaledb:latest-pg11

To specify a maximum number of background workers, use the

environment variable:
$ docker run -d --name timescaledb -p 5432:5432 -e POSTGRES_PASSWORD=password -e TS_TUNE_MAX_BG_WORKERS=16 timescale/timescaledb:latest-pg11

To not run

at all, use the
environment variable:
$ docker run -d --name timescaledb -p 5432:5432 -e POSTGRES_PASSWORD=password -e NO_TS_TUNE=true timescale/timescaledb:latest-pg11

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.