Install via Loft CLI
Loft can be deployed via Helm, kubectl, Terraform, ArgoCD, Flux, and many other tools.
Using Loft CLI is the easiest way to deploy Loft to a Kubernetes cluster. If you decide later on that you want to manage your Loft instance via GitOps, you can export the applied Kubernetes manifests or the Helm chart configuration and store this data in a git repository.
1. Download CLI
Use one of the following commands to download the Loft CLI binary from GitHub:
- Mac Terminal
- Linux Bash
- Windows Powershell
npm install -g loft.sh
yarn global add loft.sh
curl -s -L "https://github.com/loft-sh/loft/releases/latest" | sed -nE 's!.*"([^"]*loft-darwin-amd64)".*!https://github.com\1!p' | xargs -n 1 curl -L -o loft && chmod +x loft;
sudo mv loft /usr/local/bin;
curl -s -L "https://github.com/loft-sh/loft/releases/latest" | sed -nE 's!.*"([^"]*loft-linux-amd64)".*!https://github.com\1!p' | xargs -n 1 curl -L -o loft && chmod +x loft;
sudo mv loft /usr/local/bin;
md -Force "$Env:APPDATA\loft"; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]'Tls,Tls11,Tls12';
Invoke-WebRequest -UseBasicParsing ((Invoke-WebRequest -URI "https://github.com/loft-sh/loft/releases/latest" -UseBasicParsing).Content -replace "(?ms).*`"([^`"]*loft-windows-amd64.exe)`".*","https://github.com/`$1") -o $Env:APPDATA\loft\loft.exe;
$env:Path += ";" + $Env:APPDATA + "\loft";
[Environment]::SetEnvironmentVariable("Path", $env:Path, [System.EnvironmentVariableTarget]::User);
Check Environment Variable $PATH
Line 4 of this install script adds the install directory %APPDATA%\loft
to the $PATH
environment variable. This is only effective for the current Powershell session, i.e., when opening a new terminal window, loft
may not be found.
Make sure to add the folder %APPDATA%\loft
to the PATH
environment variable after installing Loft CLI via Powershell. Afterward, a reboot might be necessary.
To confirm that Loft CLI is successfully installed, reboot and test via:
loft --version
Alternatively, you can download the binary for your platform from the GitHub Releases page and add this binary to your PATH.
2. Deploy Loft
Make sure you are using the correct kube-context via kubectl config current-context
and then run:
loft start
The CLI will ask for your email address to create the admin user and then deploy Loft via Helm to your cluster.
Troubleshooting
Your Loft pod is not starting or the UI is not showing up? View our Troubleshooting Guide if you have any issues.
3. Login
While loft start
is running in the background, open a second terminal window and sign in via the CLI:
loft login https://localhost:9898 --insecure # See `loft start` output for login credentials
This command will open the browser where you can sign in using the login data shown in the output of loft start
.
Accept Untrusted Certificate
Since Loft generates a self-signed SSL certificate, you need to run loft login
with the --insecure
flag and once the browser opens, you will also need to accept the untrusted self-signed certificate before the login page will show up. Once you connect a domain to Loft later on, you can use your own, valid certificates or have one provisioned via cert-manager
.