Skip to content

Install

Terminal window
curl -fsSL https://ikenga.dev/install.sh | sh

The script detects your OS and architecture, downloads the matching artifact from the latest GitHub Release, and installs it:

  • macOS — mounts the universal .dmg (~40 MB) and copies Ikenga.app into /Applications. Ikenga is not yet code-signed, so if macOS shows a Gatekeeper warning the first time you open it, the script prints how to open it anyway (right-click → Open, or System Settings → Privacy & Security → Open Anyway).
  • Linux — defaults to the system-wide .deb (~22 MB) when dpkg is present, printing the single sudo apt-get install line to paste; otherwise it installs the no-sudo AppImage (~110 MB) to ~/.local/bin/ikenga and makes it executable. Force either with IKENGA_FORMAT=deb or IKENGA_FORMAT=appimage. Both download from GitHub’s release CDN, which can run slowly — give the transfer a minute or two before assuming it stalled.

Releases ship a single universal .dmg that runs natively on both Apple Silicon (arm64) and Intel (x86_64), so the install script downloads the same file on either chip. Like the other installers it is not yet code-signed; if macOS shows a first-run Gatekeeper warning, approve it once: right-click the app and choose Open, or go to System Settings → Privacy & Security and click Open Anyway.

Download and inspect (the no-curl | sh path)

Section titled “Download and inspect (the no-curl | sh path)”

If you’d rather not pipe a script straight into your shell, you don’t have to.

  1. Open the latest release and download the artifact for your platform directly — .dmg (macOS), .AppImage or .deb (Linux), .exe (Windows).

  2. To read the installer before running it:

    Terminal window
    curl -fsSL https://ikenga.dev/install.sh -o install.sh
    less install.sh # read it
    sh install.sh # then run it
  3. Each release (from 0.19.1) includes a SHA256SUMS.txt that lists the SHA-256 of every asset: download it next to your installer and run shasum -a 256 -c SHA256SUMS.txt --ignore-missing (macOS) or sha256sum -c SHA256SUMS.txt --ignore-missing (Linux). GitHub also shows each asset’s digest on the release page, and the Linux, Windows and updater archives ship minisign .sig files.

From 0.19.4, each release also attaches the headless server for Linux: ikenga-server_<version>_linux_amd64.tar.gz and _arm64.tar.gz, each with a .sigstore.json bundle and listed in SHA256SUMS.txt. Check a download with sha256sum -c SHA256SUMS.txt --ignore-missing and gh attestation verify <file> --repo ikenga-hq/ikenga. The tarball holds bin/ikenga-server, the web app in dist/ and the systemd units; setup steps are in the server README in the ikenga repository. The server is beta: you install and run it yourself, and pairing a phone needs HTTPS in front.

Download the .exe installer (~17 MB) directly from the latest release. The installer is not yet code-signed, so Windows shows a first-run warning.

The install script honours five environment variables:

VariableDefaultPurpose
IKENGA_VERSIONlatestPin a specific release tag (e.g. <version>).
IKENGA_FORMATdeb if dpkg present, else appimageLinux installer format. deb is the smaller (~22 MB) system-wide install (needs sudo); appimage is the larger (~110 MB) no-sudo portable build.
IKENGA_INSTALL_DIR~/.local/binLinux portable (AppImage) install location. Ignored when IKENGA_FORMAT=deb.
IKENGA_REPOikenga-hq/ikengaSource repository.
IKENGA_SILENT0Windows: set to 1 to run the NSIS installer silently (/S) with no UI.

Example — pin a version and install to a different directory:

Terminal window
curl -fsSL https://ikenga.dev/install.sh | \
IKENGA_VERSION=<version> IKENGA_INSTALL_DIR=$HOME/opt/bin sh

Ikenga fetches the Bun runtime it needs in the background on first launch. On a restricted network you can supply Bun yourself: see Offline and air-gapped install.