Incus move/copy does not work

I’m trying to migrate a server from one host to another. I believe I successfully completed adding the remote using incus remote add jailgpu 100.64.0.16 and generating a token on the remote server.

When I attempt to move it I see:

incus copy community-public-do-vm-v2 jailgpu:community-public-do-vm
Error: The source server isn't listening on the network

But, I believe the server is listening, it responds on the port using cURL:

curl -k -I HEAD https://100.64.0.16:8443/
curl: (6) Could not resolve host: HEAD
HTTP/2 200 
content-type: application/json
content-length: 114
date: Tue, 13 May 2025 14:55:44 GMT

incus info jailgpu: does return this:

 incus info jailgpu:
config:
  core.https_address: :8443
api_extensions:
- storage_zfs_remove_snapshots
- container_host_shutdown_timeout
- container_stop_priority
- container_syscall_filtering
- auth_pki
...

Note that the error message says that the source server isn’t listening on the network.

incus copy can work in pull or push mode - see doc. The default is “pull”, which means that the target server will make a connection back to the source server.

You can change this using the --mode push flag.

EDIT: newer incus versions also have --mode relay for copying via the client (like scp -3).

1 Like

Yes, that works!

incus copy community-public-do-vm-v2 jailgpu:community-public-do-vm --mode push