Prerequisites
LoKO requires several external tools to function. This page explains each prerequisite and how to install it.
Required Tools
Section titled “Required Tools”Python 3.9+
Section titled “Python 3.9+”LoKO is written in Python and requires Python 3.9 or higher.
Check version:
python --versionInstall:
brew install python@3.11sudo apt updatesudo apt install python3.11 python3-pipDocker
Section titled “Docker”Container runtime for running Kind clusters.
Check version:
docker --versionInstall:
Download Docker Desktop for Mac
curl -fsSL https://get.docker.com | shsudo usermod -aG docker $USERnewgrp dockerKubernetes in Docker - creates local Kubernetes clusters.
Check version:
kind --versionInstall:
brew install kindcurl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-linux-amd64chmod +x ./kindsudo mv ./kind /usr/local/bin/kindKubernetes package manager.
Check version:
helm versionInstall:
brew install helmcurl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bashHelmfile
Section titled “Helmfile”Declarative Helm deployment tool.
Check version:
helmfile versionInstall:
brew install helmfilecurl -L https://github.com/helmfile/helmfile/releases/latest/download/helmfile_linux_amd64 -o helmfilechmod +x helmfilesudo mv helmfile /usr/local/bin/Certificate toolkit used by LoKO to generate its local CA and wildcard certificates.
Check version:
cfssl versionInstall:
brew install cfssl# install cfssl from your distro packages or the official Cloudflare releasesRequired for GitOps repository seeding and bootstrap flows.
Check version:
git --versionInstall:
brew install gitsudo apt install gitkubectl
Section titled “kubectl”Kubernetes command-line tool.
Check version:
kubectl version --clientInstall:
brew install kubectlcurl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"chmod +x kubectlsudo mv kubectl /usr/local/bin/Optional Tools
Section titled “Optional Tools”nss / libnss3-tools
Section titled “nss / libnss3-tools”Required for Firefox/NSS trust installation.
brew install nsssudo apt install libnss3-toolsMise (Recommended)
Section titled “Mise (Recommended)”Tool version manager that can install all prerequisites.
curl https://mise.run | shThen:
cd loko-repomise installRequired for loko tunnel share — exposes local workloads to the internet via a public ngrok URL.
Install: ngrok.com/download
brew install ngrok/ngrok/ngrokcurl -sSL https://ngrok-agent.s3.amazonaws.com/ngrok.asc | sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null \ && echo "deb https://ngrok-agent.s3.amazonaws.com buster main" | sudo tee /etc/apt/sources.list.d/ngrok.list \ && sudo apt update && sudo apt install ngrokAfter installing, authenticate with your ngrok account:
ngrok config add-authtoken <your-token>Get your token at dashboard.ngrok.com.
Verification
Section titled “Verification”After installing all prerequisites, verify with:
loko check prerequisitesThis checks for:
- ✅ Docker (running)
- ✅ Kind (installed)
- ✅ Helm (installed)
- ✅ Helmfile (installed)
- ✅ cfssl (installed)
- ✅ git (installed)
- ✅ kubectl (installed)
- ✅ stern, aws, mise (optional)
- ✅ ngrok (optional — required for
loko tunnel share)
First-Run Experience
Section titled “First-Run Experience”loko automatically checks prerequisites on first run. When you run any loko command for the first time (except --help, --version, or completion commands), loko will:
- Display “First run: Checking prerequisites…”
- Check all required tools (Docker, git, kind, helm, kubectl, cfssl, helmfile)
- Show status for each tool with install URLs if missing
- If missing required tools: show error panel with clear installation guidance
- If all prerequisites met: suggest
loko config generateto create your first configuration - Create a sentinel file (
~/.loko/.first-run-v1) to mark checks complete
Example first-run output:
First run: Checking prerequisites...
✅ Docker (24.0.7) - Running✅ kind (0.20.0) - Installed✅ helm (3.13.0) - Installed✅ kubectl (1.28.2) - Installed✅ cfssl - Installed✅ git - Installed✅ helmfile (0.157.0) - Installed
✅ All required tools are installed!
Next step: Create configuration loko config generate # Generate configuration from templateIf tools are missing:
The first-run check will show installation guidance and exit. After installing the missing tools, run any loko command again to re-check.
Manual check:
You can manually run prerequisite checks at any time:
loko check prerequisitesForce re-run first-run checks:
loko check prerequisites --forceThis bypasses the sentinel file and runs checks even if they’ve been completed before.
System Requirements
Section titled “System Requirements”Minimum:
- 4 GB RAM
- 2 CPU cores
- 10 GB disk space
Recommended:
- 8 GB RAM
- 4 CPU cores
- 20 GB disk space
Port Requirements
Section titled “Port Requirements”LoKO uses these ports by default:
| Port | Service | Configurable |
|---|---|---|
| 80 | HTTP (Traefik) | No |
| 443 | HTTPS (Traefik) | No |
| 6443 | Kubernetes API | Yes (cluster.kubernetes.api-port) |
Check port availability:
loko config port-checkNext Steps
Section titled “Next Steps”- Installation Guide - Install LoKO
- Quick Start - Create your first cluster