---
title: "Deploy QuestDB | (Just Updated) Time-Series Database, Password Generated, Persistent"
description: "Time-series SQL database. Password generated, data persists."
category: "Storage"
url: https://railway.com/deploy/questdb-or-just-updated-time-series-data
---

# Deploy QuestDB | (Just Updated) Time-Series Database, Password Generated, Persistent

Time-series SQL database. Password generated, data persists.

**[Deploy QuestDB | (Just Updated) Time-Series Database, Password Generated, Persistent on Railway](https://railway.com/template/questdb-or-just-updated-time-series-data)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/questdb-or-just-updated-time-series-data/manifest.json

- **Creator:** SuperSlowSloth
- **Category:** Storage

## Template content

### questdb

- **Image:** questdb/questdb@sha256:67eaed863ebb2383227919ea9a5499a4a39ceca3862c20b974c84a10e11cdf89
- **Start command:** `/bin/sh -c 'export QDB_HTTP_USER=admin QDB_HTTP_PASSWORD="$QUESTDB_PASSWORD" QDB_PG_USER=admin QDB_PG_PASSWORD="$QUESTDB_PASSWORD" QDB_HTTP_BIND_TO=0.0.0.0:$PORT QDB_SHARED_WORKER_COUNT=2 JAVA_TOOL_OPTIONS=-XX:ActiveProcessorCount=2; echo "[railway] questdb uid=$(id -u) data_owner=$(stat -c %u:%g /var/lib/questdb) pids.max=$(cat /sys/fs/cgroup/pids.max 2>/dev/null) mem.max=$(cat /sys/fs/cgroup/memory.max 2>/dev/null)"; exec /docker-entrypoint.sh'`
- **Health check:** /ping
- **Public domain:** Yes

## Documentation

# Deploy and Host QuestDB on Railway

QuestDB is a fast open-source time-series database with SQL, a web console, a REST API and PostgreSQL wire support. This template runs the official image with a persistent volume, a generated password, and a public HTTPS endpoint.

## About Hosting QuestDB

This template runs the official `questdb/questdb` image (pinned by digest). Data lives on a volume mounted at `/var/lib/questdb`, so tables survive redeploys. HTTP basic auth is enabled at boot: the username is `admin` and the password is the `QUESTDB_PASSWORD` variable, generated for you at deploy time and stable across redeploys. The same credentials apply to the PostgreSQL wire protocol, which listens on port 8812 inside the project network only. The HTTP server is bound to Railway's `$PORT`, and the JVM is capped to the container (`ActiveProcessorCount=2`, two shared workers) so it does not size itself from the host.

Agent contract:

- Base URL variable: `QUESTDB_URL` (`https://`)
- Username: `admin`
- Password variable: `QUESTDB_PASSWORD`
- Private host variable: `QUESTDB_PRIVATE_HOST` (PG wire on port 8812, same credentials)
- Health path: `/ping` (open, returns 204)
- Query endpoint: `GET /exec?query=...` (HTTP basic auth)

```bash
curl -s -u admin:$QUESTDB_PASSWORD -G "$QUESTDB_URL/exec" \
  --data-urlencode "query=select 1"
```

## Why Deploy QuestDB on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying QuestDB on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.

- **Secure by default** — the password is generated per deploy and unauthenticated queries get 401.
- **Data survives redeploys** — the volume is preconfigured and verified with a write, redeploy, read.
- **Zero configuration** — no variables to fill in; the contract above is everything a client needs.
- **Standard clients work** — any HTTP client, or any PostgreSQL driver over the private network.

## Common Use Cases

- **Metrics and IoT telemetry** — ingest and query high-rate sensor and device data.
- **Market and financial data** — tick storage with fast time-based aggregation.
- **Observability and agent logs** — keep event streams that need SQL over time windows.

## Dependencies for QuestDB Hosting

- A volume mounted at `/var/lib/questdb` (included in this template).

### Deployment Dependencies

- [questdb/questdb](https://github.com/questdb/questdb) — upstream server
- [questdb on Docker Hub](https://hub.docker.com/r/questdb/questdb) — the pinned image this template deploys


## Similar templates

- [RustFS | (Just Updated) S3 Object Store, Public URL and Keys Set](https://railway.com/deploy/rustfs-or-just-updated-s3-object-store-p) — S3-compatible object store, keys and public URL preset, volume kept
- [TimescaleDB](https://railway.com/deploy/timescaledb-railway-template) — A PostgreSQL-based time-series database for analytics on Railway.
- [Garage S3 Storage](https://railway.com/deploy/garage-s3-storage) — Ultra-light S3 server: fast, open-source, plug-and-play.

Open this page in a browser: https://railway.com/deploy/questdb-or-just-updated-time-series-data
