Deployment

Getting Hoziron into production means picking an environment, configuring networking and TLS, and wiring up observability. This section covers every supported deployment model — from a single binary on a VM to a fully orchestrated Kubernetes cluster, including air-gapped environments where nothing touches the internet.

The right starting point depends on your constraints: team size, existing infrastructure, compliance requirements, and whether your models run locally or in the cloud.

What you'll find here

GuideDescription
Bare metal / VMInstall the binary, configure systemd, set up TLS, create a dedicated service user
Docker ComposeCompose file, volume mounts, health checks, networking with local providers
KubernetesHelm chart deployment with production values, PDB, HPA, and ingress configuration
Air-gappedDisconnected environments: local models, offline package transfer, no outbound calls
TLS and networkingCertificate configuration, IP allowlists, CORS, Unix socket listeners
ObservabilityStructured logging, Prometheus metrics, OpenTelemetry tracing

Which guide should I start with?

Common tasks

Key defaults

SettingDefaultOverride
Listen address127.0.0.1:4200--listen flag, HOZIRON_LISTEN env, or [server].listen in config
TLSDisabled[server.tls] section in config.toml
MetricsEnabled at /metricsAlways on
Health check/healthAlways on, bypasses IP allowlist
  • Security — hardening your deployment once it's running
  • Providers — connecting to models (cloud or local)
  • Data integration — network configuration affecting external connectivity