diff --git a/apps/dokploy/package.json b/apps/dokploy/package.json index adb10f0e9..f7e2e8bf5 100644 --- a/apps/dokploy/package.json +++ b/apps/dokploy/package.json @@ -36,6 +36,8 @@ "test": "vitest --config __test__/vitest.config.ts" }, "dependencies": { + "pino": "9.4.0", + "pino-pretty": "11.2.2", "@ai-sdk/anthropic": "^1.0.6", "@ai-sdk/azure": "^1.0.15", "@ai-sdk/cohere": "^1.0.6", diff --git a/packages/server/package.json b/packages/server/package.json index 481abd894..a124518a9 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -28,6 +28,8 @@ "typecheck": "tsc --noEmit" }, "dependencies": { + "pino": "9.4.0", + "pino-pretty": "11.2.2", "micromatch": "4.0.8", "@ai-sdk/anthropic": "^1.0.6", "@ai-sdk/azure": "^1.0.15", diff --git a/packages/server/src/index.ts b/packages/server/src/index.ts index b321f9ce4..80831b913 100644 --- a/packages/server/src/index.ts +++ b/packages/server/src/index.ts @@ -131,3 +131,5 @@ export { export * from "./utils/schedules/utils"; export * from "./utils/schedules/index"; + +export * from "./lib/logger"; diff --git a/packages/server/src/lib/logger.ts b/packages/server/src/lib/logger.ts new file mode 100644 index 000000000..1fe4d2da0 --- /dev/null +++ b/packages/server/src/lib/logger.ts @@ -0,0 +1,11 @@ +import pino from "pino"; + +export const logger = pino({ + transport: { + target: "pino-pretty", + options: { + colorize: true, + levelFirst: false, + }, + }, +}); diff --git a/packages/server/src/utils/backups/utils.ts b/packages/server/src/utils/backups/utils.ts index 8da992b4c..0711c87d1 100644 --- a/packages/server/src/utils/backups/utils.ts +++ b/packages/server/src/utils/backups/utils.ts @@ -8,6 +8,7 @@ import { runMySqlBackup } from "./mysql"; import { runPostgresBackup } from "./postgres"; import { runWebServerBackup } from "./web-server"; import { runComposeBackup } from "./compose"; +import { logger } from "@dokploy/server/lib/logger"; export const scheduleBackup = (backup: BackupSchedule) => { const { @@ -222,6 +223,17 @@ export const getBackupCommand = ( ) => { const containerSearch = getContainerSearchCommand(backup); const backupCommand = generateBackupCommand(backup); + + logger.info( + { + containerSearch, + backupCommand, + rcloneCommand, + logPath, + }, + `Executing backup command: ${backup.databaseType} ${backup.backupType}`, + ); + return ` set -eo pipefail; echo "[$(date)] Starting backup process..." >> ${logPath}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a4cde3765..6e01f08ea 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -364,6 +364,12 @@ importers: otpauth: specifier: ^9.2.3 version: 9.3.4 + pino: + specifier: 9.4.0 + version: 9.4.0 + pino-pretty: + specifier: 11.2.2 + version: 11.2.2 postgres: specifier: 3.4.4 version: 3.4.4 @@ -702,6 +708,12 @@ importers: otpauth: specifier: ^9.2.3 version: 9.3.4 + pino: + specifier: 9.4.0 + version: 9.4.0 + pino-pretty: + specifier: 11.2.2 + version: 11.2.2 postgres: specifier: 3.4.4 version: 3.4.4