Installation
Get LoKO installed and ready to create your first local Kubernetes cluster.
Prerequisites
Section titled “Prerequisites”LoKO requires these tools to be installed:
- Docker Desktop (v20.10+) or Docker Engine
- kubectl (v1.25+)
- Helm (v3.10+)
- kind (v0.20+)
- helmfile (v0.150+)
- cfssl (for LoKO-managed TLS certificates)
- git (required for GitOps repository seeding)
Install LoKO
Section titled “Install LoKO”Choose the installation method that works best for you:
| Method | Best For | Pros | Cons |
|---|---|---|---|
| pip | Python developers | Simple, familiar | May conflict with other packages |
| Homebrew | macOS users | System integration, auto-updates | macOS only (formula coming soon) |
| pipx | Isolated install | No conflicts, clean | Extra tool to install |
| uv | Fast installs | 10-100x faster than pip | Newer tool, less common |
Using pip (Recommended for Python Developers)
Section titled “Using pip (Recommended for Python Developers)”The simplest method if you already use Python:
pip install getlokoPros:
- ✅ Simple and familiar to Python developers
- ✅ Works on all platforms (macOS, Linux, Windows)
- ✅ No additional tools needed
Cons:
- ❌ May conflict with other Python packages
- ❌ Requires manual upgrades
Verify installation:
loko --versionUsing Homebrew (macOS - Coming Soon)
Section titled “Using Homebrew (macOS - Coming Soon)”The easiest way to install LoKO on macOS:
# Add the LoKO tapbrew tap getloko/tap
# Install LoKObrew install lokoPros:
- ✅ Auto-installs all prerequisites
- ✅ Automatic updates with
brew upgrade - ✅ System integration (shell completions, man pages)
- ✅ Manages dependencies automatically
Cons:
- ❌ macOS only
- ❌ Requires Homebrew installed
Repository: getloko/homebrew-tap
Pinning a version
Section titled “Pinning a version”Homebrew always tracks the latest release. If you need to stay on a specific version, pin it after installing:
brew pin loko # prevent upgradesbrew unpin loko # resume upgradesNote:
brew install loko@0.1.2-style version selectors are not supported. Pinning is the recommended way to stay on a specific version.
Using pipx (Recommended for Isolated Environment)
Section titled “Using pipx (Recommended for Isolated Environment)”pipx installs Python CLI tools in isolated environments:
# Install pipx if you don't have itbrew install pipx # macOS# orpython3 -m pip install --user pipx
# Ensure pipx is in PATHpipx ensurepath
# Install LoKOpipx install getlokoPros:
- ✅ Isolated Python environment (no dependency conflicts)
- ✅ Easy upgrades:
pipx upgrade getloko - ✅ Works on macOS, Linux, Windows
- ✅ Multiple Python tools can coexist
Cons:
- ❌ Requires installing pipx first
- ❌ Slightly more complex than pip
Verify installation:
loko --versionUsing uv (Fast Alternative)
Section titled “Using uv (Fast Alternative)”uv is a fast Python package installer:
# Install uvcurl -LsSf https://astral.sh/uv/install.sh | sh
# Install LoKOuv tool install getlokoPros:
- ✅ 10-100x faster than pip
- ✅ Automatic environment management
- ✅ Built-in Python version management
- ✅ Isolated like pipx
Cons:
- ❌ Newer tool, less widely adopted
- ❌ Requires installing uv first
Verify installation:
loko --versionFrom Source (Development)
Section titled “From Source (Development)”For contributing or testing unreleased features:
# Clone repositorygit clone https://github.com/getloko/loko.gitcd loko
# Install in development modepip install -e ".[dev]"
# Or using uv (faster)uv pip install -e ".[dev]"Pros:
- ✅ Access to latest unreleased features
- ✅ Easy to modify and test changes
- ✅ Required for contributing code
Cons:
- ❌ Not suitable for production use
- ❌ Requires manual updates (
git pull) - ❌ May be unstable
See the Contributing Guide for development setup details.
Install Prerequisites
Section titled “Install Prerequisites”Using Homebrew (installs everything):
brew install docker kubectl helm kind helmfile cfssl gitStart Docker Desktop from Applications or:
open -a DockerTLS trust is handled by LoKO during init/create:
loko initLinux (Ubuntu/Debian)
Section titled “Linux (Ubuntu/Debian)”Docker:
# Install Dockercurl -fsSL https://get.docker.com | shsudo usermod -aG docker $USER# Log out and back in for group changeskubectl:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectlHelm:
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bashkind:
curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-linux-amd64sudo install -o root -g root -m 0755 kind /usr/local/bin/kindhelmfile:
wget https://github.com/helmfile/helmfile/releases/latest/download/helmfile_linux_amd64sudo install -o root -g root -m 0755 helmfile_linux_amd64 /usr/local/bin/helmfilecfssl:
# Install from your distro packages or the official Cloudflare releasesgit:
sudo apt install gitWindows (WSL2)
Section titled “Windows (WSL2)”Prerequisites:
- Enable WSL2 and install Ubuntu
- Install Docker Desktop for Windows with WSL2 backend
Then follow the Linux installation steps above inside WSL2.
Verify Installation
Section titled “Verify Installation”Check that LoKO is installed:
loko --versionExpected output:
loko, version 0.3.xCheck all prerequisites:
loko check prerequisitesExpected output:
✓ Docker: v24.0.6 (required: 20.10+)✓ kubectl: v1.35.0 (required: 1.25+)✓ Helm: v3.13.2 (required: 3.10+)✓ kind: v0.23.0 (required: 0.20+)✓ helmfile: v0.161.0 (required: 0.150+)✓ cfssl: installed✓ git: installed
All prerequisites installed ✓Upgrade LoKO
Section titled “Upgrade LoKO”Upgrade method depends on how you installed:
pip install --upgrade getlokoHomebrew
Section titled “Homebrew”brew upgrade lokopipx upgrade getlokouv tool upgrade getlokoFrom Source
Section titled “From Source”cd lokogit pullpip install -e ".[dev]"Troubleshooting
Section titled “Troubleshooting””Command not found: loko”
Section titled “”Command not found: loko””If installed via pipx:
pipx ensurepath# Restart your terminalIf installed via pip:
# Check if ~/.local/bin is in PATHecho $PATH | grep -q "$HOME/.local/bin" || echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrcsource ~/.bashrc“Docker daemon not running”
Section titled ““Docker daemon not running””macOS:
open -a Docker# Wait for Docker Desktop to startLinux:
sudo systemctl start dockersudo systemctl enable docker # Start on boot“Permission denied” on Docker commands
Section titled ““Permission denied” on Docker commands”Linux:
sudo usermod -aG docker $USER# Log out and back inLoKO CA not trusted
Section titled “LoKO CA not trusted”macOS/Linux:
loko initWindows:
# WSL2 support is not yet completeNext Steps
Section titled “Next Steps”✅ LoKO installed ✅ Prerequisites verified
Ready to create your first cluster? → Quick Start Guide
Want to customize? → Configuration Guide