Migration guide from old to new server

This guide describes the recommended migration paths for EasyDCIM 1.25.0+, where the platform is managed as a Docker-based stack with easydcim-control.

Scenario 1: migrate a host-based deployment to Docker on the same server

Use this scenario if EasyDCIM is still installed directly on the host and you want to convert the existing server to the new Docker-based deployment model.

Main EasyDCIM server

Run:

sudo easydcim-control app migrate

The migration command automatically:

  • reads the existing EasyDCIM configuration,
  • creates a pre-migration backup unless skipped,
  • stops the old host-based services,
  • prepares the Docker stack,
  • imports the existing database into Docker MariaDB,
  • updates the application environment,
  • starts the Docker containers,
  • runs the required post-migration maintenance tasks.

If a local Remote Agent is detected on the same host, app migrate also migrates it automatically.

Standalone Remote Agent host

If the Remote Agent runs on a separate host and is still host-based, migrate it there with:

sudo easydcim-control agent migrate

This workflow migrates the Remote Agent application and database to Docker containers on that host.

Validation after migration

After the migration, verify the stack:

easydcim-control app status
easydcim-control app logs
easydcim-control agent status
easydcim-control agent logs

If the old deployment used SSL, reconfigure or verify certificates with:

easydcim-control app ssl letsencrypt install <domain>
easydcim-control app ssl install <fullchain.pem> <privkey.pem> <domain>

Scenario 2: move EasyDCIM from an old server to a new server

Use this scenario if you want to migrate to a completely new host.

1. Create backups on the old server

On the old EasyDCIM server, create an application backup:

sudo easydcim-control app backup

If you also use a local or external Remote Agent that must be preserved, create a separate Remote Agent backup on the relevant host:

sudo easydcim-control agent backup

2. Transfer the backups to the new server

Copy the backup directories from /opt/backups/ to the new host using your preferred transfer method, for example rsync or scp.

3. Reissue the license

Before installing EasyDCIM on the new server, log in to your Client Area - EasyDCIM account and perform the License Reissue action.

4. Install EasyDCIM on the new server

On the new server:

  1. install easydcim-control,
  2. run the new Docker-based installation:
sudo easydcim-control app install --key 'LICENSE_KEY'

Use --no-agent and/or --no-client if the target topology requires separate hosts for those components.

5. Restore the EasyDCIM backup

To list available backups on the new server:

sudo easydcim-control app restore

To restore the transferred backup directory:

sudo easydcim-control app restore /opt/backups/app/<TIMESTAMP>

6. Restore Remote Agent data if needed

If you are using a local or standalone Remote Agent and want to preserve its state, restore it separately:

sudo easydcim-control agent restore /opt/backups/agent/<TIMESTAMP>

If the new infrastructure uses new Remote Agent hosts, first install the agent on those hosts, then run the restore.

7. Reconfigure SSL and final URLs

After the restore, configure the final domain and certificate on the new host:

easydcim-control app ssl letsencrypt install <domain>

or:

easydcim-control app ssl install <fullchain.pem> <privkey.pem> <domain>

If you need to adjust the application URL manually, use:

easydcim-control app shell -- php artisan settings:change "common.url.default" "https://panel.example.com"

8. Final verification

Verify the final state:

easydcim-control app status
easydcim-control app logs
easydcim-control agent status
easydcim-control agent logs
easydcim-control client status

Recommendation

For all modern deployments, the supported end state is the Docker-based EasyDCIM 1.25.0+ stack managed by easydcim-control. Avoid rebuilding the old host-based model on a new server unless you are performing a temporary legacy recovery.