July 13, 2026

Move a running app to another server, data and all

Clone an app and its data from one server you manage to another with a guided wizard — the original keeps running until you point DNS at the new server.

ServerCompass Team • 4 min read
Move a running app to another server, data and all

Sooner or later an app outgrows its server. The box is too small, the host is too expensive, or you want it sitting closer to your users. Moving it should be a shrug. Instead it's an evening: docker save the image, scp it across, rsync every named volume (and hope you remembered them all), hand-copy the compose file, recreate the environment variables, re-add the domains and SSL, and pray nothing depended on a path you forgot.

Miss one volume and the app comes up empty. Fat-finger a bind mount and it comes up broken. And the whole time, the version your users are hitting is the one you're trying to move away from.

Clone an app to another server you manage

Server Compass now lists itself as a migration source. Choose Server Compass in Migration and it clones an app — its configuration and its data — from one server you manage to another. The original keeps running the entire time; you cut over only once you've watched the copy work.

The Migrate-from-another-service picker showing Server Compass as a new source to clone an app to another Server Compass server, alongside Render, Coolify, and Dokploy

Start from the app you want to move

Open the app's menu on the dashboard and choose Migrate to other Server Compass server. That drops you straight into the transfer wizard with the app already selected — no hunting through settings.

An app's context menu open on the dashboard with Migrate to other Server Compass server highlighted

Follow the wizard: app, target, review, go

The wizard moves through five plain steps — Choose app, Choose target, Review, Migrate, Done:

  1. Choose the app on the source server.
  2. Choose the destination — any other server you've connected to Server Compass.
  3. Review what transfers. Server Compass runs a preflight and shows you exactly how many data volumes and how many domains it found, flags any issues before you commit, and tells you when an app was built locally so its image has to be streamed to the target rather than pulled.
  4. Start the migration and watch a live log as the data and configuration move across.

Two toggles keep you in charge of the copy. Copy data volumes brings the app's data along. Re-create domains and Traefik routing rebuilds the routing on the destination — while your DNS stays pointed at the source, so nothing cuts over by surprise.

Cut over on your own schedule

When the migration finishes, the app is running on the new server and the original is still running on the old one. Nothing is live until you say so. Verify the copy, then point your DNS at the new server when you're ready. If something looks wrong, you've lost nothing — the source never stopped serving traffic.

Before and after

Moving an app to a new serverThe manual wayWith Server Compass
Move the imagedocker save / scp / docker loadStreamed automatically when needed
Move the datarsync each volume by handOne "Copy data volumes" toggle
Recreate config and domainsHand-copy compose, re-add domains and SSLRebuilt on the target from a preflight
Risk to the live appYou're racing your own downtimeOriginal keeps running until you cut over
Knowing you got everythingHopePreflight lists volumes, domains, and issues

Who gets the most out of this

  • Upgrading to a bigger box — clone the app to the new server, test it, then flip DNS.
  • Changing providers or regions — move from one host to another without rebuilding by hand.
  • Splitting workloads — pull a heavy app off a shared server and onto its own.
  • Keeping a warm spare — clone an app to a second server as a ready-to-go copy.

Try it

Update to v1.30.0, open the app you want to move, and choose Migrate to other Server Compass server. Pick the destination, review what transfers, and start — your app lands on the new server with its data, while your users keep hitting the old one until you decide to cut over.