- Documentation
- Services
- Move a Service to Another Project
Last updated: October 21, 2026
Move a Service to Another Project
You can move a service from one project to another without rebuilding it. Guara Cloud copies the image that is currently running, starts the service in the target project and, once it is healthy, removes the old copy. Downtime is close to zero.
Moves are done one service at a time.
Requirements
Before moving a service, make sure that:
- Both projects have the same Owner.
- You are Owner or Admin in both projects.
- The target project is active.
- The target project does not already have a service with the same name.
- The target project is still within its service limit after receiving the service.
What cannot be moved yet
The following services cannot be moved for now. The move dialog shows the reason before you confirm:
- Services with persistent storage or attached volumes.
- Managed databases and other services from the Service Catalog.
- Services with a deploy in progress.
- Services targeted by a cron job in the current project. Remove or change the cron job first.
- Services that use a database from the current project (its credentials are injected automatically). Moving would cut the service off from that database.
How to move
-
Open the service settings — go to the service page in the dashboard and click Settings.
-
Start the move — in the Danger Zone section, click Move to another project.
-
Choose the target project — only projects where the move is possible are listed. If something blocks the move, the dialog explains why.
-
Confirm — type the service name and confirm. The service page shows the progress and redirects you to the service in its new project when the move is complete.
You can also use the CLI:
guara services move <service> --to <project>
Use --yes to skip the confirmation prompt and --wait to wait until the move finishes.
What happens during the move
- The running image is copied to the target project. There is no rebuild.
- The service starts in the target project with the same configuration.
- Once the new copy is healthy, the service switches to the target project and the old copy is removed.
While a move is in progress, deploys, settings changes, stop, start, and delete are blocked for that service.
If the move fails before the switch, nothing changes: the service keeps running in the original project and you can try again.
What is kept
- The generated URL. It keeps the old project’s name in it, so existing links keep working.
- Custom domains, with no DNS changes needed.
- Environment variables and settings.
- Deployment history and logs.
What changes
- Private networking. Projects are network-isolated. After the move, services that stayed in the old project can no longer reach the moved service through its internal hostname, and the moved service can now reach the services of the target project.
- Discovery variables. The automatic
{NAME}_URLand{NAME}_HOSTvariables are recalculated in both projects. See Service Networking.
Frequently asked questions
Will the URL of my service change?
No. The generated URL and custom domains stay the same. The generated URL still contains the old project’s name.
Can I move a service to a project owned by someone else?
No. Both projects must have the same Owner. To hand over a whole project, use Transfer Ownership.
Can I move several services at once?
No. Move one service at a time.