Skip to content

Installation for Slicer for Linux

Looking for Slicer for Mac? See the Slicer for Mac installation guide.

System requirements

You can run Slicer on a varied range of hardware, from mini PCs, to your Mac, to cloud-based VMs with nested virtualisation support.

  • Bare-metal or nested virtualisation
  • x86_64 or Arm64 (including Raspberry Pi)
  • Ubuntu LTS is the preferred/supported OS (Debian, and RHEL-like should also work)

Check that KVM is available. If this command prints a device, you're ready to go:

ls -l /dev/kvm

If it's missing, enable virtualisation (VT-x/AMD-V) in your BIOS, or for a cloud VM, pick an instance type with nested virtualisation. See the appendix for suggested local hardware and cloud-based options.

Slicer is designed to run on a basic OS installation, without Docker, Kubernetes, or other virtualisation tools. Slicer installs and manages its own dependencies, such as Firecracker, QEMU, and containerd.

Quick installation

The default slicer installation only enables support for image storage. Additional storage backends for zfs or devmapper can be enabled using the --zfs and --devmapper flags. See Snapshot-based storage.

curl -sLS https://get.slicervm.com | sudo bash

See also: installation script

The installer sets up Firecracker, QEMU, containerd for storage, and a few networking options.

Set up the license key

If you have a trial or subscription for Slicer Individual, Team or Platform, then you'll have received a license key via email. Save it to ~/.slicer/LICENSE. This license will not expire, so long as your subscription remains active.

Note for GitHub Sponsors (not Polar): after installation, you should run slicer activate to link your GitHub account to your Slicer installation. The keys for sponsors last for 30 days, but can be refreshed using the same command.

Run slicer commands without sudo

The installer creates a slicer group. Its members can read the API token and local API sockets without sudo. Add your user to the group so only slicer up needs sudo:

sudo usermod -aG slicer $USER

Log out and back in for it to take effect, or run newgrp slicer to use it in the current shell.

Updating slicer

To update Slicer, use the slicer update command:

sudo slicer update

Next steps

Now that Slicer is installed, start your first VM with the walkthrough.

Appendix

Local hardware for Slicer

Ideal for labs and the home office:

Cloud options for Slicer

Cloud-based bare-metal:

Enterprise:

  • On-premises datacenter with your own bare-metal servers
  • OpenStack / VMware (with nested virtualisation)
  • Azure, DigitalOcean, GCP VMs (with nested virtualisation)

Additional cloud-based options for KVM are included on this page on our sister site (Actuated)

Snapshot-based storage

Snapshot-based storage is not required for development and testing. We recommend starting with the default image storage, then switching when you want to trade a little extra setup for much faster VM disk clone times, i.e. for production or when launching many short-lived VMs.

Snapshot-based storage enables much faster VM creation times. ZFS is the recommended option for Slicer, devmapper is also supported. See storage for slicer for more info on the different storage backends.

For best performance using a dedicated drive, volume or partition for the storage backend is recommended. If no disk is provided a loopback device will be created automatically.

ZFS on non-Ubuntu distributions

Automatic ZFS installation is only supported on Ubuntu. On other distributions, install ZFS manually before running the install script with the --zfs flag.

ZFS (loopback)

curl -sLS https://get.slicervm.com | sudo bash -s -- \
  --zfs

ZFS (dedicated drive)

curl -sLS https://get.slicervm.com | sudo bash -s -- \
  --zfs /dev/sdb

Devmapper (loopback)

curl -sLS https://get.slicervm.com | sudo bash -s -- \
  --devmapper

Devmapper (dedicated drive)

curl -sLS https://get.slicervm.com | sudo bash -s -- \
  --devmapper /dev/sdb

The --devmapper and --zfs flags can be used together to enable both storage backends.