Compiler's analytics and business intelligence workspace, powered by open-source Metabase.
This repository follows Compiler's cross-platform Dev Containers standard to ensure consistent development environments across macOS, Linux, and Windows.
- Docker Desktop or Docker Engine running locally.
- Visual Studio Code.
- VS Code Dev Containers Extension.
-
Copy the sample environment file:
cp .env.example .env
-
Open this folder in VS Code.
-
When prompted, click "Reopen in Container" (or press
F1/Ctrl+Shift+P/Cmd+Shift+Pand runDev Containers: Reopen in Container). -
VS Code will build the dev container and launch all three services:
dev: Your development shell containingterraform,gcloud,pre-commit, and Postgres client tools.postgres: Local PostgreSQL 16 database storing Metabase application state.metabase: Official Metabase application available at http://localhost:3000.
The following helper scripts are available to run inside the dev container:
-
Wait for Metabase to initialize:
./bin/wait-for-metabase.sh
-
Connect to the local Postgres metadata database:
./bin/psql.sh
Production is deployed on Google Cloud Platform (GCP):
- Cloud Run: Runs the Metabase container image (
metabase/metabase:vX.Y.Z) with minimum 1 instance to support background tasks and scheduled pulses. - Cloud SQL (PostgreSQL): Stores Metabase application metadata (dashboards, questions, users, permissions).
- BigQuery: Analytics warehouse in project
data-warehouse-492522, queried via native IAM Service Account credentials. - Cloudflare: DNS management and SSL termination for
dashboards.compiler.la.
For the complete technical specification, see plan.md.
.
├── .devcontainer/
│ ├── devcontainer.json # VS Code dev container definition
│ ├── Dockerfile # Dev container image (Terraform, gcloud, pre-commit)
│ └── postCreate.sh # Container initialization & hook setup
├── .github/
│ └── workflows/ # GitHub Actions for Terraform automation
├── bin/ # Helper bash scripts for inside the dev container
│ ├── psql.sh # Connect to local PostgreSQL
│ └── wait-for-metabase.sh # Health check waiter
├── compose.yml # Dev container service + local Metabase & Postgres
├── .env.example # Sample local environment variables
├── .pre-commit-config.yaml # Conventional commits & file hygiene hooks
├── plan.md # Full architectural design & implementation plan
├── terraform/ # Infrastructure as Code (GCP Cloud Run & Cloud SQL)
└── README.md