dokploy_custom_notification (Resource)
A custom webhook notification channel (Settings > Notifications). Dokploy sends each message as a JSON POST to an endpoint of your own.
Each event attribute selects one Dokploy event that sends a message on this channel. All events default to false, so a new channel sends nothing until you enable one.
~> Dokploy does not test the channel on create or update. A wrong URL or token applies successfully and fails on the first message. Set verify_connection = true to test the channel before the write.
Example Usage
# Send each event as a JSON POST to an endpoint of your own, with an
# authorization header.
resource "dokploy_custom_notification" "pipeline" {
name = "pipeline"
endpoint = "https://hooks.example.com/dokploy"
headers = {
"Authorization" = "Bearer ${var.hooks_token}"
"X-Source" = "dokploy"
}
app_deploy = true
app_build_error = true
database_backup = true
}Schema
Required
endpoint(String) URL that receives the POST.name(String) Display name. Dokploy does not enforce a unique name.
Optional
app_build_error(Boolean) Send a message when a build fails. Defaults tofalse.app_deploy(Boolean) Send a message when an application or a compose deploys. Defaults tofalse.database_backup(Boolean) Send a message when a database backup runs. Defaults tofalse.docker_cleanup(Boolean) Send a message when the Docker cleanup runs. Defaults tofalse.dokploy_backup(Boolean) Send a message when the Dokploy server backup runs. Defaults tofalse.dokploy_restart(Boolean) Send a message when Dokploy restarts. Defaults tofalse.headers(Map of String, Sensitive) HTTP headers that each request carries, for example an authorization header. The map is sensitive because it usually holds a credential. If you remove it from the configuration, the provider clears it.server_threshold(Boolean) Send a message when a server crosses a resource threshold. Defaults tofalse.verify_connection(Boolean) Test the connection withnotification.testCustomConnectionbefore the provider creates or updates the record. If the test fails, the apply fails with the server message, and the provider writes nothing. The default is no check:nullandfalseboth skip the test. Dokploy stores no value for this attribute, soterraform importleaves itnull. The test sends a real test message to the channel.volume_backup(Boolean) Send a message when a volume backup runs. Defaults tofalse.
Read-Only
created_at(String) Creation timestamp from the server.id(String) Notification id.
Import
Import is supported using the following syntax:
In Terraform v1.5.0 and later, the import block can be used with the id attribute, for example:
import {
to = dokploy_custom_notification.pipeline
id = "INt_PYqh9apo8mmDIoixZ"
}The terraform import command can be used, for example:
terraform import dokploy_custom_notification.pipeline INt_PYqh9apo8mmDIoixZ