diff --git a/packages/server/src/emails/emails/build-success.tsx b/packages/server/src/emails/emails/build-success.tsx
index d9e500ab9..e5e1d1bb4 100644
--- a/packages/server/src/emails/emails/build-success.tsx
+++ b/packages/server/src/emails/emails/build-success.tsx
@@ -19,6 +19,7 @@ export type TemplateProps = {
applicationType: string;
buildLink: string;
date: string;
+ environmentName: string;
};
export const BuildSuccessEmail = ({
@@ -27,6 +28,7 @@ export const BuildSuccessEmail = ({
applicationType = "application",
buildLink = "https://dokploy.com/projects/dokploy-test/applications/dokploy-test",
date = "2023-05-01T00:00:00.000Z",
+ environmentName = "production",
}: TemplateProps) => {
const previewText = `Build success for ${applicationName}`;
return (
@@ -74,6 +76,9 @@ export const BuildSuccessEmail = ({
Application Name: {applicationName}
+
+ Environment: {environmentName}
+
Application Type: {applicationType}
diff --git a/packages/server/src/services/application.ts b/packages/server/src/services/application.ts
index 1891f9b6b..6b4f41fd8 100644
--- a/packages/server/src/services/application.ts
+++ b/packages/server/src/services/application.ts
@@ -237,6 +237,7 @@ export const deployApplication = async ({
buildLink,
organizationId: application.environment.project.organizationId,
domains: application.domains,
+ environmentName: application.environment.name,
});
} catch (error) {
await updateDeploymentStatus(deployment.deploymentId, "error");
@@ -373,6 +374,7 @@ export const deployRemoteApplication = async ({
buildLink,
organizationId: application.environment.project.organizationId,
domains: application.domains,
+ environmentName: application.environment.name,
});
} catch (error) {
const errorMessage = error instanceof Error ? error.message : String(error);
diff --git a/packages/server/src/services/compose.ts b/packages/server/src/services/compose.ts
index 1436c52cc..03c44e937 100644
--- a/packages/server/src/services/compose.ts
+++ b/packages/server/src/services/compose.ts
@@ -265,6 +265,7 @@ export const deployCompose = async ({
buildLink,
organizationId: compose.environment.project.organizationId,
domains: compose.domains,
+ environmentName: compose.environment.name,
});
} catch (error) {
await updateDeploymentStatus(deployment.deploymentId, "error");
@@ -397,6 +398,7 @@ export const deployRemoteCompose = async ({
buildLink,
organizationId: compose.environment.project.organizationId,
domains: compose.domains,
+ environmentName: compose.environment.name,
});
} catch (error) {
// @ts-ignore
diff --git a/packages/server/src/utils/notifications/build-success.ts b/packages/server/src/utils/notifications/build-success.ts
index a93b3d547..5b5d6f518 100644
--- a/packages/server/src/utils/notifications/build-success.ts
+++ b/packages/server/src/utils/notifications/build-success.ts
@@ -22,6 +22,7 @@ interface Props {
buildLink: string;
organizationId: string;
domains: Domain[];
+ environmentName: string;
}
export const sendBuildSuccessNotifications = async ({
@@ -31,6 +32,7 @@ export const sendBuildSuccessNotifications = async ({
buildLink,
organizationId,
domains,
+ environmentName,
}: Props) => {
const date = new Date();
const unixDate = ~~(Number(date) / 1000);
@@ -62,6 +64,7 @@ export const sendBuildSuccessNotifications = async ({
applicationType,
buildLink,
date: date.toLocaleString(),
+ environmentName,
}),
).catch();
await sendEmailNotification(email, "Build success for dokploy", template);
@@ -72,7 +75,7 @@ export const sendBuildSuccessNotifications = async ({
`${discord.decoration ? decoration : ""} ${text}`.trim();
await sendDiscordNotification(discord, {
- title: decorate(">", "`✅` Build Success"),
+ title: decorate(">", "`✅` Build Successes"),
color: 0x57f287,
fields: [
{
@@ -85,6 +88,11 @@ export const sendBuildSuccessNotifications = async ({
value: applicationName,
inline: true,
},
+ {
+ name: decorate("`🌍`", "Environment"),
+ value: environmentName,
+ inline: true,
+ },
{
name: decorate("`❔`", "Type"),
value: applicationType,
@@ -125,6 +133,7 @@ export const sendBuildSuccessNotifications = async ({
decorate("✅", "Build Success"),
`${decorate("🛠️", `Project: ${projectName}`)}` +
`${decorate("⚙️", `Application: ${applicationName}`)}` +
+ `${decorate("🌍", `Environment: ${environmentName}`)}` +
`${decorate("❔", `Type: ${applicationType}`)}` +
`${decorate("🕒", `Date: ${date.toLocaleString()}`)}` +
`${decorate("🔗", `Build details:\n${buildLink}`)}`,
@@ -139,6 +148,7 @@ export const sendBuildSuccessNotifications = async ({
`view, Build details, ${buildLink}, clear=true;`,
`🛠Project: ${projectName}\n` +
`⚙️Application: ${applicationName}\n` +
+ `🌍Environment: ${environmentName}\n` +
`❔Type: ${applicationType}\n` +
`🕒Date: ${date.toLocaleString()}`,
);
@@ -167,7 +177,7 @@ export const sendBuildSuccessNotifications = async ({
await sendTelegramNotification(
telegram,
- `✅ Build Success\n\nProject: ${projectName}\nApplication: ${applicationName}\nType: ${applicationType}\nDate: ${format(date, "PP")}\nTime: ${format(date, "pp")}`,
+ `✅ Build Success\n\nProject: ${projectName}\nApplication: ${applicationName}\nEnvironment: ${environmentName}\nType: ${applicationType}\nDate: ${format(date, "PP")}\nTime: ${format(date, "pp")}`,
inlineButton,
);
}
@@ -191,6 +201,11 @@ export const sendBuildSuccessNotifications = async ({
value: applicationName,
short: true,
},
+ {
+ title: "Environment",
+ value: environmentName,
+ short: true,
+ },
{
title: "Type",
value: applicationType,
@@ -260,6 +275,12 @@ export const sendBuildSuccessNotifications = async ({
text_align: "left",
text_size: "normal_v2",
},
+ {
+ tag: "markdown",
+ content: `**Environment:**\n${environmentName}`,
+ text_align: "left",
+ text_size: "normal_v2",
+ },
{
tag: "markdown",
content: `**Type:**\n${applicationType}`,