Skip to content

LoKO - Local Kubernetes That Actually Works

Stop fighting with local Kubernetes. Start building.

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

Terminal window
loko config generate
loko 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:

  • DNS Hell: Manually editing /etc/hosts for every service (and they stop working after sleep/reboot)
  • Certificate Chaos: Self-signed certs that browsers hate
  • Port Conflicts: “Port 5432 already in use” every time
  • Networking Nightmares: “Works on my machine” but not in the cluster
  • Registry Friction: Pushing to Docker Hub just to test locally
  • Setup Time: Hours of YAML, kubectl, and Stack Overflow

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.


  • ✅ Real Kubernetes API and behavior
  • ✅ Ingress, Services, NetworkPolicies work correctly
  • ✅ Test Helm charts and Kubernetes configs
  • ❌ Docker Compose: No Kubernetes features
  • ✅ Multi-node clusters (test pod scheduling, affinity)
  • ✅ Faster startup (no VM overhead on Linux)
  • ✅ Better Docker integration
  • ❌ Minikube: Single-node only, slower, VM-based
  • ✅ DNS auto-configured (*.dev.me just works)
  • ✅ TLS certificates pre-installed
  • ✅ Container registry included
  • ✅ Workload catalog (pre-configured services)
  • ✅ TCP port routing (databases accessible from host)
  • ❌ Kind: You configure everything yourself
  • ✅ Multi-container orchestration
  • ✅ Service discovery and DNS
  • ✅ Real networking and load balancing
  • ✅ Match production Kubernetes behavior
  • ❌ Containers: No orchestration, manual networking

Every service gets a DNS name that works everywhere:

  • From your browser: https://myapp.dev.me
  • From your terminal: psql -h postgres.dev.me
  • Inside the cluster: mysql.loko-workloads.svc.cluster.local

No /etc/hosts hacking. No IP address memorization. It just works.

Wildcard certificates auto-generated by LoKO using cfssl:

  • ✅ HTTPS works in browsers (no security warnings)
  • ✅ Valid for all *.dev.me domains
  • ✅ Your system trusts them automatically

Push and pull images without leaving your machine:

Terminal window
docker build -t cr.dev.me/myapp:latest .
docker push cr.dev.me/myapp:latest
# Use in your pods
kubectl run app --image=cr.dev.me/myapp:latest

Cache well-known images. Build and iterate fast. No Docker Hub rate limits.

Add databases, caches, message queues with one command:

Terminal window
loko workloads add postgres
loko workloads add redis
loko workloads add rabbitmq
loko create

Workloads available:

  • Databases: PostgreSQL, MySQL, MongoDB
  • Cache: Valkey (Redis-compatible)
  • Messaging: RabbitMQ, NATS, Redpanda (Kafka-compatible)
  • Storage: Garage (S3-compatible)
  • DevOps/GitOps: Forgejo, ArgoCD, Flux Operator
  • Collaboration: Excalidraw, Penpot
  • DevTools: httpbin, IT Tools, mock-smtp-sms

All with:

  • ✅ DNS names configured
  • ✅ Passwords auto-generated and saved
  • ✅ Ports exposed correctly
  • ✅ Health checks included
  • ✅ UI tools linked (pgAdmin, phpMyAdmin, etc.)

Share any workload with the outside world instantly:

Terminal window
loko tunnel share -w mysql-ui # Share a workload by name
loko tunnel share -i my-ingress # Share any Kubernetes Ingress
loko tunnel share -w myapp --detach # Run in background

ngrok 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:

  • Demo work-in-progress to teammates
  • Test webhooks from external services (Stripe, GitHub, etc.)
  • Share a running service without exposing your IP

Requires a free ngrok account and NGROK_AUTHTOKEN set in your environment.

Access databases and TCP services from your host:

Terminal window
psql -h postgres.dev.me -U postgres
redis-cli -h redis.dev.me
mysql -h mysql.dev.me -u root

No port forwarding commands. No kubectl port-forward running in terminals. Direct access that feels native.

Test real scenarios:

cluster:
workers: 3 # Create 3-worker cluster
  • Test pod anti-affinity
  • Simulate node failures
  • Validate HA configurations
  • Test distributed systems

Closer to production than single-node setups.

Terminal window
loko config generate # Creates config with smart defaults
loko create # Everything spins up

In under 5 minutes:

  • ✅ Multi-node Kubernetes cluster
  • ✅ DNS resolution configured
  • ✅ TLS certificates installed
  • ✅ Container registry running
  • ✅ Ingress controller deployed
  • ✅ All your workloads running

Terminal window
# Add PostgreSQL and Redis
loko workloads add postgres
loko workloads add redis
loko create
# Your app can now connect to:
# - postgres.dev.me:5432
# - redis.dev.me:6379
# Build and deploy your app
docker build -t cr.dev.me/api:latest .
docker push cr.dev.me/api:latest
kubectl apply -f k8s/
Terminal window
# Backend services
loko workloads add postgres
loko workloads add redis
loko create
# Frontend served by Traefik Ingress
# https://myapp.dev.me (with valid TLS!)
# Hot reload works, DNS works, everything works
npm run dev
Terminal window
# Multi-node cluster for testing HA
loko config generate
# Edit: set workers: 3
loko create
# Test Helm charts
helm install myapp ./charts/myapp
# Test in real Kubernetes before pushing to staging
kubectl apply -f manifests/

Quick Start

Get your first cluster running

Launch →

Workload Catalog

Browse pre-configured services

Explore →



Ready to try it? Install LoKO →