feat!: Network Management System v1#2811
Conversation
BREAKING CHANGE: The isolatedDeployment feature has been completely removed from the codebase.
|
@Elvinra Thanks for these tests! I did more extensive testing, but I forgot some basic tests.
This was “normal,” but it could be confusing, so I changed how it works so that the backend sends the available network data.
I was using the wrong networkId, but this has now been corrected. When deleting/editing/adding, the domain should detach from the network UNLESS it is used for another domain in an app. Image updated |
|
Hello, You have a migration conflict between the main repository and yours. I run the migration manually for testing, and i saw only one regression.
|
|
Hello @Elvinra New migrations have been added to Thanks for testing and pointing out the regression. I'll try to resolve the problem this week. A comment from @Siumauricio to get hist opinion for the PR would be great tbh |
|
@Elvinra Okay so I've resolved the conflicts.
I didn't quite understand when I replied the other day, but that's the expected behavior. The domain cannot be on
You can only choose the networks (except Image updated |
|
I talked to @Siumauricio 2 days ago on discord, he has already looked at the PR but needs more time to do a full review and suggest improvements. He will try to work on it in the next few days. |
|
Great, thank you @chichi13 |
|
Unfortunately, no news for this PR... |
|
Let's go with this feature! |
|
@Siumauricio do something, delegate if you don't have time, too many PRs have been waiting for months. Wanting to control everything yourself goes against the spirit of the open source community... |
|
@Siumauricio when can we expect to have this feature merged? It is a priority for lots of people. |
|
Just faced this problem today while trying to connect PgBouncer with Postgres (from UI). This feature will be very useful as dokploy-network seems to be accessible across all projects. |
|
Can you resolve conflicts? @chichi13 |
I will check that today/tomorrow! |
c2b9c9d to
43a63ab
Compare
|
@Siumauricio merge done I struggled a bit, but everything should be fine. However, I get errors from the "canary" branch when I go to the project list: ❌ tRPC failed on project.all: cannot pass more than 100 arguments to a function
GET /api/trpc/project.all?batch=1&input=%7B%220%22%3A%7B%22json%22%3Anull%2C%22meta%22%3A%7B%22values%22%3A%5B%22undefined%22%5D%2C%22v%22%3A1%7D%7D%7D 500 in 116ms (compile: 2ms, render: 114ms) |
|
Okay, I understand. With the new migrations since the PR opened in October, some queries return more than 100 columns. Drizzle ORM limits to 100 columns, and we were at... 101. So I fixed the problem by specifying the columns. We've gone from 101 columns returned to ~7. |
@Siumauricio I think it's time |
This comment has been minimized.
This comment has been minimized.
…ment - Deleted the SQL migration file `0145_needy_shooting_star.sql` which included the creation of the `network` table and related alterations. - Updated the journal and snapshot metadata to reflect the removal of the migration.


What is this PR about?
Breaking Change
This PR introduces a complete redesign of network management in Dokploy, replacing the legacy
isolatedDeploymentfeature with a flexible custom network system.Overview
This PR implements comprehensive Docker network management as a core feature of Dokploy. Users can now create, manage, and assign custom Docker networks to any resource type (applications, compose services, databases) with full control over network configuration, IPAM settings, and driver selection.
Major Changes
Network Management System
/dashboard/networkspage for organization-wide network administrationDatabase Schema
New
networkTablebridgeandoverlayResource Schema Updates
customNetworkIdsfield to all resource types:applicationcomposepostgres,mysql,mariadb,mongo,redisNetwork Features
Automatic Traefik Integration
Driver Validation
Network Synchronization (based on labels)
Migration and Backward Compatibility
Migration 0117: Add Network table and add
customNetworkIdsfieldMigration 0118: Convert isolatedDeployment to customNetworkIds
This migration automatically converts all existing compose services using
isolatedDeployment=trueto the new network system:isolatedDeployment=trueappNameas the network nameoverlayfor remote servers,bridgefor local)customNetworkIdsisolatedDeployment=falseon migrated servicesContext: Compose services with isolated deployment already have Docker networks created with
name = compose.appName. The migration imports these existing networks into the database and establishes proper tracking.Migration 0119: Remove isolatedDeployment Field
Removes the obsolete
isolatedDeploymentboolean field from the database schema after successful migration.Testing
New Test Coverage
Network Service Tests (
network-service.test.ts):Compose Network Integration (
compose-networks.test.ts):Schema Validation (
schema.test.ts):Breaking Changes
Removed:
isolatedDeploymentFieldThe
isolatedDeploymentboolean field has been removed from thecomposetable schema.Migration: All existing data is automatically migrated via migration 0118. No manual intervention required for Dokploy users.
Checklist
Before submitting this PR, please make sure that:
canarybranch.Issues related
closes #2798
closes #1495
Screenshots