Skip to main content

Quick Start: All-in-One Container

The fastest way to get Helicone running is with the all-in-one Docker image that bundles all services into a single container.

Local Development

For local development and testing:
Access the dashboard at http://localhost:3000. Exposed Ports:
  • 3000 - Web dashboard
  • 8585 - Jawn API + LLM proxy
  • 9080 - MinIO S3 storage (for request/response bodies)

Production Deployment

When deploying to a remote server (EC2, VPS, etc.), configure public URLs:

Data Persistence

Container restarts will wipe all data unless you mount volumes for persistence.
For production deployments, mount Docker volumes to persist data:

Docker Compose Setup

For more control and development workflows, use Docker Compose to run services separately.

Prerequisites

  • Docker 20.10+
  • Docker Compose 2.0+

Initial Setup

  1. Clone the Helicone repository:
  1. Create environment file:
  1. Update .env with your configuration (see Environment Variables section below)

Start Services

Option 1: Infrastructure + Core Services (Recommended for production):
This starts:
  • Infrastructure: PostgreSQL, ClickHouse, MinIO, Redis
  • Core services: Jawn API, Web Dashboard
  • Database migrations run automatically
Option 2: Infrastructure Only (For development):
Starts only infrastructure services. Run Jawn and Web locally for faster development cycles. Option 3: Development Mode (Hot reload):
Mounts source code as volumes with hot reloading enabled.

Available Profiles

Docker Compose uses profiles to control which services run:

Verify Deployment

Environment Variables

Required for Production

Database Configuration

Storage Configuration

Service Ports

User Account Setup

Create Account

Navigate to http://YOUR_IP:3000/signup and create your account.

Email Verification

The container doesn’t include production email services. Manually verify users:

Organization Setup

Users must belong to an organization:

Testing the Deployment

Test Web Dashboard

Visit http://YOUR_IP:3000 and sign in.

Test LLM Proxy

Test with OpenAI:

Supported LLM Providers

The self-hosted version supports:
  • OpenAI: http://YOUR_IP:8585/v1/gateway/oai/v1/chat/completions
  • Anthropic: http://YOUR_IP:8585/v1/gateway/anthropic/v1/messages
Other providers (Vertex AI, AWS Bedrock, Azure OpenAI) are not supported in the self-hosted version.

Security Best Practices

Authentication

Port 8585 does not require authentication for proxying requests. Anyone with network access can proxy LLM requests through your endpoint.
Mitigate this by:
  1. Firewall Rules: Restrict access to port 8585 to trusted IPs
  2. VPN: Deploy behind a VPN for internal-only access
  3. Reverse Proxy: Add authentication at the reverse proxy layer

HTTPS Setup

For production deployments, use a reverse proxy for HTTPS: Example with Caddy:
For production deployments, configure HTTPS using a reverse proxy like Caddy or nginx.

Troubleshooting

API calls fail with connection refused

The web app tries to connect to localhost:8585 instead of your public IP. Solution: Verify environment variables:

Infinite redirect loop

Cause: Missing NEXT_PUBLIC_IS_ON_PREM=true environment variable. Solution: Add the environment variable and restart the container.

”Invalid origin” error on sign-in

Cause: Mismatched URL origins in environment variables. Solution: Ensure all URL variables use the same origin (either all localhost or all public IP/domain):

“No organization ID found” error

Cause: User not added to an organization. Solution: See the Organization Setup section above.

Database connection errors

Cause: Services starting before databases are ready. Solution: Docker Compose has health checks. Wait for healthy status:

Migration errors

Cause: Database schema not initialized. Solution: Check migration logs:
Rebuild and restart if needed:

Maintenance

Updating Helicone

Pull the latest images and restart:

Viewing Logs

Backup Data

Restore Data

Next Steps

  • Configure your application to use the Helicone proxy
  • Explore the AI Gateway for easier integration
  • Set up monitoring and alerts for production deployments
  • For scalable production deployments, see Kubernetes Setup