Skip to main content

Overview

Helicone provides two Docker deployment options:
  1. All-in-One Container - Single container with all services (fastest setup)
  2. Docker Compose - Multi-container setup with separate services (recommended)

All-in-One Container

The simplest way to run Helicone. All services run in a single container using supervisord.

Quick Start

Exposed Ports

Access the Dashboard

Once running, open http://localhost:3000 in your browser.
The all-in-one image includes PostgreSQL, ClickHouse, MinIO, Jawn, and Web - all running in a single container.
For production deployments or development, use Docker Compose to run services in separate containers.

Prerequisites

  • Docker 20.10 or later
  • Docker Compose v2.0 or later
  • 4GB+ RAM available
  • 20GB+ disk space

Installation

1

Clone the repository

2

Configure environment variables

Edit .env to customize your deployment. Key variables:
3

Start Helicone services

Use the helper script to manage different deployment profiles:
4

Create your first user

Navigate to http://localhost:54323/project/default/auth/usersAdd a user account with your email and password.
5

Access Helicone

Open http://localhost:3000 and log in with the account you created.

Docker Compose Profiles

The helicone-compose.sh script supports multiple deployment profiles:

Examples

Service Architecture

The docker-compose setup includes these services:

Infrastructure Services (Always Running)

Helicone Services

Worker Services (Optional)

Environment Variables Reference

Required

Optional

Accessing Services

Web Interfaces

API Endpoints

Making Requests Through Your Proxy

Once running, you can proxy LLM requests through your self-hosted instance:

Troubleshooting

Check Docker resources:
Wait for migrations to complete:
If ports are already in use, edit .env to change them:
Then restart:
Create a user via Supabase auth:
  1. Go to http://localhost:54323/project/default/auth/users
  2. Click “Add User”
  3. Enter email and password
  4. Log in at http://localhost:3000

Updating

To update to the latest version:

Production Considerations

Before deploying to production:
  1. Change all default passwords in .env
  2. Set BETTER_AUTH_SECRET to a secure random value
  3. Configure proper SSL/TLS certificates
  4. Set up backup strategies for PostgreSQL and ClickHouse
  5. Configure proper resource limits in docker-compose.yml
  6. Use external managed databases for better reliability

Next Steps

Architecture

Learn how services communicate

Kubernetes

Scale with Kubernetes