---
redirect_from:
- /reference/environment-variables
---
# Environment variables
To see a complete list of environment variables for a specific data source,
please check the relevant page on [Connecting to Data Sources][ref-config-db].
## `CUBEJS_API_SECRET`
The secret key used to sign and verify JWTs. Generated on project scaffold with
`npx cubejs-cli create`.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| A valid string | N/A | N/A |
See also the [`check_auth` configuration
option](/reference/configuration/config#check_auth).
## `CUBEJS_APP`
An application ID used to uniquely identify the Cube deployment. Can be
different for multitenant setups.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| A valid string | `cubejs` | `cubejs` |
## `CUBEJS_AWS_KEY`
The AWS Access Key ID to use for database connections.
| Possible Values | Default in Development | Default in Production |
| ------------------------- | ---------------------- | --------------------- |
| A valid AWS Access Key ID | N/A | N/A |
## `CUBEJS_AWS_SECRET`
The AWS Secret Access Key to use for database connections.
| Possible Values | Default in Development | Default in Production |
| ----------------------------- | ---------------------- | --------------------- |
| A valid AWS Secret Access Key | N/A | N/A |
## `CUBEJS_AWS_REGION`
The AWS region to use for database connections.
| Possible Values | Default in Development | Default in Production |
| -------------------------------------- | ---------------------- | --------------------- |
| [A valid AWS region][aws-docs-regions] | N/A | N/A |
## `CUBEJS_AWS_S3_OUTPUT_LOCATION`
The S3 path to store [AWS Athena][aws-athena] query results made by Cube.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| A valid S3 path | N/A | N/A |
## `CUBEJS_AWS_ATHENA_WORKGROUP`
The name of the [AWS Athena workgroup][aws-athena-workgroup] in which the query
is being started.
| Possible Values | Default in Development | Default in Production |
| ------------------------------------------------ | ---------------------- | --------------------- |
| [A valid Athena Workgroup][aws-athena-workgroup] | N/A | N/A |
## `CUBEJS_AWS_ATHENA_CATALOG`
The name of the AWS Athena catalog to use for queries.
| Possible Values | Default in Development | Default in Production |
| ------------------------------------------------- | ---------------------- | --------------------- |
| [A valid Athena Catalog name][aws-athena-catalog] | N/A | N/A |
## `CUBEJS_DB_SCHEMA`
The name of the schema to use as `information_schema` filter. Reduces count of
tables loaded during data model generation.
| Possible Values | Default in Development | Default in Production |
| ------------------- | ---------------------- | --------------------- |
| A valid schema name | N/A | N/A |
## `CUBEJS_CACHE_AND_QUEUE_DRIVER`
The cache and queue driver to use for the Cube deployment.
| Possible Values | Default in Development | Default in Production |
| --------------------- | ---------------------- | --------------------- |
| `cubestore`, `memory` | `memory` | `cubestore` |
It can be also set using the [`cache_and_queue_driver` configuration
option](/reference/configuration/config#cache_and_queue_driver).
## `CUBEJS_CONCURRENCY`
The number of concurrent connections each query queue has to the database.
| Possible Values | Default in Development | Default in Production |
| --------------- | ------------------------------------------- | ------------------------------------------- |
| A valid number | [See database-specific page][ref-config-db] | [See database-specific page][ref-config-db] |
It can be also set as `concurrency` in the [`orchestrator_options` configuration
option](/reference/configuration/config#orchestrator_options).
If you'd like to adjust the concurrency for the refresh worker, use
`CUBEJS_REFRESH_WORKER_CONCURRENCY`.
## `CUBEJS_REFRESH_WORKER_CONCURRENCY`
The number of concurrent connections each query queue of the refresh worker
has to the database.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------------- | ---------------------------- |
| A valid number | Same as `CUBEJS_CONCURRENCY` | Same as `CUBEJS_CONCURRENCY` |
## `CUBEJS_SCHEDULED_REFRESH_QUERIES_PER_APP_ID`
How many pre-aggregations the refresh worker will build in parallel for each
application id as determined by the [`context_to_app_id`](#context_to_app_id)
configuration option.
Note that this parameter doesn't override the overall refresh worker concurrency,
configured via the `CUBEJS_REFRESH_WORKER_CONCURRENCY` environment variable, and
it should be adjusted accordingly.
| Possible Values | Default in Development | Default in Production |
| ------------------------------------ | ---------------------- | --------------------- |
| A valid number of concurrent queries | 10 | 10 |
Previously, this environment variable was named `CUBEJS_SCHEDULED_REFRESH_CONCURRENCY`.
## `CUBEJS_CUBESTORE_HOST`
The hostname of the Cube Store deployment
| Possible Values | Default in Development | Default in Production |
| ---------------- | ---------------------- | --------------------- |
| A valid hostname | `localhost` | N/A |
## `CUBEJS_CUBESTORE_PORT`
The port of the Cube Store deployment.
| Possible Values | Default in Development | Default in Production |
| ------------------- | ---------------------- | --------------------- |
| A valid port number | `3030` | `3030` |
## `CUBEJS_DATASOURCES`
A comma-separated list of data source names. Data sources defined here can be
used to [decorate `CUBEJS_DB_*`][ref-config-multiple-ds-decorating-env]
environment variables.
| Possible Values | Default in Development | Default in Production |
| --------------------------------- | ---------------------- | --------------------- |
| A comma-separated list of strings | N/A | N/A |
```dotenv
CUBEJS_DATASOURCES=default,datasource1
```
## `CUBEJS_DB_BQ_CREDENTIALS`
A Base64 encoded JSON key file for connecting to Google BigQuery.
| Possible Values | Default in Development | Default in Production |
| ---------------------------------------------------------------- | ---------------------- | --------------------- |
| A valid Google BigQuery JSON key file encoded as a Base64 string | N/A | N/A |
## `CUBEJS_DB_BQ_KEY_FILE`
The path to a JSON key file for connecting to Google BigQuery.
| Possible Values | Default in Development | Default in Production |
| ------------------------------------- | ---------------------- | --------------------- |
| A valid Google BigQuery JSON key file | N/A | N/A |
## `CUBEJS_DB_BQ_LOCATION`
The Google BigQuery dataset location to connect to. Required if used with
pre-aggregations outside of US. If not set then BQ driver will fail with
`Dataset was not found in location US` error.
| Possible Values | Default in Development | Default in Production |
| ----------------------------------------------------------------------- | ---------------------- | --------------------- |
| [A valid Google BigQuery regional location][bq-docs-regional-locations] | N/A | N/A |
## `CUBEJS_DB_BQ_PROJECT_ID`
The Google BigQuery project ID to connect to.
| Possible Values | Default in Development | Default in Production |
| ---------------------------------- | ---------------------- | --------------------- |
| A valid Google BigQuery Project ID | N/A | N/A |
## `CUBEJS_DB_CLICKHOUSE_READONLY`
Whether the ClickHouse user has read-only access or not.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| `true`, `false` | N/A | N/A |
## `CUBEJS_DB_CLICKHOUSE_COMPRESSION`
Whether the ClickHouse client has compression enabled or not.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| `true`, `false` | `false` | `false` |
## `CUBEJS_DB_DATABRICKS_ACCEPT_POLICY`
To accept the license terms for the Databricks JDBC driver, this must be set to
`true`.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| `true`, `false` | N/A | N/A |
## `CUBEJS_DB_DATABRICKS_CATALOG`
The name of the [Databricks catalog][databricks-catalog] to connect to.
| Possible Values | Default in Development | Default in Production |
| ------------------------------- | ---------------------- | --------------------- |
| A valid Databricks catalog name | N/A | N/A |
[databricks-catalog]: (https://docs.databricks.com/en/data-governance/unity-catalog/create-catalogs.html)
## `CUBEJS_DB_DATABRICKS_TOKEN`
The [personal access token][databricks-docs-pat] used to authenticate the
Databricks connection.
| Possible Values | Default in Development | Default in Production |
| ------------------------------- | ---------------------- | --------------------- |
| A valid Databricks access token | N/A | N/A |
## `CUBEJS_DB_DATABRICKS_URL`
The URL for a JDBC connection.
| Possible Values | Default in Development | Default in Production |
| ---------------- | ---------------------- | --------------------- |
| A valid JDBC URL | N/A | N/A |
## `CUBEJS_DB_DOMAIN`
A domain name within an MS SQL database to connect to.
| Possible Values | Default in Development | Default in Production |
| -------------------------------------------- | ---------------------- | --------------------- |
| A valid domain name within a MS SQL database | N/A | N/A |
## `CUBEJS_DB_DUCKDB_MEMORY_LIMIT`
The [maximum memory limit][duckdb-docs-config] for DuckDB. Equivalent to
`SET memory_limit=`.
| Possible Values | Default in Development | Default in Production |
| -------------------------------- | ---------------------- | --------------------- |
| A valid MotherDuck service token | 75% of available RAM | 75% of available RAM |
[duckdb-docs-config]: https://duckdb.org/docs/sql/configuration.html
## `CUBEJS_DB_DUCKDB_SCHEMA`
The [default search schema][duckdb-docs-config] for DuckDB.
| Possible Values | Default in Development | Default in Production |
| ------------------- | ---------------------- | --------------------- |
| A valid schema name | `main` | `main` |
## `CUBEJS_DB_DUCKDB_MOTHERDUCK_TOKEN`
The [service token][motherduck-docs-svc-token] to use for connections to
MotherDuck.
| Possible Values | Default in Development | Default in Production |
| -------------------------------- | ---------------------- | --------------------- |
| A valid MotherDuck service token | N/A | N/A |
## `CUBEJS_DB_DUCKDB_DATABASE_PATH`
The database filepath to use for connection to a local database.
| Possible Values | Default in Development | Default in Production |
| --------------------------------- | ---------------------- | --------------------- |
| A valid duckdb database file path | N/A | N/A |
## `CUBEJS_DB_DUCKDB_S3_ACCESS_KEY_ID`
The AWS Access Key ID to use for S3 connections.
| Possible Values | Default in Development | Default in Production |
| ------------------------- | ---------------------- | --------------------- |
| A valid AWS Access Key ID | N/A | N/A |
## `CUBEJS_DB_DUCKDB_S3_SECRET_ACCESS_KEY`
The AWS Secret Access Key to use for S3 connections.
| Possible Values | Default in Development | Default in Production |
| ----------------------------- | ---------------------- | --------------------- |
| A valid AWS Secret Access Key | N/A | N/A |
## `CUBEJS_DB_DUCKDB_S3_ENDPOINT`
The AWS endpoint to use for S3 connections.
| Possible Values | Default in Development | Default in Production |
| ------------------------------------------------- | ---------------------- | --------------------- |
| [A valid AWS S3 endpoint][aws-docs-vpc-endpoints] | N/A | N/A |
[aws-docs-vpc-endpoints]:
https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html
## `CUBEJS_DB_DUCKDB_S3_REGION`
The AWS region to use for S3 connections.
| Possible Values | Default in Development | Default in Production |
| -------------------------------------- | ---------------------- | --------------------- |
| [A valid AWS region][aws-docs-regions] | N/A | N/A |
## `CUBEJS_DB_DUCKDB_S3_USE_SSL`
Use SSL when connecting to S3.
| Possible Values | Default in Development | Default in Production |
| -------------------------------------- | ---------------------- | --------------------- |
| True or false | N/A | N/A |
## `CUBEJS_DB_DUCKDB_S3_URL_STYLE`
The URL style to be used by S3.
| Possible Values | Default in Development | Default in Production |
| -------------------------------------- | ---------------------- | --------------------- |
| [vhost/path] | N/A | N/A |
## `CUBEJS_DB_DUCKDB_S3_SESSION_TOKEN`
The S3 session token.
| Possible Values | Default in Development | Default in Production |
| -------------------------------------- | ---------------------- | --------------------- |
| A valid S3 session token | N/A | N/A |
## `CUBEJS_DB_DUCKDB_EXTENSIONS`
A comma-separated list of DuckDB extensions to install and load.
| Possible Values | Default in Development | Default in Production |
| ------------------------------------------- | ---------------------- | --------------------- |
| A comma-separated list of DuckDB extensions | N/A | N/A |
## `CUBEJS_DB_DUCKDB_COMMUNITY_EXTENSIONS`
A comma-separated list of DuckDB community extensions to install and load.
| Possible Values | Default in Development | Default in Production |
| ----------------------------------------------------- | ---------------------- | --------------------- |
| A comma-separated list of DuckDB community extensions | N/A | N/A |
## `CUBEJS_DB_ELASTIC_APIKEY_ID`
The [ID of the API key from elastic.co][elastic-docs-api-keys]. Required when
using Elastic Cloud.
| Possible Values | Default in Development | Default in Production |
| ----------------------------- | ---------------------- | --------------------- |
| A valid Elastic.co API key ID | N/A | N/A |
## `CUBEJS_DB_ELASTIC_APIKEY_KEY`
The [API key from elastic.co][elastic-docs-api-keys]. Required when using
Elastic Cloud.
| Possible Values | Default in Development | Default in Production |
| -------------------------- | ---------------------- | --------------------- |
| A valid Elastic.co API key | N/A | N/A |
## `CUBEJS_DB_ELASTIC_OPENDISTRO`
If `true`, then use the Open Distro for Elasticsearch.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| `true`, `false` | N/A | N/A |
## `CUBEJS_DB_ELASTIC_QUERY_FORMAT`
By default, queries return data in JDBC format, but you can also return data in
standard Elasticsearch JDBC, JSON, CSV, YAML or raw formats (only JSON and JDBC
are currently supported).
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| `json`, `jdbc` | N/A | N/A |
## `CUBEJS_DB_EXPORT_BUCKET`
The name of a bucket in cloud storage to store the database export snapshots.
When using multiple data sources, this environment variable can be [decorated
with a data source][ref-config-multiple-ds-decorating-env].
| Possible Values | Default in Development | Default in Production |
| ---------------------------------------------- | ---------------------- | --------------------- |
| A valid bucket in the configured cloud storage | N/A | N/A |
```dotenv
CUBEJS_DB_EXPORT_BUCKET=exports-20210505
# Decorated with a data source named `datasource1`
CUBEJS_DS_DATASOURCE1_DB_EXPORT_BUCKET=exports-20210505
```
## `CUBEJS_DB_EXPORT_BUCKET_TYPE`
The cloud provider where the bucket is hosted.
When using multiple data sources, this environment variable can be [decorated
with a data source][ref-config-multiple-ds-decorating-env].
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| `gcp`, `s3` | N/A | N/A |
```dotenv
CUBEJS_DB_EXPORT_BUCKET_TYPE=gcp
# Decorated with a data source named `datasource1`
CUBEJS_DS_DATASOURCE1_DB_EXPORT_BUCKET_TYPE=gcp
```
## `CUBEJS_DB_EXPORT_BUCKET_AWS_KEY`
The AWS Access Key ID to use for the export bucket.
When using multiple data sources, this environment variable can be [decorated
with a data source][ref-config-multiple-ds-decorating-env].
| Possible Values | Default in Development | Default in Production |
| ------------------------- | ---------------------- | --------------------- |
| A valid AWS Access Key ID | N/A | N/A |
## `CUBEJS_DB_EXPORT_BUCKET_AWS_SECRET`
The AWS Secret Access Key to use for the export bucket.
When using multiple data sources, this environment variable can be [decorated
with a data source][ref-config-multiple-ds-decorating-env].
| Possible Values | Default in Development | Default in Production |
| ----------------------------- | ---------------------- | --------------------- |
| A valid AWS Secret Access Key | N/A | N/A |
## `CUBEJS_DB_EXPORT_BUCKET_AWS_REGION`
The AWS region of the export bucket.
When using multiple data sources, this environment variable can be [decorated
with a data source][ref-config-multiple-ds-decorating-env].
| Possible Values | Default in Development | Default in Production |
| -------------------------------------- | ---------------------- | --------------------- |
| [A valid AWS region][aws-docs-regions] | N/A | N/A |
## `CUBEJS_DB_EXPORT_BUCKET_AZURE_KEY`
The Azure Access Key to use for the export bucket.
When using multiple data sources, this environment variable can be [decorated
with a data source][ref-config-multiple-ds-decorating-env].
| Possible Values | Default in Development | Default in Production |
| ------------------------ | ---------------------- | --------------------- |
| A valid Azure Access Key | N/A | N/A |
## `CUBEJS_DB_EXPORT_BUCKET_AZURE_TENANT_ID`
The Azure tenant ID to use for the export bucket.
When using multiple data sources, this environment variable can be [decorated
with a data source][ref-config-multiple-ds-decorating-env].
| Possible Values | Default in Development | Default in Production |
| ----------------------- | ---------------------- | --------------------- |
| A valid Azure Tenant ID | N/A | N/A |
## `CUBEJS_DB_EXPORT_BUCKET_AZURE_CLIENT_ID`
The Azure client ID to use for the export bucket.
When using multiple data sources, this environment variable can be [decorated
with a data source][ref-config-multiple-ds-decorating-env].
| Possible Values | Default in Development | Default in Production |
| ----------------------- | ---------------------- | --------------------- |
| A valid Azure Client ID | N/A | N/A |
## `CUBEJS_DB_EXPORT_BUCKET_AZURE_CLIENT_SECRET`
The Azure client secret to use for the export bucket.
When using multiple data sources, this environment variable can be [decorated
with a data source][ref-config-multiple-ds-decorating-env].
| Possible Values | Default in Development | Default in Production |
| --------------------------- | ---------------------- | --------------------- |
| A valid Azure Client Secret | N/A | N/A |
## `CUBEJS_DB_EXPORT_BUCKET_MOUNT_DIR`
The mount path to use for a [Databricks DBFS mount][databricks-docs-dbfs].
| Possible Values | Default in Development | Default in Production |
| ------------------ | ---------------------- | --------------------- |
| A valid mount path | N/A | N/A |
## `CUBEJS_DB_EXPORT_BUCKET_REDSHIFT_ARN`
An ARN of an AWS IAM role with permission to write to the configured bucket (see
[`CUBEJS_DB_EXPORT_BUCKET`](#cubejs-db-export-bucket)).
When using multiple data sources, this environment variable can be [decorated
with a data source][ref-config-multiple-ds-decorating-env].
| Possible Values | Default in Development | Default in Production |
| -------------------------------------------------------------------------- | ---------------------- | --------------------- |
| A valid ARN to an IAM Role associated with the target Redshift data source | N/A | N/A |
## `CUBEJS_DB_EXPORT_GCS_CREDENTIALS`
A Base64 encoded JSON key file for connecting to Google Cloud.
When using multiple data sources, this environment variable can be [decorated
with a data source][ref-config-multiple-ds-decorating-env].
| Possible Values | Default in Development | Default in Production |
| ------------------------------------------------------------- | ---------------------- | --------------------- |
| A valid Google Cloud JSON key file encoded as a Base64 string | N/A | N/A |
## `CUBEJS_DB_EXPORT_INTEGRATION`
The name of the integration used in the database. Only required when using
Snowflake and Google Cloud Storage.
When using multiple data sources, this environment variable can be [decorated
with a data source][ref-config-multiple-ds-decorating-env].
| Possible Values | Default in Development | Default in Production |
| ---------------------------------------------------------------- | ---------------------- | --------------------- |
| A valid string matching the name of the integration in Snowflake | N/A | N/A |
## `CUBEJS_DB_HOST`
The host URL for a database.
| Possible Values | Default in Development | Default in Production |
| ------------------------- | ---------------------- | --------------------- |
| A valid database host URL | N/A | N/A |
## `CUBEJS_DB_SOCKET_PATH`
The path to a Unix socket that is used to connect to a data source, e.g.,
[MySQL](/product/configuration/data-sources/mysql#connecting-via-a-unix-socket).
| Possible Values | Default in Development | Default in Production |
| ------------------------- | ---------------------- | --------------------- |
| A valid path to a socket | N/A | N/A |
## `CUBEJS_DB_MAX_POOL`
The maximum number of concurrent database connections to pool.
| Possible Values | Default in Development | Default in Production |
| --------------- | ------------------------------------------- | ------------------------------------------- |
| A valid number | [See database-specific page][ref-config-db] | [See database-specific page][ref-config-db] |
## `CUBEJS_DB_NAME`
The name of the database to connect to.
| Possible Values | Default in Development | Default in Production |
| --------------------- | ---------------------- | --------------------- |
| A valid database name | N/A | N/A |
## `CUBEJS_DB_PASS`
The password used to connect to the database.
| Possible Values | Default in Development | Default in Production |
| ------------------------- | ---------------------- | --------------------- |
| A valid database password | N/A | N/A |
## `CUBEJS_DB_PORT`
The port for the database connection.
| Possible Values | Default in Development | Default in Production |
| ------------------- | ---------------------- | --------------------- |
| A valid port number | N/A | N/A |
## `CUBEJS_DB_PRESTO_CATALOG`
The catalog within Presto/Trino to connect to.
| Possible Values | Default in Development | Default in Production |
| --------------------------------------------------- | ---------------------- | --------------------- |
| A valid catalog name within a Presto/Trino database | N/A | N/A |
## `CUBEJS_DB_QUERY_TIMEOUT`
The timeout value for any queries made to the database by Cube.
| Possible Values | Default in Development | Default in Production |
| ---------------------------------------- | ---------------------- | --------------------- |
| A number in seconds or a duration string | `10m` | `10m` |
There's a hard limit of 20 minutes for queries that ingest data into Cube Store
when pre-aggregations are built. If you bump into this limit, consider using
an export bucket and splitting pre-aggregations into partitions.
## `CUBEJS_DB_FETCH_COLUMNS_BY_ORDINAL_POSITION`
Force fetching of columns by ordinal positions. Certain data-providers (e.g., Redshift) do not guarantee columns in the
same order on each request (e.g., `SELECT * FROM foo`). This flag ensures that columns will be fetched in proper order
for pre-aggregation generation.
| Possible Values | Default in Development | Default in Production |
| -------------------------------------------------- | ---------------------- | --------------------- |
| Whether to force fetch columns in ordinal position | `true` | `true` |
## `CUBEJS_DB_MATERIALIZE_CLUSTER`
The cluster name to use when connecting to [Materialize](/product/configuration/data-sources/materialize).
| Possible Values | Default in Development | Default in Production |
| --------------------------------------------------------- | ---------------------- | --------------------- |
| A valid Materialize cluster name | N/A | N/A |
## `CUBEJS_DB_MYSQL_USE_NAMED_TIMEZONES`
This flag controls how time zones conversion is done in the generated SQL for MySQL:
- If it is set to `true`, time zone names are used. In this case, your MySQL server needs
to be [configured][mysql-server-tz-support] properly.
- If it is set to `false`, numeric offsets are used instead.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| `true`, `false` | `false` | `false` |
## `CUBEJS_DB_SNOWFLAKE_ACCOUNT`
The Snowflake account identifier to use when connecting to the database.
| Possible Values | Default in Development | Default in Production |
| --------------------------------------------------------- | ---------------------- | --------------------- |
| [A valid Snowflake account ID][snowflake-docs-account-id] | N/A | N/A |
## `CUBEJS_DB_SNOWFLAKE_AUTHENTICATOR`
The type of authenticator to use with Snowflake. Use `SNOWFLAKE` with
username/password, or `SNOWFLAKE_JWT` with key pairs.
| Possible Values | Default in Development | Default in Production |
| ---------------------------- | ---------------------- | --------------------- |
| `SNOWFLAKE`, `SNOWFLAKE_JWT` | `SNOWFLAKE` | `SNOWFLAKE` |
## `CUBEJS_DB_SNOWFLAKE_CLIENT_SESSION_KEEP_ALIVE`
If `true`, [keep the Snowflake connection alive
indefinitely][snowflake-docs-connection-options].
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| `true`, `false` | `true` | `true` |
## `CUBEJS_DB_SNOWFLAKE_PRIVATE_KEY`
The content of the private RSA key (encrypted or not).
| Possible Values | Default in Development | Default in Production |
| ------------------------------ | ---------------------- | --------------------- |
| Content of the private RSA key | N/A | N/A |
## `CUBEJS_DB_SNOWFLAKE_PRIVATE_KEY_PASS`
The password for the private RSA key. Only required for encrypted keys.
| Possible Values | Default in Development | Default in Production |
| -------------------------------------------------- | ---------------------- | --------------------- |
| A valid password for the encrypted private RSA key | N/A | N/A |
## `CUBEJS_DB_SNOWFLAKE_PRIVATE_KEY_PATH`
The path to the private RSA key folder.
| Possible Values | Default in Development | Default in Production |
| ----------------------------------- | ---------------------- | --------------------- |
| A valid path to the private RSA key | N/A | N/A |
## `CUBEJS_DB_SNOWFLAKE_REGION`
The Snowflake region to use when connecting to the database.
| Possible Values | Default in Development | Default in Production |
| -------------------------------------------------- | ---------------------- | --------------------- |
| [A valid Snowflake region][snowflake-docs-regions] | N/A | N/A |
## `CUBEJS_DB_SNOWFLAKE_ROLE`
The Snowflake role to use when connecting to the database.
| Possible Values | Default in Development | Default in Production |
| ------------------------------------------------------------- | ---------------------- | --------------------- |
| [A valid Snowflake role][snowflake-docs-roles] in the account | N/A | N/A |
## `CUBEJS_DB_SNOWFLAKE_WAREHOUSE`
The Snowflake warehouse to use when connecting to the database.
| Possible Values | Default in Development | Default in Production |
| ---------------------------------------------------------------------- | ---------------------- | --------------------- |
| [A valid Snowflake warehouse][snowflake-docs-warehouse] in the account | N/A | N/A |
## `CUBEJS_DB_PINOT_NULL_HANDLING`
The Startree/Pinot null value support. If `true`, enables null handling.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| `true`, `false` | `false` | `false` |
## `CUBEJS_DB_PINOT_AUTH_TOKEN`
The authentication token for StarTree to be passed as HTTP headers.
| Possible Values | Default in Development | Default in Production |
| ----------------------------------- | ---------------------- | --------------------- |
| A valid string containing the token | N/A | N/A |
## `CUBEJS_DB_SSL`
If `true`, enables SSL encryption for database connections from Cube.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| `true`, `false` | N/A | N/A |
## `CUBEJS_DB_TYPE`
A database from the list of [supported databases][ref-config-db].
| Possible Values | Default in Development | Default in Production |
| ----------------------------------------------------- | ---------------------- | --------------------- |
| [Any valid database supported by Cube][ref-config-db] | N/A | N/A |
## `CUBEJS_DB_URL`
The URL for a database.
| Possible Values | Default in Development | Default in Production |
| -------------------- | ---------------------- | --------------------- |
| A valid database URL | N/A | N/A |
## `CUBEJS_DB_USER`
The username used to connect to the database.
| Possible Values | Default in Development | Default in Production |
| ------------------------- | ---------------------- | --------------------- |
| A valid database username | N/A | N/A |
## `CUBEJS_DB_QUERY_DEFAULT_LIMIT`
The default [row limit][ref-row-limit] in the result set if it's not explicitly
specified in an API query.
| Possible Values | Default in Development | Default in Production |
| ------------------------- | ---------------------- | --------------------- |
| A positive integer number | `10000` | `10000` |
## `CUBEJS_DB_QUERY_LIMIT`
The maximum [row limit][ref-row-limit] in the result set.
| Possible Values | Default in Development | Default in Production |
| ------------------------- | ---------------------- | --------------------- |
| A positive integer number | `50000` | `50000` |
Increasing the maximum row limit may cause out-of-memory (OOM) crashes and make
Cube susceptible to denial-of-service (DoS) attacks if it's exposed to
untrusted environments.
## `CUBEJS_DEFAULT_API_SCOPES`
[API scopes][ref-rest-scopes] used to allow or disallow access to REST API
endpoints.
| Possible Values | Default in Development | Default in Production |
| ------------------------------------------------------------------------------ | ---------------------- | --------------------- |
| A comma-delimited string with any combination of [API scopes][ref-rest-scopes] | `meta,data,graphql,sql`| `meta,data,graphql,sql`|
See also the [`context_to_api_scopes` configuration
option](/reference/configuration/config#context_to_api_scopes).
## `CUBEJS_DEV_MODE`
If `true`, enables [development mode](/product/configuration#development-mode).
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| `true`, `false` | `true` | `false` |
## `CUBEJS_DROP_PRE_AGG_WITHOUT_TOUCH`
If `true`, it enables dropping pre-aggregations that Refresh Worker doesn't
touch within [`CUBEJS_TOUCH_PRE_AGG_TIMEOUT`](#cubejs-touch-pre-agg-timeout).
Pre-aggregations are touched whenever they are rebuilt or a Refresh Worker
checks its freshness. The first drop will be initiated when the Refresh Worker
is able to check freshness for every `scheduledRefresh: true` pre-aggregation.
If you have multiple Refresh Workers with different data model versions sharing
the same Cube Store cluster, then touches from both refresh workers are
respected.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| `true`, `false` | `true` | `true` |
## `CUBEJS_FIREBOLT_ACCOUNT`
The [Firebolt account name][firebolt-docs-account-name].
| Possible Values | Default in Development | Default in Production |
| ----------------------------------------------------------- | ---------------------- | --------------------- |
| A valid [Firebolt account name][firebolt-docs-account-name] | N/A | N/A |
## `CUBEJS_FIREBOLT_API_ENDPOINT`
The Firebolt API endpoint. Used for authentication.
| Possible Values | Default in Development | Default in Production |
| ----------------------------------------------------------------------- | ---------------------- | --------------------- |
| `api.dev.firebolt.io`, `api.staging.firebolt.io`, `api.app.firebolt.io` | N/A | N/A |
## `CUBEJS_FIREBOLT_ENGINE_NAME`
The [name of the Firebolt engine][firebolt-docs-engine-name] to connect to.
| Possible Values | Default in Development | Default in Production |
| --------------------------------------------------------- | ---------------------- | --------------------- |
| A valid [Firebolt engine name][firebolt-docs-engine-name] | N/A | N/A |
## `CUBEJS_GH_API_TOKEN`
A [GitHub Personal Access Token][gh-docs-pat] to avoid API rate limiting when
downloading Cube Store.
| Possible Values | Default in Development | Default in Production |
| ------------------ | ---------------------- | --------------------- |
| A valid GitHub PAT | `false` | `false` |
## `CUBEJS_JWK_URL`
Enables [JSON Web Key (JWK)][ietf-jwk-ref]-based authentication in Cube.
| Possible Values | Default in Development | Default in Production |
| --------------------------------- | ---------------------- | --------------------- |
| A valid URL to a JSON Web Key Set | N/A | N/A |
It can be also set as `jwkUrl` in the [`jwt` configuration
option](/reference/configuration/config#jwt).
## `CUBEJS_JWT_ALGS`
[Any supported algorithm for decoding JWTs][gh-jsonwebtoken-algs].
| Possible Values | Default in Development | Default in Production |
| ---------------- | ---------------------- | --------------------- |
| `HS256`, `RS256` | N/A | N/A |
It can be also set as `algorithms` in the [`jwt` configuration
option](/reference/configuration/config#jwt).
## `CUBEJS_JWT_AUDIENCE`
An audience value which will be used to enforce the [`aud` claim from inbound
JWTs][ietf-jwt-ref-aud].
| Possible Values | Default in Development | Default in Production |
| ------------------- | ---------------------- | --------------------- |
| A valid `aud` claim | N/A | N/A |
It can be also set as `audience` in the [`jwt` configuration
option](/reference/configuration/config#jwt).
## `CUBEJS_JWT_CLAIMS_NAMESPACE`
A namespace within the decoded JWT under which any custom claims can be found.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| A valid string | N/A | N/A |
It can be also set as `claimsNamespace` in the [`jwt` configuration
option](/reference/configuration/config#jwt).
## `CUBEJS_JWT_ISSUER`
An issuer value which will be used to enforce the [`iss` claim from inbound
JWTs][ietf-jwt-ref-iss].
| Possible Values | Default in Development | Default in Production |
| ------------------- | ---------------------- | --------------------- |
| A valid `iss` claim | N/A | N/A |
It can be also set as `issuer` in the [`jwt` configuration
option](/reference/configuration/config#jwt).
## `CUBEJS_JWT_KEY`
The secret key used to sign and verify JWTs. Similar to
[`CUBEJS_API_SECRET`](#cubejs-api-secret).
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| A valid string | N/A | N/A |
It can be also set as `key` in the [`jwt` configuration
option](/reference/configuration/config#jwt).
## `CUBEJS_JWT_SUBJECT`
A subject value which will be used to enforce the [`sub` claim from inbound
JWTs][ietf-jwt-ref-sub].
| Possible Values | Default in Development | Default in Production |
| ------------------- | ---------------------- | --------------------- |
| A valid `sub` claim | N/A | N/A |
It can be also set as `subject` in the [`jwt` configuration
option](/reference/configuration/config#jwt).
## `CUBEJS_LOG_LEVEL`
The logging level for Cube.
| Possible Values | Default in Development | Default in Production |
| -------------------------------- | ---------------------- | --------------------- |
| `error`, `info`, `trace`, `warn` | `warn` | `warn` |
See also `CUBESTORE_LOG_LEVEL`.
See also the [`logger` configuration option](/reference/configuration/config#logger).
## `CUBEJS_MAX_PARTITIONS_PER_CUBE`
The maximum number of partitions each pre-aggregation in a cube can use.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| A valid number | `10000` | `10000` |
## `CUBEJS_PG_SQL_PORT`
The port used by the [SQL API][ref-sql-api] to listen to Postgres-compatible
connections on.
| Possible Values | Default in Development | Default in Production |
| ------------------- | ---------------------- | --------------------- |
| A valid port number | N/A | N/A |
## `CUBEJS_PRE_AGGREGATIONS_BUILDER`
If `true`, this instance of Cube will build pre-aggregations, even if it is an
API instance.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------------------------------------------------- |
| `true`, `false` | `true` | `false` [\*](#cubejs-pre-aggregations-builder-notes) |
### Notes
If Cube is configured to act as a refresh worker instance using
[`CUBEJS_REFRESH_WORKER`](#cubejs-refresh-worker), then
`CUBEJS_PRE_AGGREGATIONS_BUILDER` will be `true`.
## `CUBEJS_PRE_AGGREGATIONS_SCHEMA`
The [database schema name](/reference/configuration/config#pre_aggregations_schema)
to use for storing pre-aggregations.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | ----------------------- |
| A valid string | `dev_pre_aggregations` | `prod_pre_aggregations` |
It can be also set using the [`pre_aggregations_schema` configuration
option](/reference/configuration/config#pre_aggregations_schema).
## `CUBEJS_PRE_AGGREGATIONS_ALLOW_NON_STRICT_DATE_RANGE_MATCH`
If `true`, allows non-strict date range matching for pre-aggregations by default.
This can be overridden for individual pre-aggregations using the
[`allow_non_strict_date_range_match`][ref-schema-ref-preagg-allownonstrict] parameter.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| `true`, `false` | `true` | `true` |
## `CUBEJS_REFRESH_WORKER`
If `true`, this instance of Cube will **only** refresh pre-aggregations.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| `true`, `false` | `false` | `false` |
## `CUBEJS_ROLLUP_ONLY`
If `true`, the API instance of Cube will **only** fulfill queries from
pre-aggregations. See [rollup-only
mode](/product/caching/using-pre-aggregations#rollup-only-mode) for details.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| `true`, `false` | `false` | `false` |
It can be also set using the [`orchestrator_options.rollupOnlyMode` configuration
option](/reference/configuration/config#orchestrator_options).
## `CUBEJS_SCHEDULED_REFRESH_TIMEZONES`
A comma-separated [list of timezones to schedule refreshes
for][ref-config-sched-refresh-timer].
| Possible Values | Default in Development | Default in Production |
| --------------------------------------------------------- | ---------------------- | --------------------- |
| [A valid timezone from the tz database][wiki-tz-database] | N/A | N/A |
It can be also set using the [`scheduled_refresh_time_zones` configuration
option](/reference/configuration/config#scheduled_refresh_time_zones).
## `CUBEJS_SCHEMA_PATH`
The path where Cube loads data models from.
| Possible Values | Default in Development | Default in Production |
| ---------------------------------------- | ---------------------- | --------------------- |
| A valid path containing Cube data models | `model` | `model` |
Until v0.35, the default value was `schema`.
It can be also set using the [`schema_path` configuration
option](/reference/configuration/config#schema_path).
## `CUBEJS_SQL_USER`
A username required to access the [SQL API][ref-sql-api].
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| A valid string | N/A | N/A |
See also the [`check_sql_auth` configuration
option](/reference/configuration/config#check_sql_auth).
## `CUBEJS_SQL_PASSWORD`
A password required to access the [SQL API][ref-sql-api].
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| A valid string | N/A | N/A |
See also the [`check_sql_auth` configuration
option](/reference/configuration/config#check_sql_auth).
## `CUBEJS_SQL_SUPER_USER`
A name of specific user who will be allowed to change the user during the SQL API
session.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| A valid string | N/A | N/A |
See also the [`can_switch_sql_user` configuration
option](/reference/configuration/config#can_switch_sql_user).
## `CUBEJS_ALLOW_UNGROUPED_WITHOUT_PRIMARY_KEY`
If `true`, disables the primary key inclusion check for
[ungrouped queries](/product/apis-integrations/queries#ungrouped-query).
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| `true`, `false` | `false` | `false` |
It can be also set using the [`allow_ungrouped_without_primary_key` configuration
option](/reference/configuration/config#allow_ungrouped_without_primary_key).
When query push-own in the SQL API is enabled via the `CUBESQL_SQL_PUSH_DOWN`
environment variable, this option is enabled as well for the best user experience.
## `CUBESQL_SQL_PUSH_DOWN`
If `true`, enables query pushdown in the [SQL API][ref-sql-api].
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| `true`, `false` | `true` | `true` |
Query pushdown in the SQL API is available in public preview.
[Read more](https://cube.dev/blog/query-push-down-in-cubes-semantic-layer) in the blog.
## `CUBESQL_STREAM_MODE`
If `true`, enables the [streaming mode][ref-sql-api-streaming] in the [SQL API][ref-sql-api].
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| `true`, `false` | `false` | `false` |
## `CUBESQL_SQL_NO_IMPLICIT_ORDER`
If `true`, prevents adding implicit [default `ORDER BY`
clause](/product/apis-integrations/queries#order) for [SQL API][ref-sql-api] queries.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| `true`, `false` | `true` | `true` |
## `CUBEJS_MAX_SESSIONS`
Specifies the maximum number of concurrent sessions (connections) to the
[SQL API][ref-sql-api] and safeguards your Cube deployment from out-of-memory
crashes when too many connections are attempted to be established.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| A valid number | 1024 | 1024 |
## `CUBESQL_REWRITE_MAX_NODES`
Specifies the maximum number of e-graph nodes that are allocated during
the creation of a query plan in the [SQL API][ref-sql-api].
Should be increased if you get the following error:
`Error during rewrite: Can't find rewrite due to 10002 AST node limit reached.`
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| A valid number | 10000 | 10000 |
## `CUBESQL_REWRITE_MAX_ITERATIONS`
Specifies the maximum number of e-graph term rewriting iterations that are performed
during the creation of a query plan in the [SQL API][ref-sql-api].
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| A valid number | 300 | 300 |
## `CUBESQL_REWRITE_TIMEOUT`
Specifies the maximum time, in seconds, that is allocated for
the creation of a query plan in the [SQL API][ref-sql-api].
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| A valid number | 30 | 30 |
## `CUBESQL_AUTH_EXPIRE_SECS`
Number of seconds before session's SQL API security context will be invalidated.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| A valid integer number | `300` | `300` |
## `CUBEJS_DAX_CREATE_DATE_HIERARCHIES`
If `true`, the DAX API will expose time dimensions as calendar hierarchies.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| `true`, `false` | `true` | `true` |
## `CUBEJS_TELEMETRY`
If `true`, then send telemetry to Cube.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| `true`, `false` | `true` | `true` |
## `CUBESTORE_METRICS_FORMAT`
Define which metrics collector format.
| Possible Values | Default in Development | Default in Production |
| --------------------- | ---------------------- | --------------------- |
| `statsd`, `dogstatsd` | `statsd` | `statsd` |
## `CUBESTORE_METRICS_ADDRESS`
Required IP address to send metrics.
| Possible Values | Default in Development | Default in Production |
| ------------------ | ---------------------- | --------------------- |
| A valid IP address | `127.0.0.1` | `127.0.0.1` |
## `CUBESTORE_METRICS_PORT`
Required port to send where collector server accept UDP connections.
| Possible Values | Default in Development | Default in Production |
| ------------------- | ---------------------- | --------------------- |
| A valid port number | `8125` | `8125` |
## `CUBEJS_TOUCH_PRE_AGG_TIMEOUT`
The number of seconds without a touch before pre-aggregation is considered
orphaned and marked for removal. Please see
[`CUBEJS_DROP_PRE_AGG_WITHOUT_TOUCH`](#cubejs-drop-pre-agg-without-touch) to
learn more.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| A valid number | 86400 | 86400 |
## `CUBEJS_TRANSPILATION_WORKER_THREADS`
If `true`, optimizes data model compilation by running critical parts of the
code in worker threads.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| `true`, `false` | `false` | `false` |
See [this issue](https://github.com/cube-js/cube/issues/9285) for details.
## `CUBEJS_WEB_SOCKETS`
If `true`, then use WebSocket for data fetching.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| `true`, `false` | `true` | `true` |
## `CUBEJS_TESSERACT_ORCHESTRATOR`
If `true`, enables performance optimizations in the query orchestrator,
such as deserializing Cube Store result sets in native Rust code.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| `true`, `false` | `true` | `true` |
## `CUBEJS_TESSERACT_SQL_PLANNER`
If `true`, enables Tesseract, the [next-generation data modeling engine][link-tesseract].
Tesseract powers [multi-stage calculations][ref-multi-stage-calculations].
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| `true`, `false` | `false` | `false` |
Tesseract is currently in preview.
## `CUBESTORE_AWS_ACCESS_KEY_ID`
The Access Key ID for AWS. Required when using AWS S3.
| Possible Values | Default in Development | Default in Production |
| ------------------------------------------- | ---------------------- | --------------------- |
| [A valid AWS Access Key ID][aws-docs-creds] | N/A | N/A |
## `CUBESTORE_AWS_SECRET_ACCESS_KEY`
The Secret Access Key for AWS. Required when using AWS S3.
| Possible Values | Default in Development | Default in Production |
| ----------------------------------------------- | ---------------------- | --------------------- |
| [A valid AWS Secret Access Key][aws-docs-creds] | N/A | N/A |
## `CUBESTORE_AWS_CREDS_REFRESH_EVERY_MINS`
The number of minutes after which Cube Store should refresh AWS credentials.
Required when using an AWS instance role.
| Possible Values | Default in Development | Default in Production |
| ------------------------- | ---------------------- | --------------------- |
| A valid number in minutes | `180` | `180` |
## `CUBESTORE_BIND_ADDR`
The address/port pair for Cube Store's MySQL-compatible interface.
| Possible Values | Default in Development | Default in Production |
| ------------------------- | ---------------------- | --------------------- |
| A valid address/port pair | `0.0.0.0:3306` | `0.0.0.0:3306` |
## `CUBESTORE_DATA_DIR`
A path on the local filesystem to store a local replica of the data. Must be
unique on each node and different from `CUBESTORE_REMOTE_DIR`.
| Possible Values | Default in Development | Default in Production |
| ----------------------------------------------------------- | ---------------------- | --------------------- |
| A valid path on the local filesystem with read/write access | `.cubestore/data` | `.cubestore/data` |
## `CUBESTORE_GCP_CREDENTIALS`
A Base64-encoded JSON key for connecting to Google Cloud. Required when
using Google Cloud Storage
| Possible Values | Default in Development | Default in Production |
| ------------------------------------------------------------------------------- | ---------------------- | --------------------- |
| [A valid Google Cloud JSON key encoded as a Base64 string][gcp-docs-creds-json] | N/A | N/A |
## `CUBESTORE_GCP_KEY_FILE`
The path to a JSON key file for connecting to Google Cloud. Required when using
Google Cloud Storage.
| Possible Values | Default in Development | Default in Production |
| --------------------------------------------------------- | ---------------------- | --------------------- |
| [A valid Google Cloud JSON key file][gcp-docs-creds-json] | N/A | N/A |
## `CUBESTORE_GCS_BUCKET`
The name of a bucket in GCS. Required when using GCS
| Possible Values | Default in Development | Default in Production |
| ----------------------------------------------- | ---------------------- | --------------------- |
| A valid bucket name in the Google Cloud account | N/A | N/A |
## `CUBESTORE_GCS_SUB_PATH`
The path in a GCS bucket to store pre-aggregations. Optional
| Possible Values | Default in Development | Default in Production |
| ------------------- | ---------------------- | --------------------- |
| A valid path prefix | N/A | N/A |
## `CUBESTORE_HTTP_BIND_ADDR`
The address/port pair for Cube Store's HTTP interface.
| Possible Values | Default in Development | Default in Production |
| ------------------------- | ---------------------- | --------------------- |
| A valid address/port pair | `0.0.0.0:3030` | `0.0.0.0:3030` |
## `CUBESTORE_HTTP_PORT`
The port for Cube Store to listen to HTTP connections on. Ignored when
[`CUBESTORE_HTTP_BIND_ADDR`](#cubestore-http-bind-addr) is set.
| Possible Values | Default in Development | Default in Production |
| ------------------- | ---------------------- | --------------------- |
| A valid port number | `3030` | `3030` |
## `CUBESTORE_JOB_RUNNERS`
The number of parallel tasks that process non-interactive jobs like data
insertion, compaction etc.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| A valid number | `4` | `4` |
## `CUBESTORE_LOG_LEVEL`
The logging level for Cube Store.
| Possible Values | Default in Development | Default in Production |
| ----------------------------------------- | ---------------------- | --------------------- |
| `error`, `warn`, `info`, `debug`, `trace` | `error` | `error` |
See also `CUBEJS_LOG_LEVEL`.
## `CUBESTORE_META_ADDR`
The address/port pair for the Cube Store **router** node in the cluster.
| Possible Values | Default in Development | Default in Production |
| ------------------------- | ---------------------- | --------------------- |
| A valid address/port pair | N/A | N/A |
## `CUBESTORE_META_PORT`
The port for the Cube Store **router** node to listen for connections on.
Ignored when `CUBESTORE_META_ADDR` is set.
| Possible Values | Default in Development | Default in Production |
| ------------------- | ---------------------- | --------------------- |
| A valid port number | N/A | N/A |
## `CUBESTORE_MINIO_ACCESS_KEY_ID`
The Access Key ID for MinIO. Required when using MinIO.
| Possible Values | Default in Development | Default in Production |
| --------------------------- | ---------------------- | --------------------- |
| A valid MinIO Access Key ID | N/A | N/A |
## `CUBESTORE_MINIO_BUCKET`
The name of the bucket that you want to use MinIO. Required when using MinIO.
| Possible Values | Default in Development | Default in Production |
| ------------------- | ---------------------- | --------------------- |
| A valid bucket name | N/A | N/A |
## `CUBESTORE_MINIO_SUB_PATH`
The name of sub path (folder) inside the bucket that you want to use. Required when using MinIO.
| Possible Values | Default in Development | Default in Production |
| ------------------- | ---------------------- | --------------------- |
| A valid sub path (folder) name | N/A | N/A |
## `CUBESTORE_MINIO_CREDS_REFRESH_EVERY_MINS`
The number of minutes after which Cube Store should refresh MinIO credentials.
| Possible Values | Default in Development | Default in Production |
| ------------------------- | ---------------------- | --------------------- |
| A valid number in minutes | `180` | `180` |
## `CUBESTORE_MINIO_REGION`
The region of a bucket in AWS. Optional when using MinIO.
| Possible Values | Default in Development | Default in Production |
| ------------------------------------------------------ | ---------------------- | --------------------- |
| A valid S3 region name, an empty string if not present | N/A | N/A |
## `CUBESTORE_MINIO_SECRET_ACCESS_KEY`
The Secret Access Key for MinIO. Required when using MinIO.
| Possible Values | Default in Development | Default in Production |
| ------------------------------- | ---------------------- | --------------------- |
| A valid MinIO Secret Access Key | N/A | N/A |
## `CUBESTORE_MINIO_SERVER_ENDPOINT`
The MinIO server endpoint. Required when using MinIO.
| Possible Values | Default in Development | Default in Production |
| ---------------------- | ---------------------- | --------------------- |
| A valid MinIO endpoint | N/A | N/A |
```dotenv
CUBESTORE_MINIO_SERVER_ENDPOINT=http://localhost:9000
```
## `CUBESTORE_NO_UPLOAD`
If `true`, prevents uploading serialized pre-aggregations to cloud storage.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| `true`, `false` | `false` | `false` |
## `CUBESTORE_PORT`
The port for Cube Store to listen to connections on. Ignored when
`CUBESTORE_BIND_ADDR` is set.
| Possible Values | Default in Development | Default in Production |
| ------------------- | ---------------------- | --------------------- |
| A valid port number | `3306` | `3306` |
## `CUBESTORE_QUERY_TIMEOUT`
The timeout for SQL queries in seconds.
| Possible Values | Default in Development | Default in Production |
| ------------------- | ---------------------- | --------------------- |
| A number in seconds | `120` | `120` |
## `CUBESTORE_REMOTE_DIR`
A path on the local filesystem to store metadata and datasets from all nodes as
if it were remote storage. Not required if using GCS/S3. Not recommended for
production usage
| Possible Values | Default in Development | Default in Production |
| ----------------------------------------------------------- | ---------------------- | --------------------- |
| A valid path on the local filesystem with read/write access | N/A | N/A |
## `CUBESTORE_S3_BUCKET`
The name of a bucket in AWS S3. Required when using AWS S3.
| Possible Values | Default in Development | Default in Production |
| -------------------------------------- | ---------------------- | --------------------- |
| A valid bucket name in the AWS account | N/A | N/A |
## `CUBESTORE_S3_REGION`
| The region of a bucket in AWS S3. Required when using AWS S3.
| Possible Values | Default in Development | Default in Production |
| -------------------------------------- | ---------------------- | --------------------- |
| [A valid AWS region][aws-docs-regions] | N/A | N/A |
## `CUBESTORE_S3_SUB_PATH`
The path in a AWS S3 bucket to store pre-aggregations. Optional.
| Possible Values | Default in Development | Default in Production |
| ------------------- | ---------------------- | --------------------- |
| A valid path prefix | N/A | N/A |
## `CUBESTORE_SELECT_WORKERS`
The number of Cube Store sub-processes that handle `SELECT` queries.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| A valid number | `4` | `4` |
## `CUBESTORE_SERVER_NAME`
The full name and port number of the Cube Store node (either the router
or a worker). Must be unique for each instance in the Cube Store cluster.
Should be passed to the Cube Store router and to each Cube Store worker.
| Possible Values | Default in Development | Default in Production |
| ------------------------- | ---------------------- | --------------------- |
| A valid address/port pair | `localhost` | `localhost` |
## `CUBESTORE_TELEMETRY`
If `true`, then sends telemetry to Cube.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| `true`, `false` | `true` | `true` |
## `CUBESTORE_WAL_SPLIT_THRESHOLD`
The maximum number of rows to keep in a single chunk of data right after
insertion.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| A valid number | `262144` | `262144` |
## `CUBESTORE_WORKER_PORT`
The port for Cube Store workers to listen to connections on. When set, the node
will start as a Cube Store **worker** in the cluster
| Possible Values | Default in Development | Default in Production |
| ------------------- | ---------------------- | --------------------- |
| A valid port number | N/A | N/A |
## `CUBESTORE_WORKERS`
A comma-separated list of address/port pairs of Cube Store workers.
Should be passed to the Cube Store router and to each Cube Store worker.
| Possible Values | Default in Development | Default in Production |
| -------------------------------------------- | ---------------------- | --------------------- |
| A comma-separated list of address/port pairs | N/A | N/A |
```dotenv
CUBESTORE_WORKERS=worker-1:3123,localhost:3124,123.124.125.128:3123
```
Used to implement stateless addressing within a Cube Store cluster.
By analyzing `CUBESTORE_WORKERS` and `CUBESTORE_SERVER_NAME`, each node
is able to determine its position within a Cube Store cluster.
This allows each worker to know which pre-aggregation partitions it owns
and how the load is distributed across all workers.
## `DEBUG_LOG`
If `true`, enables debug logging.
| Possible Values | Default in Development | Default in Production |
| --------------- | ---------------------- | --------------------- |
| `true`, `false` | `false` | `false` |
## `PORT`
The port for a Cube deployment to listen to API connections on.
| Possible Values | Default in Development | Default in Production |
| ------------------- | ---------------------- | --------------------- |
| A valid port number | `4000` | `4000` |
[aws-athena]: https://aws.amazon.com/athena
[aws-athena-workgroup]:
https://docs.aws.amazon.com/athena/latest/ug/workgroups-benefits.html
[aws-athena-catalog]:
https://docs.aws.amazon.com/athena/latest/ug/understanding-tables-databases-and-the-data-catalog.html
[aws-docs-creds]:
https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys
[aws-docs-regions]:
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions
[aws-docs-vpc-endpoints]:
https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html
[bq-docs-regional-locations]:
https://cloud.google.com/bigquery/docs/locations#regional-locations
[databricks-docs-dbfs]:
https://docs.databricks.com/data/databricks-file-system.html#mount-object-storage-to-dbfs
[databricks-docs-pat]:
https://docs.databricks.com/dev-tools/api/latest/authentication.html#token-management
[elastic-docs-api-keys]:
https://www.elastic.co/guide/en/kibana/master/api-keys.html#create-api-key
[firebolt-docs-account-name]:
https://docs.firebolt.io/managing-your-account/concepts-and-terminology.html#firebolt-account
[firebolt-docs-engine-name]:
https://docs.firebolt.io/working-with-engines/understanding-engine-fundamentals.html#engine-name
[gcp-docs-creds-json]:
https://cloud.google.com/iam/docs/creating-managing-service-account-keys
[gh-docs-pat]:
https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token
[gh-jsonwebtoken-algs]:
https://github.com/auth0/node-jsonwebtoken#algorithms-supported
[ietf-jwk-ref]: https://tools.ietf.org/html/rfc7517#section-4
[ietf-jwt-ref-iss]: https://tools.ietf.org/html/rfc7519#section-4.1.1
[ietf-jwt-ref-sub]: https://tools.ietf.org/html/rfc7519#section-4.1.2
[ietf-jwt-ref-aud]: https://tools.ietf.org/html/rfc7519#section-4.1.3
[motherduck-docs-svc-token]:
https://motherduck.com/docs/authenticating-to-motherduck/#authentication-using-a-service-token
[ref-config]: /reference/configuration/config
[ref-config-conf-ctx-to-appid]: /reference/configuration/config#context_to_app_id
[ref-config-db]: /product/configuration/data-sources
[ref-config-multiple-ds-decorating-env]:
/product/configuration/advanced/multiple-data-sources#configuring-data-sources-with-environment-variables-decorated-environment-variables
[ref-config-sched-refresh-timer]:
/reference/configuration/config#scheduled_refresh_timer
[ref-rest-scopes]: /product/apis-integrations/rest-api#configuration-api-scopes
[snowflake-docs-account-id]:
https://docs.snowflake.com/en/user-guide/admin-account-identifier.html
[snowflake-docs-connection-options]:
https://docs.snowflake.com/en/user-guide/nodejs-driver-use.html#additional-connection-options
[snowflake-docs-regions]:
https://docs.snowflake.com/en/user-guide/intro-regions.html
[snowflake-docs-roles]:
https://docs.snowflake.com/en/user-guide/security-access-control-overview.html#roles
[snowflake-docs-warehouse]:
https://docs.snowflake.com/en/user-guide/warehouses.html
[wiki-tz-database]: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
[ref-sql-api]: /product/apis-integrations/sql-api
[ref-sql-api-streaming]: /product/apis-integrations/sql-api#streaming
[ref-row-limit]: /product/apis-integrations/queries#row-limit
[mysql-server-tz-support]: https://dev.mysql.com/doc/refman/8.4/en/time-zone-support.html
[ref-schema-ref-preagg-allownonstrict]: /reference/data-model/pre-aggregations#allow_non_strict_date_range_match
[link-tesseract]: https://cube.dev/blog/introducing-next-generation-data-modeling-engine
[ref-multi-stage-calculations]: /product/data-modeling/concepts/multi-stage-calculations