Jump to content

Connect Leeroopedia MCP: Equip your AI agents to search best practices, build plans, verify code, diagnose failures, and look up hyperparameter defaults.

Implementation:Helicone Helicone Env File Setup

From Leeroopedia
Knowledge Sources
Domains Local Development, Configuration
Last Updated 2026-02-14 00:00 GMT

Overview

Concrete tool for populating environment variable files across the Helicone monorepo by copying .env.example templates, provided by the standard cp shell command.

Description

Helicone uses the cp .env.example .env pattern in multiple directories. The root .env.example contains 14 variables for the web and jawn services, while docker/.env.example contains approximately 151 lines covering infrastructure secrets, database credentials, worker ports, Supabase configuration, and email settings. Both files include sensible local development defaults that work with the Docker Compose stack out of the box.

Usage

Run the copy commands once after cloning the repository. Re-run if you delete your .env files or when new variables are added to the example files upstream.

Code Reference

Source Location

  • Repository: Helicone
  • File: .env.example (lines 1-14), docker/.env.example (lines 1-151)

Signature

cp .env.example .env

Import

# No installation required - uses standard shell commands
# The .env.example files are checked into the repository

I/O Contract

Inputs

Name Type Required Description
.env.example file Yes Template file with placeholder environment variable values
target path string No Destination path (defaults to .env in the same directory)

Outputs

Name Type Description
.env file Local environment file loaded by dotenv at service startup

Usage Examples

Basic Usage

# From repository root: set up web/jawn environment
cp .env.example .env

# Set up Docker infrastructure environment
cp docker/.env.example docker/.env

Root .env.example Contents

The root .env.example provides these key variables:

VERCEL="1"
VERCEL_ENV="development"
DATABASE_URL="postgresql://postgres:postgres@localhost:54322/postgres"
NEXT_PUBLIC_SUPABASE_ANON_KEY="eyJhbGciOiJIUzI1NiIs..."
NEXT_PUBLIC_SUPABASE_URL="http://localhost:54321"
SUPABASE_SERVICE_KEY="eyJhbGciOiJIUzI1NiIs..."
SUPABASE_URL="http://localhost:54321"
NEXT_PUBLIC_HELICONE_JAWN_SERVICE="http://localhost:8585"

Docker .env.example Key Sections

The docker/.env.example is organized into sections:

# Secrets
BETTER_AUTH_SECRET="MKUcaeqyMD7UBkGeFYY5hwxKS1aB6Vsi"
POSTGRES_PASSWORD=your-super-secret-and-long-postgres-password
JWT_SECRET=your-super-secret-jwt-token-with-at-least-32-characters-long
S3_ACCESS_KEY="minioadmin"
S3_SECRET_KEY="minioadmin"

# ClickHouse Database
CLICKHOUSE_HOST=clickhouse-db
CLICKHOUSE_PORT=8123
CLICKHOUSE_USER=default
CLICKHOUSE_PASSWORD=

# Workers
OPENAI_PROXY_PORT=8787
HELICONE_API_PORT=8788

# Jawn
JAWN_PORT=8585
JAWN_PUBLIC_URL=http://localhost:8585

# Supabase
POSTGRES_HOST=db
POSTGRES_DB=postgres
POSTGRES_PORT=5432

Customizing for Non-Default Ports

# If you need Jawn on a different port, edit docker/.env after copying:
cp docker/.env.example docker/.env

# Then modify:
# JAWN_PORT=9090
# JAWN_PUBLIC_URL=http://localhost:9090

Related Pages

Implements Principle

Requires Environment

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment