Clone an App Safely
Who this is for
Users who want to create a copy of a container app — for example, to create a staging environment, test configuration changes, or migrate to a new server.
Limitations
⚠️ Clone is only supported for container-kind apps (
appKind: container). Compose apps and apps deployed from an uploaded archive cannot be cloned via this feature.
For compose apps, manually create a new app with the same configuration.
What Cloning Does
Cloning creates a new app that is a copy of the source app's configuration:
- Same image reference
- Same environment variables (copied at clone time)
- Same resource limits (CPU, memory)
- Same restart policy
- Same health path
The clone starts as an independent app. Changes to the clone do not affect the original.
How to Clone a Container App
- Open the app detail.
- Click ⋮ → Clone App.
- Fill in:
| Field | Description |
|---|---|
| New app name | A unique name for the clone |
| Target server | Optional — leave blank to clone to the same server |
| Host port | Optional — override the port (CloudAIPilot auto-bumps if there's a conflict) |
- Click Clone.
If the specified (or default) host port is in use, CloudAIPilot automatically assigns the next available port.
After Cloning
- The new app appears in the Apps tab on the target server.
- If you specified a different server, the app is deployed on that server.
- A deploy is triggered immediately if the source app has an image or repository configured.
- The clone does not have domains automatically set up — add custom domains separately if needed.
Use Cases
| Use case | How to configure |
|---|---|
| Create a staging copy | Clone to same server, different name and port |
| Test a configuration change | Clone, modify env vars on clone, test |
| Migrate to a new server | Clone with target server set to the new server |
What Success Looks Like
The cloned app appears in the Apps list with status running (after the deploy completes). The original app continues running unaffected.
Common Issues and Fixes
| Issue | Likely cause | Fix |
|---|---|---|
| "NOT_IMPLEMENTED" error | App is compose or upload kind | Clone is not supported for this app type. Create a new app manually. |
| "NAME_CONFLICT" | Name already used on the target server | Choose a different name. |
| Port auto-bumped unexpectedly | Conflict on original port | Check which port was assigned in the Activity Center and update any firewall or DNS rules accordingly. |