You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Create a new network, and sync Dokploy from the Docker->Networks tab
From command line, delete the network just created
From command line, create a new network with an identical name as the first, but change some option (for example, add --driver overlay --attachable)
In Dokploy, Sync and Verify features pass, even though the network has changed to an overlay, causing key attributes of the network in the Dokploy DB to be incorrect
Example:
hpaulson@home:~$ docker network create example-net
(Sync on Dokploy -> Works as expected)
hpaulson@home:~$ docker network rm example-net
example-net
hpaulson@home:~$ docker network create --driver overlay --attachable example-net
cwwfv5yzidng35xps0pzc7hws
(Sync on Dokploy -> Nothing to sync. Keeps old attributes)
To Fix:
hpaulson@home:~$ docker network rm example-net
example-net
(Sync on Dokploy -> Works as expected, deletes network)
hpaulson@home:~$ docker network create --driver overlay --attachable seismiccore-com-directus
59xc5ojgkl3tdculdd7if9rfw
(Sync on Dokploy -> Works as expected, net network with correct attributes)
Current vs. Expected behavior
Currently: The network attributed are not updated in the Dokploy DB, because the name has been unchanged, and Dokploy did not know it was deleted
Expected: When using the Verify button, Dokploy checks the network IDs, rather than names, to catch delete/re-create
Provide environment information
Linux Ubuntu 24, Dokploy v30.2
Which area(s) are affected? (Select all that apply)
Docker
Are you deploying the applications where Dokploy is installed or on a remote server?
A network that was deleted and recreated under the same name won't appear in either the importable or missing sets, so the sync dialog reports everything as in sync even though driver, attachable flag, subnets, etc. may have changed [1].
The DockerNetworkInfo type also does not include Docker's Id field [2], so there's currently no way to detect a delete/recreate.
To fix this, the most robust approach would be to compare by Docker network ID — Docker assigns a unique Id to every network. Store that ID in the DB on import, then during sync check whether the stored ID matches the live Docker ID. A name match with an ID mismatch means the network was replaced. The key files involved would be:
packages/server/src/services/network.ts — add Id to the DockerNetworkInfo type, update mapDockerNetworkToRow, findNetworksToSync, and importDockerNetworks to store and compare the Docker ID
DB schema — add a nullable dockerId (or externalId) column to the network table with a migration
An alternative would be to diff key attributes (driver, attachable, internal, subnets, MTU) on name match, but comparing by Docker ID is more reliable since it catches replacements even when all attributes happen to be identical.
Happy to help dig into any of those pieces if you decide to send a PR.
Activity
linear-code commentedon Aug 24, 2026
DOK-690
dosubot commentedon Aug 24, 2026
Hi @HPaulson! I'm Dosu and I'm helping the Dokploy team.
You've identified the issue correctly. The
findNetworksToSyncfunction compares Docker and the DB entirely by name:A network that was deleted and recreated under the same name won't appear in either the
importableormissingsets, so the sync dialog reports everything as in sync even though driver, attachable flag, subnets, etc. may have changed [1].The
DockerNetworkInfotype also does not include Docker'sIdfield [2], so there's currently no way to detect a delete/recreate.To fix this, the most robust approach would be to compare by Docker network ID — Docker assigns a unique
Idto every network. Store that ID in the DB on import, then during sync check whether the stored ID matches the live Docker ID. A name match with an ID mismatch means the network was replaced. The key files involved would be:packages/server/src/services/network.ts— addIdto theDockerNetworkInfotype, updatemapDockerNetworkToRow,findNetworksToSync, andimportDockerNetworksto store and compare the Docker IDdockerId(orexternalId) column to thenetworktable with a migrationapps/dokploy/server/api/routers/network.ts— potentially expose anupdatemutation for changed networksapps/dokploy/components/dashboard/networks/sync-networks.tsx— render a "Changed" section in the sync dialog UIAn alternative would be to diff key attributes (driver, attachable, internal, subnets, MTU) on name match, but comparing by Docker ID is more reliable since it catches replacements even when all attributes happen to be identical.
Happy to help dig into any of those pieces if you decide to send a PR.
To reply, just mention @dosu.
Docs are dead. Just use Dosu.
fix: detect network delete/recreate by Docker ID during sync
chore(release): 0.42.0 [skip ci]
chore: rebase fork onto Dokploy v0.30.10 (#9)