Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Nettalco/dokploy/llms.txt

Use this file to discover all available pages before exploring further.

Knowing immediately when a deployment succeeds, fails, or when your server is running low on resources is critical for unattended production workloads. Dokploy’s notification system lets you configure one or more channels so that important events are always surfaced in the tools your team already uses — whether that’s a Slack channel, a Telegram chat, an email inbox, or a custom webhook endpoint.

Supported Channels

Slack

Post messages to any Slack channel using an incoming webhook URL.

Discord

Send embed messages to a Discord channel using a Discord webhook.

Telegram

Push messages to a Telegram chat or group via the Bot API.

Email (SMTP)

Send HTML emails through any SMTP server.

Resend

Send transactional emails using the Resend API.

Gotify

Push notifications to a self-hosted Gotify server.

Ntfy

Deliver push notifications via ntfy (self-hosted or ntfy.sh).

Microsoft Teams

Post adaptive cards to a Microsoft Teams channel via an incoming webhook.

Lark

Send messages to Lark (Feishu) using a bot webhook URL.

Pushover

Deliver push notifications to mobile devices with the Pushover API.

Mattermost

Post messages to a Mattermost channel using an incoming webhook.

Custom Webhook

POST a JSON payload to any URL for integration with any service.

Channel Configuration

Each channel requires a small set of credentials. The fields below are the minimum you need to supply when creating a notification.

Slack

FieldDescription
NameA friendly label for this notification entry.
Webhook URLThe incoming webhook URL generated in your Slack app configuration (e.g. https://hooks.slack.com/services/…).
ChannelThe Slack channel name to post to (e.g. #deployments).

Discord

FieldDescription
NameA friendly label for this notification entry.
Webhook URLThe Discord webhook URL from Server Settings → Integrations → Webhooks.
Discord notifications are sent as rich embed messages. You can optionally enable Decoration to prefix messages with > quote styling.

Telegram

FieldDescription
NameA friendly label for this notification entry.
Bot TokenThe token returned by @BotFather when you created the bot (e.g. 123456:ABC-DEF…).
Chat IDThe numeric chat or group ID the bot should message. You can find it by sending a message to the bot and calling getUpdates on the Bot API.

Email (SMTP)

FieldDescription
NameA friendly label for this notification entry.
SMTP HostHostname of your SMTP server (e.g. smtp.gmail.com).
SMTP PortPort number — typically 587 (STARTTLS) or 465 (SSL).
UsernameSMTP authentication username (usually your email address).
PasswordSMTP authentication password or app-specific password.
From AddressThe sender address shown in the From: header.
To AddressesOne or more recipient addresses.

Resend

FieldDescription
NameA friendly label for this notification entry.
API KeyYour Resend API key from the Resend dashboard.
From AddressA verified sender address or domain in your Resend account.
To AddressesOne or more recipient addresses.

Gotify

FieldDescription
NameA friendly label for this notification entry.
Server URLBase URL of your Gotify instance (e.g. https://gotify.example.com).
App TokenAn application token (appToken) generated in the Gotify UI.
PriorityNotification priority level (integer, minimum 1).

Ntfy

FieldDescription
NameA friendly label for this notification entry.
Server URLBase URL of your ntfy instance or https://ntfy.sh.
TopicThe ntfy topic to publish to.
PriorityNotification priority level (integer, minimum 1).
Access TokenAn access token (accessToken) if your ntfy server requires authentication (optional).

Microsoft Teams

FieldDescription
NameA friendly label for this notification entry.
Webhook URLThe incoming webhook URL from the Teams channel connector settings.

Lark (Feishu)

FieldDescription
NameA friendly label for this notification entry.
Webhook URLThe bot webhook URL from your Lark/Feishu group robot settings.

Pushover

FieldDescription
NameA friendly label for this notification entry.
User KeyYour Pushover user key (userKey) from the Pushover dashboard.
API TokenThe API token (apiToken) of the Pushover application you created.

Mattermost

FieldDescription
NameA friendly label for this notification entry.
Webhook URLThe incoming webhook URL from Integrations → Incoming Webhooks in Mattermost.
ChannelThe Mattermost channel to post to (e.g. deployments). Optional.
UsernameOptional display name for the bot (defaults to Dokploy Bot).

Custom Webhook

FieldDescription
NameA friendly label for this notification entry.
EndpointThe full URL (endpoint) that Dokploy will POST the JSON notification payload to.
HeadersOptional map of HTTP headers (key/value pairs) to include with every request (e.g. an Authorization header).

Adding a Notification

1

Open Notifications settings

In the Dokploy dashboard, navigate to Settings → Notifications and click Add Notification.
2

Select a channel

Choose the channel type from the list (Slack, Discord, Telegram, etc.).
3

Fill in credentials

Enter the required fields for the selected channel (see the tables above).
4

Test the connection

Click Test Connection. Dokploy will call the corresponding test endpoint (e.g. notification.testSlackConnection, notification.testDiscordConnection) and send a "Hi, From Dokploy 👋" test message to your channel. Verify that the message arrives before saving.
5

Save

Click Save. Dokploy calls the corresponding create mutation (e.g. notification.createSlack, notification.createTelegram) and the notification is now active.

Testing a Connection

Every channel exposes a Test Connection button that fires a test message before you commit to saving the configuration. The test endpoints used internally are:
ChannelTest Endpoint
Slacknotification.testSlackConnection
Discordnotification.testDiscordConnection
Telegramnotification.testTelegramConnection
Emailnotification.testEmailConnection
Resendnotification.testResendConnection
Gotifynotification.testGotifyConnection
Ntfynotification.testNtfyConnection
Microsoft Teamsnotification.testTeamsConnection
Larknotification.testLarkConnection
Pushovernotification.testPushoverConnection
Mattermostnotification.testMattermostConnection
Custom Webhooknotification.testCustomConnection
If a test fails, the error message returned by the provider (e.g. invalid_auth from Slack, or an HTTP 403 from your SMTP relay) is surfaced in the dashboard so you can correct the credentials without guessing.

Notification Events

Dokploy fires a notification for the following events:
EventDescription
Deploy successA build and deployment completed without errors.
Deploy failureA build or deployment step returned a non-zero exit code or timed out.
Server threshold exceededCPU or memory usage on the Dokploy server or a connected remote server crossed a configured threshold.
You can attach multiple notification channels to the same Dokploy instance — for example, send all deployment events to a Slack channel and threshold alerts to PagerDuty via a custom webhook.

Server Resource Threshold Alerts

Dokploy’s metrics agent monitors CPU and memory usage. When usage crosses a threshold, the agent calls notification.receiveNotification with the following payload:
{
  "ServerType": "Dokploy",
  "Type": "CPU",
  "Value": 94.2,
  "Threshold": 90,
  "Message": "CPU usage exceeded threshold",
  "Timestamp": "2024-01-15T12:34:56.789Z",
  "Token": "<metrics-token>"
}
ServerType is either "Dokploy" (the local server) or "Remote" (a connected remote server). The token is validated against the stored metrics configuration before the alert is dispatched.
The notification.receiveNotification endpoint is public and authenticated solely by the metrics token. Keep the token confidential and rotate it if you suspect it has been leaked.

Custom Webhooks

The Custom Webhook channel lets you integrate Dokploy notifications with any HTTP service that accepts a POST request — incident management tools, custom Slack bots, internal dashboards, etc. When a notification fires, Dokploy sends a POST request to your URL with the following JSON body:
{
  "title": "Deploy Success",
  "message": "Application my-app deployed successfully.",
  "timestamp": "2024-01-15T12:34:56.789Z"
}
You can verify the integration by clicking Test Connection, which calls notification.testCustomConnection and sends a "Hi, From Dokploy 👋" payload to your endpoint.

Managing Notifications

ActionAPI Endpoint
List all notificationsnotification.all
Get a single notificationnotification.one
Delete a notificationnotification.remove
Update Slacknotification.updateSlack
Update Discordnotification.updateDiscord
Update Telegramnotification.updateTelegram
Update Emailnotification.updateEmail
Update Resendnotification.updateResend
Update Gotifynotification.updateGotify
Update Ntfynotification.updateNtfy
Update Teamsnotification.updateTeams
Update Larknotification.updateLark
Update Pushovernotification.updatePushover
Update Mattermostnotification.updateMattermost
Update Customnotification.updateCustom
All mutation endpoints require the notification permission at the appropriate level (create, update, or delete).

Build docs developers (and LLMs) love