diff --git a/apps/dokploy/components/dashboard/settings/servers/actions/show-traefik-actions.tsx b/apps/dokploy/components/dashboard/settings/servers/actions/show-traefik-actions.tsx index 38039cc6b..d9573ca74 100644 --- a/apps/dokploy/components/dashboard/settings/servers/actions/show-traefik-actions.tsx +++ b/apps/dokploy/components/dashboard/settings/servers/actions/show-traefik-actions.tsx @@ -97,11 +97,7 @@ export const ShowTraefikActions = ({ serverId }: Props) => { ); refetchDashboard(); }) - .catch(() => { - toast.error( - `${haveTraefikDashboardPortEnabled ? "Disabled" : "Enabled"} Dashboard`, - ); - }); + .catch(() => {}); }} className="w-full cursor-pointer space-x-3" > diff --git a/apps/dokploy/package.json b/apps/dokploy/package.json index 66d9f7edd..883b0f880 100644 --- a/apps/dokploy/package.json +++ b/apps/dokploy/package.json @@ -1,6 +1,6 @@ { "name": "dokploy", - "version": "v0.25.0", + "version": "v0.25.1", "private": true, "license": "Apache-2.0", "type": "module", diff --git a/packages/server/src/services/settings.ts b/packages/server/src/services/settings.ts index f39064523..301573cb4 100644 --- a/packages/server/src/services/settings.ts +++ b/packages/server/src/services/settings.ts @@ -342,6 +342,8 @@ export const readPorts = async ( command = `docker service inspect ${resourceName} --format '{{json .Spec.EndpointSpec.Ports}}'`; } else if (resourceType === "standalone") { command = `docker container inspect ${resourceName} --format '{{json .NetworkSettings.Ports}}'`; + } else { + throw new Error("Resource type not found"); } let result = ""; if (serverId) { @@ -397,17 +399,20 @@ export const writeTraefikSetup = async (input: TraefikOptions) => { "dokploy-traefik", input.serverId, ); + if (resourceType === "service") { await initializeTraefikService({ env: input.env, additionalPorts: input.additionalPorts, serverId: input.serverId, }); - } else { + } else if (resourceType === "standalone") { await initializeStandaloneTraefik({ env: input.env, additionalPorts: input.additionalPorts, serverId: input.serverId, }); + } else { + throw new Error("Traefik resource type not found"); } }; diff --git a/packages/server/src/setup/traefik-setup.ts b/packages/server/src/setup/traefik-setup.ts index 17c48d0ff..6b98457b9 100644 --- a/packages/server/src/setup/traefik-setup.ts +++ b/packages/server/src/setup/traefik-setup.ts @@ -87,16 +87,27 @@ export const initializeStandaloneTraefik = async ({ }; const docker = await getRemoteDocker(serverId); + try { + await docker.pull(imageName); + await new Promise((resolve) => setTimeout(resolve, 3000)); + console.log("Traefik Image Pulled ✅"); + } catch (error) { + console.log("Traefik Image Not Found: Pulling ", error); + } try { const container = docker.getContainer(containerName); await container.remove({ force: true }); await new Promise((resolve) => setTimeout(resolve, 5000)); } catch {} - await docker.createContainer(settings); - const newContainer = docker.getContainer(containerName); - await newContainer.start(); - console.log("Traefik Started ✅"); + try { + await docker.createContainer(settings); + const newContainer = docker.getContainer(containerName); + await newContainer.start(); + console.log("Traefik Started ✅"); + } catch (error) { + console.log("Traefik Not Found: Starting ", error); + } }; export const initializeTraefikService = async ({