From c15ee721ff134d6d5db4c3bf66990a3016284eb3 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sat, 5 Jul 2025 00:01:41 -0600 Subject: [PATCH] feat(setup): add async execution of docker pull for traefik image during setup --- apps/dokploy/setup.ts | 2 ++ packages/server/src/setup/traefik-setup.ts | 20 -------------------- 2 files changed, 2 insertions(+), 20 deletions(-) diff --git a/apps/dokploy/setup.ts b/apps/dokploy/setup.ts index 5e15db071..f7fe34106 100644 --- a/apps/dokploy/setup.ts +++ b/apps/dokploy/setup.ts @@ -12,6 +12,7 @@ import { initializeNetwork, initializeSwarm, } from "@dokploy/server/setup/setup"; +import { execAsync } from "@dokploy/server"; (async () => { try { setupDirectories(); @@ -20,6 +21,7 @@ import { await initializeNetwork(); createDefaultTraefikConfig(); createDefaultServerTraefikConfig(); + await execAsync("docker pull traefik:v3.1.2"); await initializeTraefik(); await initializeRedis(); await initializePostgres(); diff --git a/packages/server/src/setup/traefik-setup.ts b/packages/server/src/setup/traefik-setup.ts index ba6e9bca8..4d26c655c 100644 --- a/packages/server/src/setup/traefik-setup.ts +++ b/packages/server/src/setup/traefik-setup.ts @@ -124,26 +124,6 @@ export const initializeTraefik = async ({ console.log("No existing container to remove"); } - try { - await docker.getImage(imageName).inspect(); - console.log(`Image ${imageName} already exists locally.`); - } catch (error: any) { - if (error?.statusCode === 404) { - console.log(`Image ${imageName} not found, pulling...`); - const stream = await docker.pull(imageName); - await new Promise((resolve, reject) => { - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - docker.modem.followProgress(stream, (err: Error, res: any) => - err ? reject(err) : resolve(res), - ); - }); - console.log(`Image ${imageName} pulled successfully.`); - } else { - throw error; - } - } - // Create and start the new container try { await docker.createContainer(settings);