Skip to main content

Doppler Integration

Doppler is used for managing all environment variables across the Sprout platform.

Overview

All environment variables are managed through Doppler. The project uses the "dev" environment and does not use .env files.

Setup

Install Doppler CLI

# macOS
brew install doppler

# Or using npm
npm install -g doppler-cli

Authenticate

doppler login

Setup Project

# Navigate to project directory
cd /Users/stef/apps/sprout/<repo>

# Setup Doppler (you'll need the project token)
doppler setup

Usage

Running Commands with Doppler

All commands that require environment variables should use doppler run:

# Development server
doppler run -- bun run start:dev

# Database migrations
doppler run -- npx prisma migrate dev

# CLI commands
doppler run -- bun run cli:dev -- command-name

Viewing Secrets

# List all secrets
doppler secrets

# Get specific secret
doppler secrets get DATABASE_URL

# Download secrets as .env (for local testing only)
doppler secrets download --no-file --format env

Environment Management

Environments

The project uses different environments:

  • dev - Development environment
  • staging - Staging environment (if configured)
  • prod - Production environment

Switching Environments

# Switch to dev
doppler setup --config dev

# Switch to prod
doppler setup --config prod

Security Best Practices

  1. Never commit secrets - All secrets are in Doppler
  2. Use different secrets per environment - Dev, staging, and prod should have separate secrets
  3. Rotate secrets regularly - Update API keys and tokens periodically
  4. Limit access - Only grant access to necessary team members
  5. Audit access - Regularly review who has access to secrets

Integration with Services

sprout_backend

All environment variables are loaded from Doppler:

  • Database connection strings
  • API keys
  • Service URLs
  • Monitoring configuration

sprout_etl

Similar to sprout_backend, all variables from Doppler:

  • ETL-specific configuration
  • External API keys
  • Playwright server URL

Other Services

All repositories that need environment variables should use Doppler.

Troubleshooting

Authentication Issues

# Re-authenticate
doppler login

# Verify setup
doppler setup

Missing Variables

Check that variables are set in Doppler:

doppler secrets get VARIABLE_NAME

Wrong Environment

Verify you're using the correct environment:

doppler setup

References