TimescaleDB
TimescaleDB is an open-source time-series database packaged as a PostgreSQL extension, optimized for fast ingest and real-time analytics with standard SQL.
Configuration
version: "3.8"
services:
timescaledb:
image: timescale/timescaledb:2.26.4-pg17
restart: unless-stopped
expose:
- 5432
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB}
TIMESCALEDB_TELEMETRY: ${TIMESCALEDB_TELEMETRY}
volumes:
- timescaledb-data:/var/lib/postgresql/data
- ../files/001_create_timescaledb.sql:/docker-entrypoint-initdb.d/001_create_timescaledb.sql:ro
healthcheck:
test: ["CMD-SHELL", "pg_isready -U \"$${POSTGRES_USER}\" -d \"$${POSTGRES_DB}\""]
interval: 10s
timeout: 5s
retries: 5
start_period: 20s
volumes:
timescaledb-data:[variables]
postgres_user = "${username}"
postgres_password = "${password:32}"
postgres_db = "timescaledb"
timescaledb_telemetry = "off"
[config]
mounts = []
[config.env]
POSTGRES_USER = "${postgres_user}"
POSTGRES_PASSWORD = "${postgres_password}"
POSTGRES_DB = "${postgres_db}"
TIMESCALEDB_TELEMETRY = "${timescaledb_telemetry}"
[[config.mounts]]
filePath = "001_create_timescaledb.sql"
content = """
CREATE EXTENSION IF NOT EXISTS timescaledb;
"""
[[config.mounts]]
filePath = "README.md"
content = """
# TimescaleDB
TimescaleDB is deployed as a PostgreSQL-compatible database on the internal `timescaledb:5432` service.
Connection values:
- Host: `timescaledb`
- Port: `5432`
- Database: `${postgres_db}`
- Username: `${postgres_user}`
- Password: generated by Dokploy
The template creates the TimescaleDB extension during first initialization. PostgreSQL initialization variables only apply when the data volume is empty.
Telemetry is disabled by default with `TIMESCALEDB_TELEMETRY=off`. The image runs `timescaledb-tune` automatically on first initialization and reads Docker cgroup limits when available.
"""Base64
To import this template in Dokploy: create a Compose service → Advanced → Base64 import and paste the content below:
ewogICJjb21wb3NlIjogInZlcnNpb246IFwiMy44XCJcblxuc2VydmljZXM6XG4gIHRpbWVzY2FsZWRiOlxuICAgIGltYWdlOiB0aW1lc2NhbGUvdGltZXNjYWxlZGI6Mi4yNi40LXBnMTdcbiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZFxuICAgIGV4cG9zZTpcbiAgICAgIC0gNTQzMlxuICAgIGVudmlyb25tZW50OlxuICAgICAgUE9TVEdSRVNfVVNFUjogJHtQT1NUR1JFU19VU0VSfVxuICAgICAgUE9TVEdSRVNfUEFTU1dPUkQ6ICR7UE9TVEdSRVNfUEFTU1dPUkR9XG4gICAgICBQT1NUR1JFU19EQjogJHtQT1NUR1JFU19EQn1cbiAgICAgIFRJTUVTQ0FMRURCX1RFTEVNRVRSWTogJHtUSU1FU0NBTEVEQl9URUxFTUVUUll9XG4gICAgdm9sdW1lczpcbiAgICAgIC0gdGltZXNjYWxlZGItZGF0YTovdmFyL2xpYi9wb3N0Z3Jlc3FsL2RhdGFcbiAgICAgIC0gLi4vZmlsZXMvMDAxX2NyZWF0ZV90aW1lc2NhbGVkYi5zcWw6L2RvY2tlci1lbnRyeXBvaW50LWluaXRkYi5kLzAwMV9jcmVhdGVfdGltZXNjYWxlZGIuc3FsOnJvXG4gICAgaGVhbHRoY2hlY2s6XG4gICAgICB0ZXN0OiBbXCJDTUQtU0hFTExcIiwgXCJwZ19pc3JlYWR5IC1VIFxcXCIkJHtQT1NUR1JFU19VU0VSfVxcXCIgLWQgXFxcIiQke1BPU1RHUkVTX0RCfVxcXCJcIl1cbiAgICAgIGludGVydmFsOiAxMHNcbiAgICAgIHRpbWVvdXQ6IDVzXG4gICAgICByZXRyaWVzOiA1XG4gICAgICBzdGFydF9wZXJpb2Q6IDIwc1xuXG52b2x1bWVzOlxuICB0aW1lc2NhbGVkYi1kYXRhOlxuIiwKICAiY29uZmlnIjogIlt2YXJpYWJsZXNdXG5wb3N0Z3Jlc191c2VyID0gXCIke3VzZXJuYW1lfVwiXG5wb3N0Z3Jlc19wYXNzd29yZCA9IFwiJHtwYXNzd29yZDozMn1cIlxucG9zdGdyZXNfZGIgPSBcInRpbWVzY2FsZWRiXCJcbnRpbWVzY2FsZWRiX3RlbGVtZXRyeSA9IFwib2ZmXCJcblxuW2NvbmZpZ11cbm1vdW50cyA9IFtdXG5cbltjb25maWcuZW52XVxuUE9TVEdSRVNfVVNFUiA9IFwiJHtwb3N0Z3Jlc191c2VyfVwiXG5QT1NUR1JFU19QQVNTV09SRCA9IFwiJHtwb3N0Z3Jlc19wYXNzd29yZH1cIlxuUE9TVEdSRVNfREIgPSBcIiR7cG9zdGdyZXNfZGJ9XCJcblRJTUVTQ0FMRURCX1RFTEVNRVRSWSA9IFwiJHt0aW1lc2NhbGVkYl90ZWxlbWV0cnl9XCJcblxuW1tjb25maWcubW91bnRzXV1cbmZpbGVQYXRoID0gXCIwMDFfY3JlYXRlX3RpbWVzY2FsZWRiLnNxbFwiXG5jb250ZW50ID0gXCJcIlwiXG5DUkVBVEUgRVhURU5TSU9OIElGIE5PVCBFWElTVFMgdGltZXNjYWxlZGI7XG5cIlwiXCJcblxuW1tjb25maWcubW91bnRzXV1cbmZpbGVQYXRoID0gXCJSRUFETUUubWRcIlxuY29udGVudCA9IFwiXCJcIlxuIyBUaW1lc2NhbGVEQlxuXG5UaW1lc2NhbGVEQiBpcyBkZXBsb3llZCBhcyBhIFBvc3RncmVTUUwtY29tcGF0aWJsZSBkYXRhYmFzZSBvbiB0aGUgaW50ZXJuYWwgYHRpbWVzY2FsZWRiOjU0MzJgIHNlcnZpY2UuXG5cbkNvbm5lY3Rpb24gdmFsdWVzOlxuXG4tIEhvc3Q6IGB0aW1lc2NhbGVkYmBcbi0gUG9ydDogYDU0MzJgXG4tIERhdGFiYXNlOiBgJHtwb3N0Z3Jlc19kYn1gXG4tIFVzZXJuYW1lOiBgJHtwb3N0Z3Jlc191c2VyfWBcbi0gUGFzc3dvcmQ6IGdlbmVyYXRlZCBieSBEb2twbG95XG5cblRoZSB0ZW1wbGF0ZSBjcmVhdGVzIHRoZSBUaW1lc2NhbGVEQiBleHRlbnNpb24gZHVyaW5nIGZpcnN0IGluaXRpYWxpemF0aW9uLiBQb3N0Z3JlU1FMIGluaXRpYWxpemF0aW9uIHZhcmlhYmxlcyBvbmx5IGFwcGx5IHdoZW4gdGhlIGRhdGEgdm9sdW1lIGlzIGVtcHR5LlxuXG5UZWxlbWV0cnkgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCB3aXRoIGBUSU1FU0NBTEVEQl9URUxFTUVUUlk9b2ZmYC4gVGhlIGltYWdlIHJ1bnMgYHRpbWVzY2FsZWRiLXR1bmVgIGF1dG9tYXRpY2FsbHkgb24gZmlyc3QgaW5pdGlhbGl6YXRpb24gYW5kIHJlYWRzIERvY2tlciBjZ3JvdXAgbGltaXRzIHdoZW4gYXZhaWxhYmxlLlxuXCJcIlwiXG4iCn0=Links
Tags
database, postgresql, time-series, analytics, sql
Version: 2.26.4-pg17