OPEN SOURCE · SELF-HOSTED · APACHE-2.0

Managed Trino clusters,
in your own AWS account.

Provision EC2-backed Trino clusters, wire up catalogs, and run SQL — all from one box. A Trino-aware autoscaler and auto-suspend tear down idle capacity automatically, so you pay for queries — not idle clusters.

Deploy on AWS View on GitHub
Runs in your VPC No static AWS keys, ever FastAPI + boto3 + SQLite
trinohub.internal / clusters
TrinoHub clusters view
3 tiers
Cost · Balanced · Power presets
1 stack
One CloudFormation deploy
0 keys
Instance-profile auth only
S3 + Glue
Iceberg catalogs, your data
Trino-aware autoscaling

Pay for queries,
not idle clusters.

A control loop — not a raw CPU policy — scales workers on queued queries and CPU, with cooldowns and min/max bounds. Idle clusters auto-suspend, and a query against a suspended cluster resumes it first.

  • Scale on real query demand, with cooldowns to avoid thrash
  • Auto-suspend tears down idle capacity to stop the meter
  • Optional NVMe caching keeps hot S3 data on local disk
Cluster detail — metrics, cost, and live utilization
Everything from one box

The control plane for your Trino fleet

A single EC2 instance runs the UI, API, and AWS orchestration. From there, operators launch clusters and analysts run SQL — no Terraform, no Kubernetes.

Cluster lifecycle

Create, start, suspend, disable, and delete EC2-backed clusters. Delete terminates every tracked AWS resource.

Trino-aware autoscaling

Scales workers on queued queries and CPU with cooldowns and bounds. Auto-suspend stops idle spend.

Catalogs: S3 + Glue

Built-in system, tpch, tpcds, plus S3 + AWS Glue Iceberg. Worker IAM grants access — no S3 keys stored.

SQL editor

Schema browser, syntax highlighting, live status polling, tabular results, and streaming CSV export.

Notebooks

Ordered SQL cells with inline tables or charts, per-cell overrides, Run all, and autosave to your account.

Accelerated caching

Optional warm cache on local NVMe for S3-backed Hive, Iceberg, and Delta — repeated scans read from disk.

Security by default

Your data never leaves your account.

TrinoHub installs into your own VPC. Query data flows between your worker nodes and your S3/Glue over your own network and IAM — nothing routes through a TrinoHub-hosted service.

No static AWS credentials, everInstance-profile auth for the control plane, a passed node role for clusters. The UI never displays keys.
Deploys into your own VPCControl plane and every cluster live in your account. Allowed-UI-CIDR enforcement at the app layer.
Signed per-cluster bootstrap tokensEach node fetches only its own config. Hashed passwords and httpOnly session cookies throughout.
How it works

From zero to SQL in three steps

1

Deploy the control plane

One CloudFormation stack creates the IAM roles (instance-profile auth — no static keys), a security group, and an EC2 instance that installs and starts the app.

bash
aws cloudformation deploy \
  --stack-name trinohub \
  --template-file deploy/aws/cloudformation.yaml \
  --capabilities CAPABILITY_NAMED_IAM
2

Launch a cluster

Pick a preset tier — Cost, Balanced, or Power — toggle autoscaling and auto-suspend, wire up catalogs, and hit create. Each cluster maps to a tagged set of AWS resources.

Clusters
3

Run SQL

Analysts pick a cluster and catalog, write SQL with a live schema browser, watch query status, and download CSV — or organize it all into notebooks.

SQL editor
TrinoHub

Open source. Self-hosted. Free.

Clone the repo, deploy the stack into your AWS account, and run the setup wizard. That's it.