Skip to content

Commit 4489240

Browse files
authored
Merge pull request #3177 from Dokploy/3094-traefik-not-running-after-fresh-install---read-etctraefiktraefikyml-is-a-directory
fix(server): refactor initialization sequence to prevent race conditi…
2 parents c7c3b10 + 1362fdd commit 4489240

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

apps/dokploy/server/server.ts

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ import {
44
createDefaultServerTraefikConfig,
55
createDefaultTraefikConfig,
66
IS_CLOUD,
7+
initCancelDeployments,
78
initCronJobs,
89
initializeNetwork,
910
initSchedules,
1011
initVolumeBackupsCronJobs,
11-
initCancelDeployments,
1212
sendDokployRestartNotifications,
1313
setupDirectories,
1414
} from "@dokploy/server";
@@ -26,6 +26,16 @@ config({ path: ".env" });
2626
const PORT = Number.parseInt(process.env.PORT || "3000", 10);
2727
const HOST = process.env.HOST || "0.0.0.0";
2828
const dev = process.env.NODE_ENV !== "production";
29+
30+
// Initialize critical directories and Traefik config BEFORE Next.js starts
31+
// This prevents race conditions with the install script
32+
if (process.env.NODE_ENV === "production" && !IS_CLOUD) {
33+
setupDirectories();
34+
createDefaultTraefikConfig();
35+
createDefaultServerTraefikConfig();
36+
console.log("✅ Critical initialization complete");
37+
}
38+
2939
const app = next({ dev, turbopack: process.env.TURBOPACK === "1" });
3040
const handle = app.getRequestHandler();
3141
void app.prepare().then(async () => {
@@ -45,11 +55,8 @@ void app.prepare().then(async () => {
4555
}
4656

4757
if (process.env.NODE_ENV === "production" && !IS_CLOUD) {
48-
setupDirectories();
4958
createDefaultMiddlewares();
5059
await initializeNetwork();
51-
createDefaultTraefikConfig();
52-
createDefaultServerTraefikConfig();
5360
await migration();
5461
await initCronJobs();
5562
await initSchedules();

0 commit comments

Comments
 (0)