Installation

Download

Download the right file for your system from the GitHub Releases page:

Your ComputerFile Name
Windows (NVIDIA graphics card)swarmllm-windows-x86_64-gpu.zip
Windows (AMD or Intel graphics, no graphics card, or not sure)swarmllm-windows-x86_64-cpu.zip
Mac (Apple chip — M1 or newer)swarmllm-macos-aarch64.tar.gz (runs on the processor; no graphics acceleration yet)
Mac (Intel chip)Not supported yet — build from source (best-effort)
Linux (most distros)swarmllm-linux-x86_64.tar.gz
Linux (NVIDIA GPU)swarmllm-linux-x86_64-cuda.tar.gz
Linux (processor from before 2013)swarmllm-linux-x86_64-baseline.tar.gz
Windows (processor from before 2013)swarmllm-windows-x86_64-baseline.zip

It stops immediately with Illegal instruction? Download the -baseline build. The ordinary Linux and Windows builds are made for processors from 2013 onwards (they use AVX2 instructions), which makes them roughly 3x faster at running models on the processor. On an older machine they stop on the very first instruction, before printing anything — and because nothing is wrong with the download, re-downloading or checking permissions changes nothing. On Linux, grep -c avx2 /proc/cpuinfo printing 0 means you want the baseline build.

Not sure which Mac? Apple menu > "About This Mac." If it says "Apple M1" (or M2/M3/etc.), use the Mac download. If it says "Intel," there is no download for your Mac yet.

Which NVIDIA cards get GPU acceleration? RTX 30-series and newer (also RTX 40, RTX 50, and the A/H data-centre cards). The RTX 20-series, GTX 16-series and anything older are below the requirement of the FlashAttention kernels SwarmLLM ships, which is what makes attention fast.

An older card is not a problem — nothing breaks and there is nothing to configure. SwarmLLM checks the card when it starts, tells you in the log and on the dashboard that it is using the processor instead, and carries on. The models the swarm manages for you run through this CUDA path on every system. The Windows graphics build also carries a Vulkan backend that works on any graphics card, but it is used only for a single model file you load yourself with -m.

To check your card: nvidia-smi --query-gpu=name,compute_cap --format=csv. A number of 8.0 or higher gets GPU acceleration.

Check the download (optional, one command)

The single-file downloads — swarmllm-linux-x86_64, swarmllm-windows-x86_64-gpu.exe and the like, plus the .deb and .rpm — each have a .sha256 file beside them on the release page. (The .zip and .tar.gz archives don't.) Put both files in the same folder and run one command to catch a damaged or incomplete download:

sha256sum -c swarmllm-linux-x86_64.sha256            # Linux
shasum -a 256 -c swarmllm-macos-aarch64.sha256       # Mac

Those .sha256 files are also signed, and the built-in updater refuses an update whose signature it cannot verify.

Install & Run

Windows

  1. Download swarmllm-windows-x86_64-gpu.zip if your PC has an NVIDIA graphics card (it bundles the NVIDIA libraries, so no CUDA Toolkit is needed), otherwise swarmllm-windows-x86_64-cpu.zip (works on every PC, including ones with AMD or Intel graphics).
  2. Right-click it and choose Extract All — running it from inside the zip view does not work.
  3. Double-click swarmllm.exe in the extracted folder. SmartScreen shows "Windows protected your PC" because the program is not code-signed yet: click More info > Run anyway.
  4. A console window opens: that is SwarmLLM running. Keep it open (minimising is fine) — closing it stops SwarmLLM. The dashboard opens in your browser.

There is no SwarmLLM-Setup.exe at the moment. The installer that bundled both variants was dropped from the release build on 2026-04-22 and has not been published since; earlier versions of this page still named it.

From PowerShell on a raw binary:

cd Downloads\swarmllm-windows-x86_64-gpu
.\swarmllm.exe run

macOS

Double-click the download in Finder to unpack it into a folder, keep that folder somewhere in your home folder (Documents or Downloads is fine), and double-click swarmllm inside it. A Terminal window opens — that is SwarmLLM running, so leave it open. Or from Terminal (the archive has no folder of its own, so unpack it into one):

mkdir -p ~/swarmllm
tar xzf ~/Downloads/swarmllm-macos-aarch64.tar.gz -C ~/swarmllm
cd ~/swarmllm
./swarmllm run

Where you put it matters on a Mac. Keep SwarmLLM in a folder you own — anywhere under your home folder, as in the commands above. Folders like /Applications need administrator rights, and SwarmLLM cannot then replace its own binary, so it will tell you an update is available and decline to install it. Nothing else about it changes; move the file and updates work by themselves.

First launch: "cannot be opened because it is from an unidentified developer." The binaries are not yet signed with an Apple developer certificate, so Gatekeeper stops the first run of anything downloaded in a browser. Either open System Settings > Privacy & Security and click Open Anyway, or remove the quarantine flag the browser added:

xattr -d com.apple.quarantine swarmllm

Downloading with curl avoids it entirely — the quarantine flag is set by the browser, not by macOS in general — and it is a one-time thing per download, not something that recurs on every update (confirmed on a Mac mini M4, 2026-09-03).

Linux

The archive has no folder of its own, so unpack it into one (use swarmllm-linux-x86_64-cuda.tar.gz for an NVIDIA RTX 30-series card or newer):

mkdir -p ~/swarmllm
tar xzf ~/Downloads/swarmllm-linux-x86_64.tar.gz -C ~/swarmllm
cd ~/swarmllm
./swarmllm run

The NVIDIA download needs NVIDIA's CUDA 12 libraries (cuBLAS, cuRAND and NVRTC); unlike the Windows download it does not carry them. On Ubuntu or Debian (multiverse / non-free):

sudo apt install libcublas12 libcublaslt12 libcurand10 libnvrtc12

or install NVIDIA's CUDA Toolkit 12. Without them SwarmLLM still works: it runs on the processor and its log says which library it could not find. Restart it after installing them to use the card.

Linux packages (.deb / .rpm)

Debian / Ubuntu:

sudo dpkg -i swarmllm_*_amd64.deb
sudo systemctl enable --now swarmllm                   # start it as a background service

Fedora / RHEL — the .rpm does not yet create the user the service runs as, so create it once before starting the service (systemd creates the data folder):

sudo rpm -i swarmllm_*.x86_64.rpm
sudo useradd --system --no-create-home --shell /usr/sbin/nologin swarmllm
sudo systemctl enable --now swarmllm

Either way SwarmLLM runs as a background service that keeps its data in /var/lib/swarmllm (the access token is in /var/lib/swarmllm/api_key). Programs installed from a package do not update themselves — install the next release's package to update. Homebrew and AUR packages are not published yet.

Docker

The fastest way to get running on any Linux server:

# 1. Get the compose file and example env
curl -LO https://raw.githubusercontent.com/enapt/SwarmLLM/main/docker-compose.yml
curl -LO https://raw.githubusercontent.com/enapt/SwarmLLM/main/.env.example

# 2. Configure (add API keys, change ports, etc.)
cp .env.example .env
nano .env

# 3. Start
docker compose up -d

For NVIDIA GPU support (requires NVIDIA Container Toolkit):

docker compose --profile gpu up -d

Pre-built images on GHCR:

ImageDescription
ghcr.io/enapt/swarmllm:latestCPU-only
ghcr.io/enapt/swarmllm:latest-cudaNVIDIA GPU (CUDA 12.4)
ghcr.io/enapt/swarmllm:<version>A pinned release, e.g. 0.3.200-alpha (CPU)
ghcr.io/enapt/swarmllm:<version>-cudaA pinned release (GPU)

The CPU image carries two builds and starts the faster one your processor can run: the AVX2 build on anything from 2013 on, a slower build that runs anywhere otherwise. Images before the first release after 0.3.204-alpha carried only the slow build, so a container ran models about 3x slower than the downloadable program on the same machine, and read prompts about 8x slower. The GPU image needs an AVX2 processor, like the GPU downloads.

An image is published when its release is — after the release has been checked and signed, the same moment the built-in updater can see it. (Before this rule, images for 0.3.199-alpha, which was withdrawn, and for 0.3.202-alpha and 0.3.203-alpha, which were never released, were published by mistake; they have been removed. If a container of yours still runs one, pull latest again.)

Data is persisted in Docker volumes. Model shards are stored in the swarmllm-models volume (or bind-mount a host directory via SWARMLLM_MODELS_DIR in .env).

View logs with docker compose logs -f. The API key is printed on first startup; to read it again — the dashboard will ask for it, because a browser on your computer reaches the container from outside it — run docker exec swarmllm cat /data/api_key.

Cargo Install

Requires Rust 1.90+:

cargo install --git https://github.com/enapt/SwarmLLM.git   # add --tag vX.Y.Z-alpha to pin a release
swarmllm run

Building from Source

git clone https://github.com/enapt/SwarmLLM.git
cd SwarmLLM
cargo build --release
./target/release/swarmllm run

For NVIDIA GPU support, build what the release builds (llama.cpp + candle on CUDA + FlashAttention; it needs the CUDA toolkit and compiles for a long time):

cargo build --release --features cuda

The build command for each release variant is in CONTRIBUTING.md.

For Apple Silicon: the default build runs on CPU. A Metal-accelerated build is on the roadmap but not yet implemented (no metal Cargo feature exists yet); until then, use the default cargo build --release.

Open the Dashboard

Once running, open http://localhost:8800 in your browser. The setup wizard will walk you through initial configuration.