EasyXrayEasyXray

Migration

Move an EasyXray installation between servers or between versions — and why importing an X-UI / 3x-ui installation is not supported.

From X-UI / 3x-ui

EasyXray does not migrate an existing X-UI or 3x-ui installation. There is no detection step, no import command, and no automatic conversion. The two products deliberately differ in almost every place a migration would have to look:

X-UI / 3x-uiEasyXray
Service & commandx-uieasyxray
Config / databaseits own paths/etc/easyxray/EasyXray.db
Environment prefixXUI_*EASYXRAY_*
HTTP namespace/panel/…/easyxray/…

Installing EasyXray on a server that already runs X-UI/3x-ui is a new, parallel install — it does not replace or upgrade the old one. To move over, install EasyXray fresh, recreate your inbounds and clients, and export each client's share link from the old panel to import it on the client side. Reusing the old SQLite file is not supported: the schemas differ.

The same applies to automation: the REST API moved from /panel/api/… to /easyxray/api/v1/…, and the old prefix has no compatibility alias. Scripts, bots, and dashboards written against /panel/api/… must be updated.

Between servers

Moving the same EasyXray installation to a new server is a database move:

Back up the old server

Copy the database (default /etc/easyxray/EasyXray.db) and your certificates. See Backup & restore.

Install EasyXray on the new server

Use the same install method and a compatible version. See Installation.

Restore the database

Stop the panel, put the database in place, restore certificates, and start the panel. Revisit any IP- or domain-specific settings.

Between EasyXray versions

Within the same backend, upgrading is usually just re-running the installer or pulling a new image — the panel migrates its own database. Across major versions, read the release notes first and take a backup.

Always take a backup before any migration, and keep the old server running until you have verified the new one.

On this page