dokploy icon indicating copy to clipboard operation
dokploy copied to clipboard

Transfer apps to different node

Open docimin opened this issue 1 year ago • 9 comments

What problem will this feature address?

Currently, as far as I know, you cannot transfer applications, database, compose apps etc. to a different node. This means you need to create a new one on the correct server and then copy over the files manually.. or more, depending ln the app.

Describe the solution you'd like

Add some sort of "Transfer" in the advanced tab, where you can transfer an app to a different node.

Describe alternatives you've considered

Copying files over, which is a lot of work.

Additional context

No response

Will you send a PR to implement it?

No

docimin avatar Dec 04 '24 19:12 docimin

related https://github.com/Dokploy/dokploy/issues/709#issue-2664978141 ?

kerimovok avatar Dec 04 '24 21:12 kerimovok

related #709 (comment) ?

I wouldn't say it's the same thing. The said issue is about backing up dokploy itself. My issue is about being able to transfer single applications/docker compose/databases to a different node, which is not the same as backup-ing the entire Dokploy instance itself.

docimin avatar Dec 07 '24 15:12 docimin

Up, nice feature!

ipaderi avatar Dec 16 '24 09:12 ipaderi

Any update ?

Ayfri avatar Jun 12 '25 14:06 Ayfri

What is the current state of this issue?

Is this planned or will accept a pr for this?

mstrYoda avatar Jun 27 '25 18:06 mstrYoda

As a workaround, you can update the Dokploy Postgres database directly.

  1. Connect to the server via SSH $ ssh usuario@ip-del-servidor
  2. List containers $ docker ps Example output:
CONTAINER ID   IMAGE          COMMAND              NAMES
b8f7e0d19d8f   nginx:latest   "/docker-entrypoint…"   dokploy-postgres....
  1. Connect to the container using the container ID $ docker exec -it b8f7e0d19d8f /bin/sh Tip: If that doesn't work, try /bin/bash instead.
  2. Access Postgres inside the container: $ psql -U dokploy
  3. Use SQL to update the information. Table names are fairly intuitive — for example, to view organizations and projects data, use the organization and project tables. At this point, you can run UPDATE statements to modify fields like organizationId in project table, or projectId in application, mysql or postgres tables.

NOTE: Within the PSQL terminal, you can use the following commands for exploration:

  • \d – list all tables
  • \d [table_name] – list fields and indexes of a table
  • \l – list databases

⚠️ Disclaimer:
Directly modifying the database can lead to data inconsistency, corruption, or loss if not done carefully.
Make sure you understand the structure and relationships of the tables before running any UPDATE, DELETE, or INSERT statements.
It is strongly recommended to back up the database first. Proceed with caution.

Cheers!.

jmlaya avatar Aug 07 '25 21:08 jmlaya

As a workaround, you can update the Dokploy Postgres database directly.

  1. Connect to the server via SSH $ ssh usuario@ip-del-servidor
  2. List containers $ docker ps Example output:
CONTAINER ID   IMAGE          COMMAND              NAMES
b8f7e0d19d8f   nginx:latest   "/docker-entrypoint…"   dokploy-postgres....
  1. Connect to the container using the container ID $ docker exec -it b8f7e0d19d8f /bin/sh Tip: If that doesn't work, try /bin/bash instead.
  2. Access Postgres inside the container: $ psql -U dokploy
  3. Use SQL to update the information. Table names are fairly intuitive — for example, to view organizations and projects data, use the organization and project tables. At this point, you can run UPDATE statements to modify fields like organizationId in project table, or projectId in application, mysql or postgres tables.

NOTE: Within the PSQL terminal, you can use the following commands for exploration:

  • \d – list all tables
  • \d [table_name] – list fields and indexes of a table
  • \l – list databases

⚠️ Disclaimer: Directly modifying the database can lead to data inconsistency, corruption, or loss if not done carefully. Make sure you understand the structure and relationships of the tables before running any UPDATE, DELETE, or INSERT statements. It is strongly recommended to back up the database first. Proceed with caution.

Cheers!.

Yes I can confirm it worked for me. But yes backup is must before proceeding!

debojyoti452 avatar Oct 11 '25 05:10 debojyoti452

If there is a valid solution with directly updating the database, why not add a native support in the UI ?

Also, I may not seeing in correct place, I can choose remote server while creating the service but after deploying to the remote server, I am not seeing that info anywhere. So with the server having very large number of services, it creates confusion on where the app is, unless you go and check the "Show Docker Containers" in the individual server on remote servers list.

shreekrishnalamichhane avatar Oct 26 '25 11:10 shreekrishnalamichhane

Is this ever going to be implemented? What's the reason why it won't work?

JoshuaRileyDev avatar Nov 18 '25 16:11 JoshuaRileyDev