--- 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