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 — and also under cubejs dev-server, the cubejs-dev-server
bin, or the devServer option, which turn it on with the variable unset. It switches
off JWT verification on the REST (JSON) and GraphQL APIs. 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 specifically, 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 | ❌ |