Prerequisites
- The hostname for the QuestDB database server
- If QuestDB is not running, checkout the QuestDB quick start
- Docker (optional)
Setup
Docker
Create a dockerfile within the project directory:docker-compose.yml
.env file:
shell
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
QuestDB is a high-performance time-series database which helps you overcome ingestion bottlenecks.
services:
cube:
environment:
- CUBEJS_DEV_MODE=true
image: "cubejs/cube:latest"
ports:
- "4000:4000"
volumes:
- ".:/cube/conf"
questdb:
container_name: questdb
hostname: questdb
image: "questdb/questdb:latest"
ports:
- "9000:9000"
- "8812:8812"
.env file:
CUBEJS_DB_TYPE=questdb
CUBEJS_DB_HOST=my.questdb.host
CUBEJS_DB_PORT=8812
CUBEJS_DB_NAME=qdb
CUBEJS_DB_USER=admin
CUBEJS_DB_PASS=quest
docker-compose up -d
CUBEJS_DEV_MODE=true — which, under the cubejs CLI and the official Docker images,
also forces NODE_ENV=development and so switches off JWT verification on the
REST (JSON) and GraphQL APIs — and whenever NODE_ENV is not
production. Playground’s endpoints are served with no authentication too: anyone who
can reach the instance is handed a ready-to-use API token, can mint others carrying any
security context, can read your data model files, and can overwrite your data model and
your .env. With CUBEJS_DEV_MODE=true and no
CUBEJS_SQL_PASSWORD
set, the SQL API accepts any credentials as well, allowing arbitrary SQL against
connected data sources. Use it only on a local development machine, never in
production. See
CUBEJS_DEV_MODE.| Environment Variable | Description | Possible Values | Required |
|---|---|---|---|
CUBEJS_DB_HOST | The host URL for a database | A valid database host URL | ✅ |
CUBEJS_DB_PORT | The port for the database connection | A valid port number | ✅ |
CUBEJS_DB_NAME | The name of the database to connect to | A valid database name | ✅ |
CUBEJS_DB_USER | The username used to connect to the database | A valid database username | ✅ |
CUBEJS_DB_PASS | The password used to connect to the database | A valid database password | ✅ |
CUBEJS_DB_SSL | If true, enables SSL encryption for database connections from Cube | true, false | ❌ |
CUBEJS_DB_MAX_POOL | The maximum number of concurrent database connections to pool. Default is 8 | A valid number | ❌ |
CUBEJS_CONCURRENCY | The number of concurrent queries to the data source | A valid number | ❌ |