diff --git a/apps/dokploy/components/dashboard/application/build/show.tsx b/apps/dokploy/components/dashboard/application/build/show.tsx index 11490bfd9..1a0ed386d 100644 --- a/apps/dokploy/components/dashboard/application/build/show.tsx +++ b/apps/dokploy/components/dashboard/application/build/show.tsx @@ -185,7 +185,9 @@ export const ShowBuildChooseForm = ({ applicationId }: Props) => { isStaticSpa: data.buildType === BuildType.static ? data.isStaticSpa : null, railpackVersion: - data.buildType === BuildType.railpack ? data.railpackVersion : null, + data.buildType === BuildType.railpack + ? data.railpackVersion || "0.2.2" + : null, }) .then(async () => { toast.success("Build type saved"); diff --git a/apps/dokploy/server/api/routers/application.ts b/apps/dokploy/server/api/routers/application.ts index fed80ef80..5299ba6c2 100644 --- a/apps/dokploy/server/api/routers/application.ts +++ b/apps/dokploy/server/api/routers/application.ts @@ -1,31 +1,4 @@ import { - createTRPCRouter, - protectedProcedure, - uploadProcedure, -} from "@/server/api/trpc"; -import { db } from "@/server/db"; -import { - apiCreateApplication, - apiFindMonitoringStats, - apiFindOneApplication, - apiReloadApplication, - apiSaveBitbucketProvider, - apiSaveBuildType, - apiSaveDockerProvider, - apiSaveEnvironmentVariables, - apiSaveGitProvider, - apiSaveGiteaProvider, - apiSaveGithubProvider, - apiSaveGitlabProvider, - apiUpdateApplication, - applications, -} from "@/server/db/schema"; -import type { DeploymentJob } from "@/server/queues/queue-types"; -import { cleanQueuesByApplication, myQueue } from "@/server/queues/queueSetup"; -import { deploy } from "@/server/utils/deploy"; -import { uploadFileSchema } from "@/utils/schema"; -import { - IS_CLOUD, addNewService, checkServiceAccess, createApplication, @@ -34,6 +7,7 @@ import { findGitProviderById, findProjectById, getApplicationStats, + IS_CLOUD, mechanizeDockerContainer, readConfig, readRemoteConfig, @@ -57,6 +31,32 @@ import { TRPCError } from "@trpc/server"; import { eq } from "drizzle-orm"; import { nanoid } from "nanoid"; import { z } from "zod"; +import { + createTRPCRouter, + protectedProcedure, + uploadProcedure, +} from "@/server/api/trpc"; +import { db } from "@/server/db"; +import { + apiCreateApplication, + apiFindMonitoringStats, + apiFindOneApplication, + apiReloadApplication, + apiSaveBitbucketProvider, + apiSaveBuildType, + apiSaveDockerProvider, + apiSaveEnvironmentVariables, + apiSaveGiteaProvider, + apiSaveGithubProvider, + apiSaveGitlabProvider, + apiSaveGitProvider, + apiUpdateApplication, + applications, +} from "@/server/db/schema"; +import type { DeploymentJob } from "@/server/queues/queue-types"; +import { cleanQueuesByApplication, myQueue } from "@/server/queues/queueSetup"; +import { deploy } from "@/server/utils/deploy"; +import { uploadFileSchema } from "@/utils/schema"; export const applicationRouter = createTRPCRouter({ create: protectedProcedure @@ -364,6 +364,7 @@ export const applicationRouter = createTRPCRouter({ dockerBuildStage: input.dockerBuildStage, herokuVersion: input.herokuVersion, isStaticSpa: input.isStaticSpa, + railpackVersion: input.railpackVersion, }); return true; diff --git a/packages/server/src/utils/builders/railpack.ts b/packages/server/src/utils/builders/railpack.ts index cffdefc58..a0811e6cd 100644 --- a/packages/server/src/utils/builders/railpack.ts +++ b/packages/server/src/utils/builders/railpack.ts @@ -110,6 +110,8 @@ export const buildRailpack = async ( return true; } catch (e) { throw e; + } finally { + await execAsync("docker buildx rm builder-containerd"); } };