Skip to content

One-click migration of a service (volumes + configuration) to another server #2260

@simonboisset

Description

@simonboisset

What problem will this feature address?

Dokploy lets users back up data volumes, and deploy to multiple remote servers, but it still lacks a unified workflow to relocate a running service—including Docker volumes, docker-compose.yml, environment variables, and Traefik labels—from Server A to Server B without manual re-deployment.

Problems:

  • Downtime & human error when migrations are done by hand
  • Manual re-entry of environment variables, networks, and secrets
  • Risk of data inconsistency between restored volumes and the new instance
  • No easy way to rebalance load or free resources across nodes

Describe the solution you'd like

Proposed migration flow :

  1. Snapshot volumes
    Use Volume Backups to create a hot/cold backup archive.
  2. Export service configuration
    Collect docker-compose.yml, environment variables, secrets, labels, and mounts.
  3. Secure copy to target
    Transfer the backup archive and compose file to Server B via dokploy-cli server cp ….
  4. Provision target server
    Register Server B if needed using Multi Server / Cluster features.
  5. Orchestrated restore
    Restore volumes ({appName}_{volumeName} naming) and deploy the service from the exported compose file.
  6. Traffic switch-over
    Health-check the new instance, then update Traefik to route production traffic to Server B.
  7. Optional cleanup
    Prompt the user to delete the old service and volumes after successful cut-over.

Describe alternatives you've considered

Alternative Drawbacks
Duplicate service + manual restore Partial copy; no automated routing
Full redeployment by hand Slow; prone to mistakes
Cluster w/ round-robin Does not move volumes/data

Additional context

We need to free RAM on our main VPS without interrupting our SaaS. An automated migration flow would simplify scaling and cut infrastructure costs.

Will you send a PR to implement it?

Maybe, need help

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions