Skip to content

Remotes, migration, and backup workflows

Remotes let one Incus client manage multiple Incus servers and image servers.

Official docs:

  • Remotes: https://linuxcontainers.org/incus/docs/main/remotes/
  • Backup and restore: https://linuxcontainers.org/incus/docs/main/backup/

List remotes

incus remote list

Common remotes:

  • local: - your local Incus server;
  • images: - public Linux Containers image server;
  • custom names for your own Incus hosts.

Add a remote

On the server, enable HTTPS API only on trusted networks:

incus config set core.https_address :8443
incus config set core.trust_password

On the client:

incus remote add lab https://lab.example.com:8443
incus list lab:

After adding the client, remove or rotate temporary trust passwords.

Work with remote instances

incus list lab:
incus launch images:debian/13 lab:web-01
incus shell lab:web-01
incus stop lab:web-01

Copy instances between hosts

Copy while keeping source:

incus copy web-01 lab:web-01

Move and remove source:

incus move web-01 lab:web-01

Copy with snapshots:

incus copy web-01 lab:web-01 --instance-only=false

Export/import backup

incus export web-01 web-01-$(date +%Y%m%d).tar.gz
incus import web-01-20260101.tar.gz

Test restore on another host:

incus import web-01-20260101.tar.gz restored-web-01
incus start restored-web-01
incus info restored-web-01

Backup checklist

For each important instance, document:

  • instance name;
  • project;
  • profiles;
  • storage pool;
  • attached custom volumes;
  • static IPs and proxy devices;
  • backup command;
  • restore test date.

Migration checklist

Before migration:

incus info app-01
incus config show app-01 --expanded
incus snapshot app-01 pre-migration

Copy to target:

incus copy app-01 new-host:app-01

Verify target:

incus start new-host:app-01
incus list new-host:app-01
incus info new-host:app-01

Only delete the old instance after testing application-level behavior.