TL;DR — What you get: your app and its volumes running in a new region, with old addresses forwarding for weeks. Who it's for: anyone whose users are far from where the app runs, or who needs data in a specific region. Time: a few minutes of clicking, plus an estimated freeze of 2–4 minutes for a small app. Cost: the move fee is shown before you confirm (a small one-container app showed $5.00) and is refunded if you cancel before the freeze.

Checked against the Hubfly space dashboard and docs, November 2026.

You picked a region on day one, probably without thinking about it. Now most of your users are on another continent, and every request crosses an ocean twice. Or a customer asks where their data lives, and the answer is wrong.

Moving an app to another region usually means rebuilding it by hand and hoping nothing was missed. On Hubfly space you can move a whole app in one flow, with a written plan of everything that changes before you commit.

Try it on Hubfly space: the free tier includes 360 hours a month.

What moves, and what doesn't

A region move copies a Cell project's containers, writable root filesystems, volumes, images and routes. Hubfly space copies the data while the app runs, then freezes it briefly for the last changes, checks both sides match, and switches over.

Some things don't move with it:

  • Managed databases, Realtime, Storage buckets, Boxes and Mail need their own procedure.
  • Logs, metrics and firewall analytics from before the switch stay in the old region and aren't shown afterwards. Export what you need first.
  • Your public addresses change. Each Hubfly space subdomain gets a new name in the new region, and your outbound IP changes.

Step 1: Open the move screen

Open your project, click the gear icon next to its name, and go to Danger Zone. The first card is Move to another region. Click Choose region.

The Danger Zone with 'Move to another region' at the top

To move several projects at once, use Move several projects instead. A batch takes 2 to 20 projects and moves two at a time.

Step 2: Pick the target region

Regions that can't take your project are greyed out with the reason. Pick the one closest to your users and click Continue.

Choosing the target region. Ineligible regions explain why they can't be used

Step 3: Read the review. This is the important part

The review screen is your move plan. Read every line. It shows:

  • Two freeze modes. Copy first, then freeze copies while the app runs and freezes only for the last changes. Stop and copy stops the app first, then copies everything. Pick the first for most web apps, and the second if your app writes heavily to a volume (a self-hosted database, for example).
  • The freeze estimate, with the math shown. For a small app with a few MB of data, it estimated 2 to 4 minutes, mostly the time to stop, start and check the app. Before a speed test it assumes 40 MB/s. Click Measure transfer speed to replace that assumption with a measured speed, which matters most for bigger volumes.
  • The move fee and data sizes. A small one-container app with a few MB of data showed Move fee: $5.00.

The review screen: freeze modes, the estimate, and the move fee

Scroll down for the checklist. It's specific to your project:

  • New addresses. your-app.eu2.hubfly.app becomes your-app.us3.hubfly.app. Browsers are redirected and other requests are forwarded from the old address for about 30 days. An address with no traffic for 3 days stops forwarding sooner.
  • A new outbound IP. The screen shows the old and new IP. Add the new one to every allowlist your app connects to (an external database, a payment provider, a partner API) before the move.
  • DNS changes for custom domains. Each custom domain gets a per-record plan (CNAME or A record).
  • Hard-coded addresses. Environment variables that contain old addresses show up as warnings. Secret values are never displayed.

The checklist: new address, new outbound IP, logs, and the deadline

Step 4: Schedule it and confirm

Click Continue to reach Schedule and confirm:

  1. Freeze window. Pick your quietest hour (local time), or leave it empty to start now.
  2. Maximum freeze, from 1 to 1,440 minutes (default 10). If the estimate goes over your limit, the app keeps running and the move waits for you to choose: keep copying, freeze now, or cancel.
  3. Tick I have reviewed external database allowlists and the new outbound addresses.
  4. Type your project name and click Start move.

Schedule and confirm: the freeze window, the maximum freeze, and the confirmation

During the freeze, your sites show a maintenance page and TCP connections are refused. That's the downtime to plan for.

Step 5: Watch it, then switch your DNS

The project page shows copied bytes, the current step, the freeze time and verification status. Before switching over, Hubfly space compares data (Merkle roots), image digests, configuration and runtime checks. If verification fails before cutover, your source is restored automatically. You get an email when it's done or needs you.

After the move:

  1. Follow the DNS plan for each custom domain. The live checker shows when DNS and certificates are ready.
  2. Update TCP connection strings, registry push destinations, OAuth redirect URIs and webhooks before the forwarding deadline.
  3. Download the signed attestation if you need proof of the move for a customer or an audit. It records the copy roots and timestamps.

The cheaper-looking route that empties your volumes

The move screen has a second mode. A project that is hibernated or empty gets a different dialog, Change project region, which says "This is free." It only changes where the project starts next time. When it finishes, the History tab shows "Region changed from eu-north to usa-central", and the completion banner offers Download attestation.

A free region change on an empty project, with the attestation download

So it's tempting to hibernate the app, change its region for free, then restore it. Don't do that for an app with data. A restore starts at $1.00 (about $1.40 for one container, one volume and one domain), and volumes come back empty: they're recreated from their saved configuration, not from your files.

Use the free change for an empty project. For anything with data, use the full move: it's the one that copies and checks your volumes.

Changed your mind? Cancel or move back

  • Before the freeze: cancel. The partial copy is removed and the fee is refunded.
  • After the move: the old copy is kept for the move-back period (7 days by default). Use Move back during that time to return to the old region.

What can go wrong

  1. The app breaks right after the move because an external service rejects it. Your outbound IP changed. Add the new IP from the review screen to the allowlist of your database, API or payment provider before the freeze window.
  2. Your app gets slower after moving closer to users. It probably still talks to a managed database in the old region, so every query crosses the ocean. Move the data too: dump it, restore it into a database in the new region, then switch DATABASE_URL. Do this before the freeze so both sides are ready.
  3. The freeze takes longer than you hoped. Big volumes and lots of writes mean more changes to copy at the end. Click Measure transfer speed, set a Maximum freeze you can live with, and schedule the window for your quietest hour. If the estimate goes over the limit, nothing freezes until you decide. And if you need zero downtime, a region move isn't the tool: it always has a freeze.

Limits and pricing

  • Fee: shown on the review screen before you confirm, and refunded if you cancel before the freeze. A small one-container app with a few MB of data showed $5.00. Changing the region of an empty or hibernated project is free.
  • Running cost should stay the same. Hubfly space lists one set of rates, with no regional pricing. A small always-on app with 0.5 vCPU, 0.5 GB RAM and a 1 GB volume costs: 0.5 × $0.004 × 730 + 0.5 × $0.002 × 730 + 1 × $0.00001536 × 730 = $1.46 + $0.73 + $0.01 = about $2.20 a month, before and after the move.

Who this is not for

  • Projects built around managed databases, Storage, Boxes or Mail. Those don't move with the project. The move covers Cell containers, volumes, images and routes.
  • Multi-region apps. This moves a project from one region to another. It doesn't run your app in two regions at once.

Go further on Hubfly space

FAQ

Can I change the region of a running app?

Yes: Project settings → Danger Zone → Move to another region. The app keeps running while data copies, then freezes briefly.

How long is the downtime?

The review screen estimates it for your project. For a small app with a few MB of data it estimated 2 to 4 minutes, mostly stopping, starting and checking the app. Big, busy volumes take longer, and you set the maximum.

Will my domain keep working?

Hubfly space subdomains get a new name and the old one forwards for about 30 days. Custom domains need the CNAME or A record change from the DNS plan.

Can I undo it?

Yes, with Move back during the retention period (7 days by default).

Ready to put your app closer to your users? Start free on Hubfly space, 360 hours included. Moving many projects for a team or customers? Talk to sales.