Back to Cube

Configuration Overview

docs-mintlify/configuration/overview.mdx

1.6.431.3 KB
Original Source

Configuration

Cube is configured using a combination of environment variables and configuration files.

Configuration file

The main configuration file is cube.py (or cube.js):

<CodeGroup> ```python title="Python" cube.py from cube import config

@config('context_to_app_id') def context_to_app_id(ctx: dict) -> str: return ctx['securityContext'].get('team', 'default')

@config('scheduled_refresh_contexts') def scheduled_refresh_contexts() -> list: return [{'securityContext': {'team': 'default'}}]


```javascript title="JavaScript" cube.js
module.exports = {
  contextToAppId: ({ securityContext }) => {
    return securityContext.team || 'default';
  },
  scheduledRefreshContexts: () => {
    return [{ securityContext: { team: 'default' } }];
  },
};
</CodeGroup>

Environment variables

All Cube environment variables start with CUBEJS_:

<Warning> Never commit environment variables containing credentials to version control. </Warning>
bash
CUBEJS_DB_TYPE=postgres
CUBEJS_DB_HOST=localhost
CUBEJS_DB_PORT=5432
CUBEJS_DB_NAME=my_database
CUBEJS_DB_USER=cube
CUBEJS_DB_PASS=secret
CUBEJS_API_SECRET=your-api-secret

Data sources

Cube supports 30+ data sources. See the data sources page for the full list and connection details.