Skip to main content
For a packaged deployment use Docker Compose, Kubernetes or Helm instead. This page is the source install, and the settings below apply to all four. Configuration is environment variables prefixed TUNEPLANE_, or a .env at the repository root. .env.example there is the annotated template.

The settings every deployment needs

Object storage (MinIO / S3)

Datasets, job package distribution (required for kuberay), and artifact archiving share one setup:
The job side only ever receives presigned URLs and never holds storage credentials. The console uploads datasets and volume files the same way — the browser PUTs straight to the endpoint above — so the bucket needs CORS allowing PUT and GET from the console’s origin, with ETag exposed. Without it those uploads fail in the browser while tp dataset push, which does not run in one, keeps working:

Reverse proxy

deploy/nginx.conf.example is the template. Three things it has to get right:

Migrations

Alembic migrations run automatically at service startup; to run them manually:

The first administrator

On a fresh deployment the first user is created through the console’s first-visit onboarding at /api/auth/setup, or with tp admin user-add. For single sign-on, see setting up sign-in.

Check it worked

Answers with the console version and the JobSpec dialect it speaks. Then run the smoke test once before going live: one command verifies the whole submit, schedule, container and ingest chain is configured, without needing a GPU.

Next

Choose a backend · Fleets · Configuration reference