Skip to content
Docs
strackt.io Open app

Move an environment to another server

Move a running environment to a different server, with its data carried across and only a brief switch-over that you confirm.

Move an environment to another server

You can move a running environment from one server to another without rebuilding it by hand. strackt sets up the new server, copies your data across, keeps it in sync, and then — once you confirm — switches traffic over with only a brief pause. Your environment keeps serving from its current server the whole time, right up until you confirm the switch.

Find it on the environment's page, on the Server card: Move to another server. (You can also start it from the command palette — "Move this environment to another server".) It's available when the environment is on a server and doesn't already have a move in progress.

Before you start

A few things need to be true for a move to go smoothly:

  • The target server is connected and online. Add and connect it first if you haven't — see Environments for how servers and environments relate.
  • The latest commit on the environment's branch will go live. The move deploys whatever is currently at the top of the environment's branch onto the new server. If you have changes you don't want live yet, deploy or revert them first.
  • No migrations are waiting to run. Moves require zero pending database changes on the source — run them before you start. strackt checks this again right before the switch-over.
  • The target has room. It needs enough disk and memory to hold the environment, and it can't already be running the same environment.

When you start a move you pick the target server from a short list of eligible servers, then confirm. If nothing appears in that list, no connected server currently qualifies — add or connect one first.

The stages of a move

Once you start a move, strackt walks through it for you. The Server card shows the current stage the whole time and refreshes on its own:

  1. Running preflight — checks both servers are ready and that the move can go ahead safely.
  2. Provisioning target — sets up the new server for this environment and deploys your application there.
  3. Syncing data — copies your environment's data to the target, then keeps re-syncing so the copy stays current while the original keeps serving. You don't lose anything that happens during the move. For a large dataset this stage can take a while.
  4. Ready to cut over — the target has been checked and is ready. The move now pauses and waits for you. Nothing switches automatically.
  5. Cutting over — after you confirm, traffic switches to the new server (see below).
  6. Finishing — the last steps wrap up and the environment is live on its new home.

Cutting over is a step you confirm

The switch-over never happens on its own. When a move reaches Ready to cut over, the Server card shows a Confirm cutover button. Until you click it and confirm, your environment stays exactly where it is, serving from the original server.

When you confirm cutover, strackt does a final data sync, stops the app on the original server, and points the environment — and its address — at the new server. This is the point of no return, and it can't be undone.

There's a short pause during this step while the switch happens. Your application may briefly return an error until the new server starts serving. After that, the environment is live on its new home and its domains resolve there automatically.

Stopping or backing out

Depending on where the move is, you'll see one of two controls on the Server card:

  • Abort move — available while the move is still in flight, up to the "Ready to cut over" gate. Aborting cleans up the half-prepared target and leaves your original environment completely untouched. Use this if you change your mind before confirming cutover.
  • Roll back move — appears if a move runs into a problem and reports as failed. Rolling back returns the environment to its original server and, if traffic had already switched, restores its previous address.

A move that has fully completed is final — there's no undo button. To reverse it, start a new move back to the original server.

What to expect

  • Brief source downtime at cutover. Your environment keeps serving until you confirm; the only interruption is the short window during the final sync and switch. Everything before that runs in the background with no downtime.
  • A few visitors may briefly reach the old server. Some networks cache addresses longer than they should, so a small amount of traffic can keep hitting the old location for a short while after the switch until those caches expire.
  • Connected services stay on the original server for now. If your environment uses a database or cache that lives on its current server, that service isn't moved with it — the environment connects back to it across servers after the move. Plan moves with that in mind.
  • A move left waiting flags itself. If a move sits at "Ready to cut over" without being confirmed, the environment's page shows a reminder after a day so it doesn't get forgotten.

What to do next

Was this helpful?