Sign inSign up

cubejs/cube

By cubejs

•Updated about 4 hours ago

Image
11

10M+

cubejs/cube repository overview

Cube Core — Open-Source Semantic Layer

Website⁠ • Docs⁠ • Blog⁠ • Slack⁠ • X⁠

⁠Quick reference

Where to get help? Check out our Slack⁠ or Stack Overflow⁠.

Found an issue? File it on our GitHub Issues⁠ page.

Supported architectures: amd64, arm64

Need the documentation? Check out the Cube documentation website⁠.

⁠What is Cube Core?

Cube Core is the open-source semantic layer. Define metrics, dimensions, joins, and access rules once in code, then expose them through SQL, REST, and GraphQL APIs to anything downstream — BI tools, custom applications, or AI agents.

Cube Core works with all SQL data sources, including cloud data warehouses like Snowflake, Databricks, and BigQuery; query engines like Presto and Amazon Athena; and application databases like Postgres. It has a built-in relational caching engine, Cube Store, to provide sub-second latency and high concurrency for API requests.

⁠How to use this image

The image expects your data model and configuration in /cube/conf. Mount your project folder there.

⁠Start Cube in development mode

docker run -p 4000:4000 -p 15432:15432 \
  -v ${PWD}:/cube/conf \
  -e CUBEJS_DEV_MODE=true \
  cubejs/cube:latest

Then open http://localhost:4000 to continue setup in Playground. The SQL API is available on port 15432.

Development mode is an authentication bypass. Never expose it to the internet or use it in production. See CUBEJS_DEV_MODE⁠ for details.

⁠Start Cube in production mode

docker run -d -p 4000:4000 -p 15432:15432 \
  -v ${PWD}:/cube/conf \
  -e CUBEJS_DB_TYPE=<DB_TYPE> \
  -e CUBEJS_DB_HOST=<HOST> \
  -e CUBEJS_DB_NAME=<DB_NAME> \
  -e CUBEJS_DB_USER=<USER> \
  -e CUBEJS_DB_PASS=<PASS> \
  -e CUBEJS_API_SECRET=<API_SECRET> \
  -e CUBEJS_PG_SQL_PORT=15432 \
  -e CUBEJS_SQL_USER=<SQL_USER> \
  -e CUBEJS_SQL_PASSWORD=<SQL_PASSWORD> \
  cubejs/cube:<version>

Pin a specific version tag instead of latest in production. For all supported options, see Environment Variables⁠.

A production deployment also needs a refresh worker and a Cube Store cluster for pre-aggregations. See Deployment⁠ for a complete Docker Compose example.

⁠License

Cube is Apache 2.0 licensed⁠.

Tag summary

Content type

Image

Digest

sha256:d382326a0…

Size

323.8 MB

Last updated

1 day ago

docker pull cubejs/cube