helicone-all-in-one image.
Quick Start (Local)
Get Docker and run the container:http://localhost:3000.
Example to test the Jawn service
Production Setup (Remote Server)
When deploying to a remote server (EC2, VPS, etc.), configure your server’s public IP or domain:Environment Variables
The container uses these environment variables (with defaults for local development):| Variable | Default | Description |
|---|---|---|
NEXT_PUBLIC_HELICONE_JAWN_SERVICE | http://localhost:8585 | URL browsers use to reach the API. Must be public URL for remote deployments. |
S3_ENDPOINT | http://localhost:9080 | URL browsers use for presigned URLs. Must be public URL for remote deployments. |
S3_ACCESS_KEY | minioadmin | MinIO access key |
S3_SECRET_KEY | minioadmin | MinIO secret key |
S3_BUCKET_NAME | request-response-storage | S3 bucket for request/response bodies |
BETTER_AUTH_SECRET | change-me-in-production | Auth secret. Generate a secure value for production. |
SITE_URL | - | Public URL of the web dashboard |
BETTER_AUTH_URL | - | Same as SITE_URL |
NEXT_PUBLIC_APP_URL | - | Same as SITE_URL |
NEXT_PUBLIC_IS_ON_PREM | - | Set to true for non-localhost deployments |
Port Requirements
| Port | Service | Required For |
|---|---|---|
| 3000 | Web Dashboard | Browser access |
| 8585 | Jawn API + LLM Proxy | Browser API calls, LLM proxying |
| 9080 | MinIO S3 | Request/response body storage |
| 5432 | PostgreSQL | Internal (can be restricted) |
| 8123 | ClickHouse | Internal (can be restricted) |
User Account Setup
Create Account
Navigate tohttp://YOUR_IP:3000/signup and create your account.
Email Verification
The container doesn’t include email services. Manually verify users:Organization Setup
Users need an organization. If you see “No organization ID found” errors:Supported LLM Providers
- OpenAI:
http://YOUR_IP:8585/v1/gateway/oai/v1/chat/completions - Anthropic:
http://YOUR_IP:8585/v1/gateway/anthropic/v1/messages
Important Notes
Data Persistence
Container restarts will wipe all data. For production, mount Docker volumes:Security
Port 8585 does not require authentication for proxying requests. Anyone with access can proxy LLM requests through your endpoint. Restrict access via firewall rules.HTTPS
For HTTPS support, use a reverse proxy (Caddy, nginx, Traefik) in front of the container. See the Cloud Deployment guide for a Caddy example.Troubleshooting
API calls fail with connection refused
The web app tries to connect tolocalhost:8585 instead of your public IP. Verify the environment variable was set:
Infinite redirect loop
MissingNEXT_PUBLIC_IS_ON_PREM=true environment variable.
”Invalid origin” error on sign-in
All URL environment variables must use the same origin (public IP or domain). Don’t mixlocalhost with public IPs.