Skip to content
Spinoza

Documentation

Install

One script per platform, with the checksums verified before anything is written.

macOS and Linux

curl -fsSL https://spinoza.tech/install.sh | sh

The binary goes to ~/.local/bin, or to /usr/local/bin when run as root. The desktop app lands in /Applications on macOS and in your launcher on Linux.

Windows

irm https://spinoza.tech/install.ps1 | iex

The binary goes to %LOCALAPPDATA%\Programs\spinoza, which the installer adds to your user PATH, and the desktop app to an app subdirectory beside it.

Nothing is code-signed, so Windows SmartScreen warns on first run: More info, then Run anyway.

Archives and packages

Checksums are verified before anything is written, whichever route you take.

  • Tarballs for Linux and macOS, and zips for Windows, on the releases page.
  • Debian and RPM packages for Linux, which put the binary at /usr/bin/spinoza.

Environment variables the installer reads

VariableEffect
SPINOZA_INSTALL_DIRWhere the binary is written, overriding all three defaults.
SPINOZA_VERSIONInstall exactly this tag rather than the newest release.
SPINOZA_SKIP_APPSet to 1 to install the binary only, without the desktop app.
SPINOZA_VERIFY_ATTESTATIONSet to 1 and the installer checks the GitHub build provenance of what it downloaded before writing it, which a checksum alone cannot tell you. Needs gh installed and signed in, so it is off by default.

Pinning a release

Taking the script from a tag rather than from spinoza.tech skips the redirect and installs exactly that release, rather than whatever is newest at the moment you run it.

curl -fsSL https://raw.githubusercontent.com/sophotechlabs/spinoza/v1.17.0/install.sh \
  | SPINOZA_VERSION=v1.17.0 sh

Removing it

On Windows the installer takes itself back out, including the desktop app, the Start menu entry and the PATH entry it added. Your settings and kubeconfigs are left alone.

$env:SPINOZA_UNINSTALL=1; irm https://spinoza.tech/install.ps1 | iex

What it needs from the machine

  • A kubeconfig. Spinoza reads the usual lookup unless you point it somewhere else.
  • helm on PATH, for rollback and uninstall. Everything else Helm-related is read from Helm's own storage without it.
  • kubectl on PATH, for creating ephemeral debug containers.