Self-hosted instances operate in complete isolation. By default, toorow sends no telemetry, phone-home data, or analytics to the maintainers. See Security Constraints for details.
1. Account & Infrastructure Setup
To deploy a functional self-hosted instance, provision the following services:- Platform Database (PostgreSQL 15+): Create a PostgreSQL instance (e.g., Supabase project or Cloud SQL). Apply platform migrations located in
infra/nango/migrations/(migrations001to029). - Google Cloud Project (Analytics Warehouse & Google OAuth):
- Enable BigQuery, Cloud Run, and Google APIs (Analytics Data, Search Console, Google Ads, Sheets).
- Provision BigQuery datasets (
raw_*,marts_*) and a Service Account withroles/bigquery.dataEditorandroles/bigquery.jobUser. Use the Terraform scripts ininfra/terraform/(terraform plan/apply). - Create a Web OAuth 2.0 Client ID for Google connectors.
- Nango Broker (Non-Google OAuth):
- Deploy Nango OSS using
infra/nango/docker-compose.ymlor create a Nango Cloud account. - Register provider apps (Meta Ads, TikTok, LinkedIn, Shopify, Stripe, Klaviyo) in Nango.
- Deploy Nango OSS using
2. Environment Variable Reference (.env)
Copy .env.example to .env in your deployment environment and configure the required parameters.
Server & Network Security
Authentication Mode (TOOROW_AUTH_MODE)
Platform Database & Key Governance
OAuth Brokers & Providers
Background Queue & Scheduler
Read-Through Cache (DuckDB)
Optional Telemetry & Tracing
3. Container Deployment (Cloud Run)
- Build Container Image:
- Push Image & Deploy:
Next Steps & Cross-References
Prerequisites
Verify required GCP APIs, service accounts, and database connections.
Security Constraints
Review the pre-live security checklist and architectural invariants.
Cloud Hosting
Examine the maintainers’ managed Cloud Run setup.
Developer Quickstart
Run a lightweight local sandbox instance for testing.

