Define your services in a single onix.yaml. Onix
translates it into Docker Compose for local dev or Kubernetes for
production - no manifest files, no infra overhead.
name: fullstack services: proxy: build: ./proxy image: fullstack-proxy ports: - 80 expose: - 80 health: / depends_on: [frontend, backend] frontend: build: ./frontend image: fullstack-frontend ports: - 3000 env: PORT: "3000" API_URL: "http://backend:4000" depends_on: [backend] backend: build: ./backend image: fullstack-backend ports: - 4000 scale: min: 1 max: 7 target_cpu: 70 resources: cpu_request: 100m cpu_limit: 500m memory_request: 64Mi memory_limit: 128Mi env: PORT: "4000" DATABASE_URL: "postgres://onix:${DB_PASSWORD}@db:5432/appdb" depends_on: [db] db: image: postgres:16-alpine ports: - 5432 volumes: - db-data env: POSTGRES_DB: appdb POSTGRES_USER: onix POSTGRES_PASSWORD: ${DB_PASSWORD} volumes: db-data: mount: /var/lib/postgresql/data
No YAML sprawl. No Helm charts. No compose file juggling.
One declarative config, two deployment targets.
Run onix init to generate an onix.yaml interactively. Language is auto-detected - Dockerfile included
if needed.
One command deploys locally with Docker Compose or to a Kubernetes cluster. Same config, different runtime flag.
Check status, stream logs, scale replicas, or open the web dashboard - all without touching the underlying runtime.
Onix is intentionally focused. It handles the hard parts of deployment without growing into a platform.
One onix.yaml drives both Docker Compose
and Kubernetes. No format translation, no duplication between environments.
Switch between Docker Compose and Kubernetes with a flag. Develop locally, deploy to production - same workflow throughout.
Declare scale.min, max, and target_cpu. Onix creates and
manages the Kubernetes HPA automatically - no kubectl
required.
No Dockerfile? Onix detects Go, Node, Python, Ruby, and Java and generates one for you on first deploy. Just point to your source.
A real-time dashboard for service health, CPU, memory, replica
counts, and logs. Run onix ui to open it
- embedded in the binary.
Deploy, scale, tail logs, and inspect metrics without leaving the terminal. Every lifecycle operation is one command away.
Same config. Onix adapts to your target environment and handles the translation transparently.
No cluster required. Builds images locally. Ideal for development, CI, and single-host deployments.
Requires kubectl and a running cluster. Creates Deployments, Services, HPAs, and PVCs from your config.
Onix wraps Docker Compose and kubectl so you never need to know both. One interface, any backend.
onix status shows replicas, health
state, and uptime across all services simultaneously.
onix logs api -f - works identically with both runtimes.
onix scale api auto.
Build once. Deploy anywhere. Onix handles the runtime so you can focus on your application, not your infrastructure.