- Move a service to any server from its Settings tab
- Every volume streamed source agent → target agent, unpacked as it arrives
- Native tar + pigz on several cores, flat memory even for huge volumes
- Byte count and gzip checksum reject a truncated transfer
- Cloudflare records that pointed at the old server follow the service
- Clone a service into this or another project; folders group services
Migration
Pick a new server on the service’s Settings tab and the migration runs as a job: stop, stream every volume server-to-server (the source agent uploads straight to the target agent’s endpoint), deploy on the target, remove the old container. The old volumes stay on the source until you delete them from Storage, so a bad move is never destructive.
The sending agent packs with native tar and compresses with pigz on several cores in a child process piped into a plain http(s) request, so memory stays flat however large the volume. The receiving agent unpacks the stream into the volume while it arrives: no archive on disk, no second pass. The byte count and the gzip checksum reject a truncated transfer. Migrations to a private server go through the panel.
Clone
Clone a service into the same or another project: same source, env, mounts and domains configuration, undeployed, ready to point at a different branch or server. Folders group services inside a project, and every service is addressable as <service>.<project> in the API.