mirror of
https://github.com/Dokploy/dokploy
synced 2025-06-26 18:27:59 +00:00
54 lines
1.0 KiB
TypeScript
54 lines
1.0 KiB
TypeScript
import { spawnSync } from "node:child_process";
|
|
import { chmodSync, existsSync, mkdirSync } from "node:fs";
|
|
import {
|
|
APPLICATIONS_PATH,
|
|
BASE_PATH,
|
|
CERTIFICATES_PATH,
|
|
DYNAMIC_TRAEFIK_PATH,
|
|
LOGS_PATH,
|
|
MAIN_TRAEFIK_PATH,
|
|
MONITORING_PATH,
|
|
SSH_PATH,
|
|
} from "../constants";
|
|
|
|
const createDirectoryIfNotExist = (dirPath: string) => {
|
|
if (!existsSync(dirPath)) {
|
|
mkdirSync(dirPath, { recursive: true });
|
|
console.log(`Directory created: ${dirPath}`);
|
|
}
|
|
};
|
|
|
|
export const setupDirectories = () => {
|
|
const directories = [
|
|
BASE_PATH,
|
|
MAIN_TRAEFIK_PATH,
|
|
DYNAMIC_TRAEFIK_PATH,
|
|
LOGS_PATH,
|
|
APPLICATIONS_PATH,
|
|
SSH_PATH,
|
|
CERTIFICATES_PATH,
|
|
MONITORING_PATH,
|
|
];
|
|
|
|
for (const dir of directories) {
|
|
try {
|
|
createDirectoryIfNotExist(dir);
|
|
if (dir === SSH_PATH) {
|
|
/* Changing SSH Keys permission to 600 keeping the SSH folder writable */
|
|
spawnSync("find", [
|
|
SSH_PATH,
|
|
"-type",
|
|
"f",
|
|
"-exec",
|
|
"chmod",
|
|
"600",
|
|
"{}",
|
|
";",
|
|
]);
|
|
}
|
|
} catch (error) {
|
|
console.log(error, " On path: ", dir);
|
|
}
|
|
}
|
|
};
|