From 6f2148c060891b90d9c32b504a02ac8bee4fab9a Mon Sep 17 00:00:00 2001
From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
Date: Mon, 3 Feb 2025 00:57:18 -0600
Subject: [PATCH 01/11] feat: add deployable option to randomize and prevent
colission in duplicate templates
---
.../compose/general/compose-file-editor.tsx | 2 +
.../compose/general/randomize-deployable.tsx | 196 +
.../drizzle/0064_previous_agent_brand.sql | 1 +
apps/dokploy/drizzle/meta/0064_snapshot.json | 4485 +++++++++++++++++
apps/dokploy/drizzle/meta/_journal.json | 7 +
apps/dokploy/server/api/routers/compose.ts | 16 +
packages/server/src/db/schema/compose.ts | 1 +
packages/server/src/index.ts | 1 +
packages/server/src/utils/builders/compose.ts | 7 +
packages/server/src/utils/docker/collision.ts | 51 +
.../utils/docker/collision/container-name.ts | 26 +
.../utils/docker/collision/root-network.ts | 62 +
packages/server/src/utils/docker/domain.ts | 23 +-
13 files changed, 4872 insertions(+), 6 deletions(-)
create mode 100644 apps/dokploy/components/dashboard/compose/general/randomize-deployable.tsx
create mode 100644 apps/dokploy/drizzle/0064_previous_agent_brand.sql
create mode 100644 apps/dokploy/drizzle/meta/0064_snapshot.json
create mode 100644 packages/server/src/utils/docker/collision.ts
create mode 100644 packages/server/src/utils/docker/collision/container-name.ts
create mode 100644 packages/server/src/utils/docker/collision/root-network.ts
diff --git a/apps/dokploy/components/dashboard/compose/general/compose-file-editor.tsx b/apps/dokploy/components/dashboard/compose/general/compose-file-editor.tsx
index b368aafc..3e51cf05 100644
--- a/apps/dokploy/components/dashboard/compose/general/compose-file-editor.tsx
+++ b/apps/dokploy/components/dashboard/compose/general/compose-file-editor.tsx
@@ -15,6 +15,7 @@ import { toast } from "sonner";
import { z } from "zod";
import { validateAndFormatYAML } from "../../application/advanced/traefik/update-traefik-config";
import { RandomizeCompose } from "./randomize-compose";
+import { RandomizeDeployable } from "./randomize-deployable";
interface Props {
composeId: string;
@@ -126,6 +127,7 @@ services:
+