Ready in Minutes
loko config generateloko create# Done. Everything works.DNS, TLS, registry, workloads - all configured automatically.
LoKO (Local Kubernetes Oasis) gives you a complete, production-like Kubernetes environment on your laptop in under 5 minutes. No DNS struggles, no certificate nightmares, no “it works in prod but not locally” surprises.
Ready in Minutes
loko config generateloko create# Done. Everything works.DNS, TLS, registry, workloads - all configured automatically.
Real Kubernetes
Not docker-compose pretending to be K8s. Not minikube with weird networking. Actual multi-node Kubernetes using Kind, with Ingress, LoadBalancer, and everything else.
Pre-Configured Workloads
Add PostgreSQL, MySQL, MongoDB, RabbitMQ, and other services with one command. They just work - with DNS, ports, and passwords handled for you.
Built-in Registry
Local OCI registry at cr.dev.me for your images, Helm charts, and artifacts. Push once, use everywhere in your local cluster.
Public Tunnel Sharing
Share any local workload publicly via ngrok with one command. Demo your work, test webhooks, or collaborate — no VPN or port forwarding needed.
You’ve probably tried setting up local Kubernetes and hit these issues:
/etc/hosts for every service (and they stop working after sleep/reboot)With docker-compose, you get easy setup but lose Kubernetes features. With minikube or bare Kind, you get Kubernetes but spend days on DNS, ingress, and networking.
LoKO gives you both: Easy setup AND real Kubernetes.
Every service gets a DNS name that works everywhere:
https://myapp.dev.mepsql -h postgres.dev.memysql.loko-workloads.svc.cluster.localNo /etc/hosts hacking. No IP address memorization. It just works.
Wildcard certificates auto-generated by LoKO using cfssl:
*.dev.me domainsPush and pull images without leaving your machine:
docker build -t cr.dev.me/myapp:latest .docker push cr.dev.me/myapp:latest
# Use in your podskubectl run app --image=cr.dev.me/myapp:latestCache well-known images. Build and iterate fast. No Docker Hub rate limits.
Add databases, caches, message queues with one command:
loko workloads add postgresloko workloads add redisloko workloads add rabbitmqloko createWorkloads available:
All with:
Share any workload with the outside world instantly:
loko tunnel share -w mysql-ui # Share a workload by nameloko tunnel share -i my-ingress # Share any Kubernetes Ingressloko tunnel share -w myapp --detach # Run in backgroundngrok creates a public HTTPS URL that routes through Traefik to your local workload. Host header rewriting is handled automatically — no manual ngrok config needed.
Use it to:
Requires a free ngrok account and NGROK_AUTHTOKEN set in your environment.
Access databases and TCP services from your host:
psql -h postgres.dev.me -U postgresredis-cli -h redis.dev.memysql -h mysql.dev.me -u rootNo port forwarding commands. No kubectl port-forward running in terminals. Direct access that feels native.
Test real scenarios:
cluster: workers: 3 # Create 3-worker clusterCloser to production than single-node setups.
loko config generate # Creates config with smart defaultsloko create # Everything spins upIn under 5 minutes:
# Add PostgreSQL and Redisloko workloads add postgresloko workloads add redisloko create
# Your app can now connect to:# - postgres.dev.me:5432# - redis.dev.me:6379
# Build and deploy your appdocker build -t cr.dev.me/api:latest .docker push cr.dev.me/api:latestkubectl apply -f k8s/# Backend servicesloko workloads add postgresloko workloads add redisloko create
# Frontend served by Traefik Ingress# https://myapp.dev.me (with valid TLS!)
# Hot reload works, DNS works, everything worksnpm run dev# Multi-node cluster for testing HAloko config generate# Edit: set workers: 3loko create
# Test Helm chartshelm install myapp ./charts/myapp
# Test in real Kubernetes before pushing to stagingkubectl apply -f manifests/Installation
Install LoKO and prerequisites
Quick Start
Get your first cluster running
Configuration
Customize your environment
Workload Catalog
Browse pre-configured services
Ready to try it? Install LoKO →