Overview
The Allternit Hosted Runtime is a containerized runtime delivered as a Fly Machine. It bundles a pinned Gizzi Code headless binary, the agent-daemon relay, andallternit-mux. Paid users can provision hosted runtimes directly from the platform without managing their own VPS.
The image is published to ghcr.io/gizziio/allternit-hosted-runtime:latest and built from cmd/allternit-hosted-runtime.
What runs inside the container
- Starts the local Gizzi gateway on
127.0.0.1:8013. - Waits for the gateway health endpoint.
- Starts the agent-daemon, which auto-pairs with the cloud API.
One-time setup
-
Publish the hosted runtime image:
-
Configure the Cloud API Fly app with secrets:
FLY_API_TOKEN: organization-scoped Fly token with permission to manage the hosted-runtime app.FLY_ORG_SLUG: explicit organization slug to prevent falling back to a personal account.ALLTERNIT_BILLING_SYNC_SECRET: random value of at least 32 characters.
-
Optional environment variables:
Provisioning a hosted runtime
Users with an entitled plan can create a hosted runtime through the Cloud API:Response
runtimeDeviceId is populated once pairing completes.
Lifecycle operations
Start a stopped runtime:
Entitlements
The entitlement endpoint returns plan limits and current usage:Response
Billing and metering
The billing system synchronizes entitlements through an internal endpoint:planTierId: "free" with a new event ID to revoke managed hosting. The lifecycle reconciler stops any running hosted machine within the configured reconcile interval.
Actual charges are determined by the Fly invoice, which may also include stopped root filesystem, volume, network, and other account charges.
Container environment
The Dockerfile sets the following environment variables:
The
/data directory is a persistent volume.
Idle timeout
The lifecycle reconciler stops a machine when:- It has been idle longer than
HOSTED_RUNTIME_IDLE_TIMEOUT_MINUTES. - The plan is revoked.
- Monthly hours are exhausted.
- Fly reports the machine stopped.
Security
- The runtime image pins both the Gizzi release tag and SHA-256 checksum.
- Auto-pairing uses a one-time bootstrap token stored as a hash server-side.
- The container runs the gateway on loopback only; no ports are exposed publicly.
- Outbound relay connections mean no inbound firewall rules are required.