Create a project
In this step, we will create a Cube Core project on your computer, connect a data source, and generate data models.
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:
mkdir my-first-cube-project
cd my-first-cube-project
touch docker-compose.yml
Open the docker-compose.yml
file and add the following content:
services:
cube:
image: cubejs/cube:latest
ports:
- 4000:4000
- 15432:15432
environment:
- CUBEJS_DEV_MODE=true
volumes:
- .:/cube/conf
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:
docker compose up -d
Using Windows? Remember to use PowerShell (opens in a new tab) or WSL2 (opens in a new tab) to run the command below.
Connect a data source
Head to http://localhost:4000 (opens in a new tab) 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:
Field | Value |
---|---|
Host | demo-db.cube.dev |
Port | 5432 |
Database | ecom |
Username | cube |
Password | 12345 |
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.