documentation

Installation

How to install the Squadron CLI (squadron) on Linux.

System requirements

  • OS: Linux (tested on Ubuntu and Arch; other distros may work but are not tested)
  • Architecture: x86_64

Install

curl -fsSL https://www.getsquadron.io/install.sh | sh

The install script detects your distro, then:

  1. Checks for tar, unzip, git, swayidle, xprintidle, fuse3, uidmap, and (on bash) bash-completion. If anything is missing, it prints the exact package-manager commands it wants to run and waits for you to approve them.
  2. Downloads rclone v1.69.1 into ~/.squadron/rclone.
  3. Downloads podman v5.8.4 into ~/.squadron/podman.
  4. Downloads the latest squadron binary into ~/.local/bin and the squadron-daemon binary into ~/.local/libexec.
  5. Configures and starts the daemon as a systemd user service.

If ~/.local/bin isn't on your PATH, the installer will append it to your shell's rc file and tell you which file it edited. Open a new shell afterwards so the change takes effect.

Verify the install

squadron --version

What gets installed

  • squadron is the CLI for managing projects, jobs, volumes, and machines.
  • squadron-daemon is the background daemon that runs jobs when your machine is idle. It's installed as a systemd user service.
  • podman v5.8.4 is the container runtime that builds and runs your jobs.
  • rclone v1.69.1 mounts your volumes into jobs and moves artifacts to and from storage.

Squadron manages the last two itself, at pinned versions, separately from any copies you already have. Both live under ~/.squadron/ and stay off your PATH. Additionally, podman keeps config and image storage of its own in the same place, so they won't conflict with your existing ones, if they exist.

Shell completions

The CLI automatically installs shell completions for Fish, Bash, and Zsh on every run. Tab completion covers every command and flag; you don't need to set anything up.

Updating

On each run, the CLI checks for updates if it hasn't for at least 60 minutes. If a newer version is available, it will download both the CLI and daemon binaries, restart the daemon systemd service, and re-execute itself with the updated binary. You do not need to re-run the install script.

Uninstalling

To remove the CLI, daemon, and systemd service from this machine:

squadron uninstall

That will deregister the machine if it's registered, remove the systemd user service, delete the squadron and squadron-daemon binaries, remove the managed podman and rclone along with the images podman pulled, and ask before deleting the local data directory. Your own podman and rclone, if you have them, are left as they were.

It does not touch any remote resources. Your jobs, volumes, and projects stay where they are. Manage those from the web dashboard.

If you only want to detach this machine from your org without uninstalling, run squadron machine deregister instead.