diff --git a/apps/docs/content/docs/core/get-started/installation.mdx b/apps/docs/content/docs/core/get-started/installation.mdx index 96e264b3..4bd4490f 100644 --- a/apps/docs/content/docs/core/get-started/installation.mdx +++ b/apps/docs/content/docs/core/get-started/installation.mdx @@ -29,7 +29,7 @@ We have tested on the following Linux Distros: ### Providers -- [Hostinger](https://www.hostinger.com/vps-hosting?ref=dokploy) Get 20% Discount using this referral link: [Referral Link](https://hostinger.com?REFERRALCODE=1SIUMAURICI97) +- [Hostinger](https://www.hostinger.com/vps-hosting?ref=dokploy) Get 20% Discount using this referral link: [Referral Link](https://www.hostinger.com/vps-hosting?REFERRALCODE=1SIUMAURICI97) - [DigitalOcean](https://www.digitalocean.com/pricing/droplets#basic-droplets) Get 200$ credits for free with this referral link: [Referral Link](https://m.do.co/c/db24efd43f35) - [Hetzner](https://www.hetzner.com/cloud/) Get 20€ credits for free with this referral link: [Referral Link](https://hetzner.cloud/?ref=vou4fhxJ1W2D) - [Linode](https://www.linode.com/es/pricing/#compute-shared) diff --git a/apps/dokploy/components/dashboard/application/advanced/cluster/show-cluster-settings.tsx b/apps/dokploy/components/dashboard/application/advanced/cluster/show-cluster-settings.tsx index 4078ae4c..d8d32e19 100644 --- a/apps/dokploy/components/dashboard/application/advanced/cluster/show-cluster-settings.tsx +++ b/apps/dokploy/components/dashboard/application/advanced/cluster/show-cluster-settings.tsx @@ -81,7 +81,10 @@ export const ShowClusterSettings = ({ applicationId }: Props) => { const onSubmit = async (data: AddCommand) => { await mutateAsync({ applicationId, - registryId: data?.registryId === "none" ? null : data?.registryId, + registryId: + data?.registryId === "none" || !data?.registryId + ? null + : data?.registryId, replicas: data?.replicas, }) .then(async () => { diff --git a/apps/dokploy/components/dashboard/project/add-template.tsx b/apps/dokploy/components/dashboard/project/add-template.tsx index a06e2a0e..cf0f7e03 100644 --- a/apps/dokploy/components/dashboard/project/add-template.tsx +++ b/apps/dokploy/components/dashboard/project/add-template.tsx @@ -109,9 +109,9 @@ export const AddTemplate = ({ projectId }: Props) => {
- Create Template + Create from Template - Deploy a open source template to your project + Create an open source application from a template {isError && {error?.message}} @@ -274,7 +274,7 @@ export const AddTemplate = ({ projectId }: Props) => { @@ -283,8 +283,9 @@ export const AddTemplate = ({ projectId }: Props) => { Are you absolutely sure? - This will deploy {template.name} template to - your project. + This will create an application from the{" "} + {template.name} template and add it to your + project.
diff --git a/apps/dokploy/package.json b/apps/dokploy/package.json index 5a35d110..574f49af 100644 --- a/apps/dokploy/package.json +++ b/apps/dokploy/package.json @@ -1,6 +1,6 @@ { "name": "dokploy", - "version": "v0.8.1", + "version": "v0.8.3", "private": true, "license": "Apache-2.0", "type": "module", diff --git a/apps/dokploy/server/api/routers/domain.ts b/apps/dokploy/server/api/routers/domain.ts index 7070e521..9e8a371a 100644 --- a/apps/dokploy/server/api/routers/domain.ts +++ b/apps/dokploy/server/api/routers/domain.ts @@ -25,7 +25,7 @@ export const domainRouter = createTRPCRouter({ .input(apiCreateDomain) .mutation(async ({ input }) => { try { - await createDomain(input); + return await createDomain(input); } catch (error) { throw new TRPCError({ code: "BAD_REQUEST", diff --git a/apps/dokploy/server/api/routers/settings.ts b/apps/dokploy/server/api/routers/settings.ts index a1460bb3..1bd5b03e 100644 --- a/apps/dokploy/server/api/routers/settings.ts +++ b/apps/dokploy/server/api/routers/settings.ts @@ -424,18 +424,28 @@ export const settingsRouter = createTRPCRouter({ return false; }), - readStatsLogs: adminProcedure.input(apiReadStatsLogs).query(({ input }) => { - const rawConfig = readMonitoringConfig(); - const parsedConfig = parseRawConfig( - rawConfig as string, - input.page, - input.sort, - input.search, - input.status, - ); + readStatsLogs: adminProcedure + .meta({ + openapi: { + path: "/read-stats-logs", + method: "POST", + override: true, + enabled: false, + }, + }) + .input(apiReadStatsLogs) + .query(({ input }) => { + const rawConfig = readMonitoringConfig(); + const parsedConfig = parseRawConfig( + rawConfig as string, + input.page, + input.sort, + input.search, + input.status, + ); - return parsedConfig; - }), + return parsedConfig; + }), readStats: adminProcedure.query(() => { const rawConfig = readMonitoringConfig(); const processedLogs = processLogs(rawConfig as string); diff --git a/apps/dokploy/server/api/services/domain.ts b/apps/dokploy/server/api/services/domain.ts index 10f4fe50..df180a45 100644 --- a/apps/dokploy/server/api/services/domain.ts +++ b/apps/dokploy/server/api/services/domain.ts @@ -11,7 +11,7 @@ import { findServerById } from "./server"; export type Domain = typeof domains.$inferSelect; export const createDomain = async (input: typeof apiCreateDomain._type) => { - await db.transaction(async (tx) => { + const result = await db.transaction(async (tx) => { const domain = await tx .insert(domains) .values({ @@ -23,7 +23,7 @@ export const createDomain = async (input: typeof apiCreateDomain._type) => { if (!domain) { throw new TRPCError({ code: "BAD_REQUEST", - message: "Error to create the domain", + message: "Error creating domain", }); } @@ -31,7 +31,11 @@ export const createDomain = async (input: typeof apiCreateDomain._type) => { const application = await findApplicationById(domain.applicationId); await manageDomain(application, domain); } + + return domain; }); + + return result; }; export const generateTraefikMeDomain = async ( diff --git a/apps/dokploy/server/utils/builders/compose.ts b/apps/dokploy/server/utils/builders/compose.ts index 182bd6d3..47ec1520 100644 --- a/apps/dokploy/server/utils/builders/compose.ts +++ b/apps/dokploy/server/utils/builders/compose.ts @@ -58,6 +58,10 @@ Compose Type: ${composeType} ✅`; }, { cwd: projectPath, + env: { + NODE_ENV: process.env.NODE_ENV, + PATH: process.env.PATH, + }, }, );