Skip to main content

Scaffold a project

Start by opening your terminal to create a new folder for the project, then create a docker-compose.yml file within it:
Open the docker-compose.yml file and add the following content:
Note that we’re setting the CUBEJS_DEV_MODE environment variable to true to enable the Development Mode. This is handy for local development but not suitable for production.
If you’re using Linux as the Docker host OS, you’ll also need to add network_mode: 'host' to your docker-compose.yml.

Start the development server

From the newly-created project directory, run the following command to start Cube:
Using Windows? Remember to use PowerShell or WSL2 to run the command below.

Connect a data source

Head to http://localhost:4000 to open the Developer Playground. The Playground has a database connection wizard that loads when Cube is first started up and no .env file is found. After database credentials have been set up, an .env file will automatically be created and populated with credentials.
Want to use a sample database instead? Select PostgreSQL and use the credentials below:
After selecting the data source, enter valid credentials for it and click Apply. Check the Connecting to Databases page for more details on specific data sources.
You should see tables available to you from the configured database; select the orders table. After selecting the table, click Generate Data Model and pick either YAML (recommended) or JavaScript format:
Finally, click Build in the dialog, which should take you to the Build page. You’re now ready for the next step, querying the data.