How to move applications and datastores between clusters in Porter

Last updated: February 6, 2026

While Porter doesn't currently offer an automated way to move applications and datastores between clusters, you can follow these steps to manually migrate your resources:

Moving Applications

  1. Export the porter.yaml file for each application you want to move:

    • Go to the application's Settings tab

    • Look for the option to export the porter.yaml file

    • Download the file for each application

  2. In the new cluster, use the exported porter.yaml files to recreate the applications with the same settings

  3. Put your new app's services on sleep mode by accessing each service's Resources tab and checking the "Pause all instances" checkbox (we recommend pausing apps till the DNS migration begins)

  4. After all the apps are copied to the new cluster, you can begin the DNS migration. Start waking up your apps' services from the sleep state. Then, point your DNS domains to the new apps. To avoid downtime during this part, you need to keep the old cluster app replicas spinning while you change the DNS to the new cluster app replicas till you see traffic stop on the old replicas.

  5. After all apps are fully moved to the new cluster, you can delete the old one.

For more information on using porter.yaml files, refer to our Configuration as Code documentation.

Moving Datastores

Datastores need to be migrated manually. The process varies depending on the type of datastore. For PostgreSQL datastores, we have a blog post with some ways of migrating databases with near-zero downtime.

Conclusion

While this process requires manual effort, it allows you to maintain full control over the migration and ensure that all your applications and data are correctly transferred to the new cluster.