mirror of
https://github.com/LukeHagar/dokploy.git
synced 2025-12-06 04:19:37 +00:00
fix: enhance Traefik setup by adding directory checks and cleanup for existing config files
This commit is contained in:
@@ -1,4 +1,11 @@
|
|||||||
import { chmodSync, existsSync, mkdirSync, writeFileSync } from "node:fs";
|
import {
|
||||||
|
chmodSync,
|
||||||
|
existsSync,
|
||||||
|
mkdirSync,
|
||||||
|
rmSync,
|
||||||
|
statSync,
|
||||||
|
writeFileSync,
|
||||||
|
} from "node:fs";
|
||||||
import path from "node:path";
|
import path from "node:path";
|
||||||
import type { ContainerCreateOptions, CreateServiceOptions } from "dockerode";
|
import type { ContainerCreateOptions, CreateServiceOptions } from "dockerode";
|
||||||
import { dump } from "js-yaml";
|
import { dump } from "js-yaml";
|
||||||
@@ -375,13 +382,26 @@ export const createDefaultTraefikConfig = () => {
|
|||||||
if (existsSync(acmeJsonPath)) {
|
if (existsSync(acmeJsonPath)) {
|
||||||
chmodSync(acmeJsonPath, "600");
|
chmodSync(acmeJsonPath, "600");
|
||||||
}
|
}
|
||||||
if (existsSync(mainConfig)) {
|
|
||||||
console.log("Main config already exists");
|
// Create the traefik directory first
|
||||||
return;
|
|
||||||
}
|
|
||||||
const yamlStr = getDefaultTraefikConfig();
|
|
||||||
mkdirSync(MAIN_TRAEFIK_PATH, { recursive: true });
|
mkdirSync(MAIN_TRAEFIK_PATH, { recursive: true });
|
||||||
|
|
||||||
|
// Check if traefik.yml exists and handle the case where it might be a directory
|
||||||
|
if (existsSync(mainConfig)) {
|
||||||
|
const stats = statSync(mainConfig);
|
||||||
|
if (stats.isDirectory()) {
|
||||||
|
// If traefik.yml is a directory, remove it
|
||||||
|
console.log("Found traefik.yml as directory, removing it...");
|
||||||
|
rmSync(mainConfig, { recursive: true, force: true });
|
||||||
|
} else if (stats.isFile()) {
|
||||||
|
console.log("Main config already exists");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const yamlStr = getDefaultTraefikConfig();
|
||||||
writeFileSync(mainConfig, yamlStr, "utf8");
|
writeFileSync(mainConfig, yamlStr, "utf8");
|
||||||
|
console.log("Traefik config created successfully");
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getDefaultMiddlewares = () => {
|
export const getDefaultMiddlewares = () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user