From 6fc83f2db3082d6f48c5b2b2bc0a5df7faafa9ea Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Mon, 26 May 2025 00:55:22 -0600 Subject: [PATCH 1/6] fix: update slugIp formatting to handle colons in server IP --- packages/server/src/templates/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/server/src/templates/index.ts b/packages/server/src/templates/index.ts index c42dd1b7..80a89887 100644 --- a/packages/server/src/templates/index.ts +++ b/packages/server/src/templates/index.ts @@ -35,7 +35,7 @@ export const generateRandomDomain = ({ projectName, }: Schema): string => { const hash = randomBytes(3).toString("hex"); - const slugIp = serverIp.replaceAll(".", "-"); + const slugIp = serverIp.replaceAll(".", "-").replaceAll(":", "-"); return `${projectName}-${hash}${slugIp === "" ? "" : `-${slugIp}`}.traefik.me`; }; From 9c73b8dc36bd0a9e0dcf2034bf4295ec3fd013e2 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Mon, 26 May 2025 01:45:14 -0600 Subject: [PATCH 2/6] feat: add pino and pino-pretty for logging, implement logger utility --- apps/dokploy/package.json | 2 ++ packages/server/package.json | 2 ++ packages/server/src/index.ts | 2 ++ packages/server/src/lib/logger.ts | 11 +++++++++++ packages/server/src/utils/backups/utils.ts | 12 ++++++++++++ pnpm-lock.yaml | 12 ++++++++++++ 6 files changed, 41 insertions(+) create mode 100644 packages/server/src/lib/logger.ts diff --git a/apps/dokploy/package.json b/apps/dokploy/package.json index adb10f0e..f7e2e8bf 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 481abd89..a124518a 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 b321f9ce..80831b91 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 00000000..1fe4d2da --- /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 8da992b4..0711c87d 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 a4cde376..6e01f08e 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 From e1580bad23da3188d135836cd61b0cd28b17061b Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Mon, 26 May 2025 01:52:41 -0600 Subject: [PATCH 3/6] chore: add git-lfs to Dockerfile for large file support --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index c2a9fd89..bc8e3994 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,7 @@ FROM base AS build COPY . /usr/src/app WORKDIR /usr/src/app -RUN apt-get update && apt-get install -y python3 make g++ git python3-pip pkg-config libsecret-1-dev && rm -rf /var/lib/apt/lists/* +RUN apt-get update && apt-get install -y python3 make g++ git python3-pip pkg-config libsecret-1-dev git-lfs && git lfs install && rm -rf /var/lib/apt/lists/* # Install dependencies RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile From dfc75a91169afe45ff4e61f1015c939cc63aaac5 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Mon, 26 May 2025 01:53:24 -0600 Subject: [PATCH 4/6] chore: remove Dockerfile for dokploy as part of project restructuring --- apps/dokploy/Dockerfile | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100644 apps/dokploy/Dockerfile diff --git a/apps/dokploy/Dockerfile b/apps/dokploy/Dockerfile deleted file mode 100644 index 0537b03e..00000000 --- a/apps/dokploy/Dockerfile +++ /dev/null @@ -1,26 +0,0 @@ -FROM node:18-slim AS base -ENV PNPM_HOME="/pnpm" -ENV PATH="$PNPM_HOME:$PATH" -RUN corepack enable - -FROM base AS build -COPY . /usr/src/app -WORKDIR /usr/src/app - - -RUN apt-get update && apt-get install -y python3 make g++ git git-lfs && git lfs install && rm -rf /var/lib/apt/lists/* - -# Install dependencies -RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile - -# Build only the dokploy app -RUN pnpm run dokploy:build - -# Deploy only the dokploy app -RUN pnpm deploy --filter=dokploy --prod /prod/dokploy - -FROM base AS dokploy -COPY --from=build /prod/dokploy /prod/dokploy -WORKDIR /prod/dokploy -EXPOSE 3000 -CMD [ "pnpm", "start" ] \ No newline at end of file From f3b37983621587305209c6129ff6f4be67fc4e13 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Mon, 26 May 2025 02:15:08 -0600 Subject: [PATCH 5/6] chore: update docker/build-push-action to version 6 in deploy workflows --- .github/workflows/deploy.yml | 2 +- .github/workflows/dokploy.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index bb772146..6de186d9 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -19,7 +19,7 @@ jobs: password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build and push Docker image - uses: docker/build-push-action@v4 + uses: docker/build-push-action@v6 with: context: . file: ./Dockerfile.cloud diff --git a/.github/workflows/dokploy.yml b/.github/workflows/dokploy.yml index 0f65a50c..f6e9a074 100644 --- a/.github/workflows/dokploy.yml +++ b/.github/workflows/dokploy.yml @@ -42,7 +42,7 @@ jobs: cp apps/dokploy/.env.production.example apps/dokploy/.env.production - name: Build and push - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v6 with: context: . platforms: linux/amd64 From 276b754377cebc5fc138a0dd91ce3c2bb1840a2c Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Mon, 26 May 2025 02:27:41 -0600 Subject: [PATCH 6/6] chore: downgrade docker/build-push-action to version 4 in deploy workflows --- .github/workflows/deploy.yml | 2 +- .github/workflows/dokploy.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 6de186d9..bb772146 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -19,7 +19,7 @@ jobs: password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build and push Docker image - uses: docker/build-push-action@v6 + uses: docker/build-push-action@v4 with: context: . file: ./Dockerfile.cloud diff --git a/.github/workflows/dokploy.yml b/.github/workflows/dokploy.yml index f6e9a074..0f65a50c 100644 --- a/.github/workflows/dokploy.yml +++ b/.github/workflows/dokploy.yml @@ -42,7 +42,7 @@ jobs: cp apps/dokploy/.env.production.example apps/dokploy/.env.production - name: Build and push - uses: docker/build-push-action@v6 + uses: docker/build-push-action@v5 with: context: . platforms: linux/amd64