skip to content
wihan.dev
view as markdown
browse the dokploy docs

dokploy_email_notification (Resource)

An email notification channel (Settings > Notifications). Dokploy sends each message through an SMTP server.

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.

~> Dokploy stores and returns password in cleartext. The attribute is sensitive, so Terraform does not print it, but anyone with API access to the server can read it. The password_wo companion keeps it out of the Terraform state.

Example Usage

terraform
# Email the operations team about deploys and failed builds.
resource "dokploy_email_notification" "ops" {
  name         = "ops-mail"
  smtp_server  = "smtp.example.com"
  smtp_port    = 587
  username     = "[email protected]"
  from_address = "[email protected]"
  to_addresses = ["[email protected]", "[email protected]"]

  # Write-only: Terraform 1.11 or later.
  password_wo         = var.smtp_password
  password_wo_version = 1

  app_deploy      = true
  app_build_error = true
}

Schema

Required

  • from_address (String) Sender address.
  • name (String) Display name. Dokploy does not enforce a unique name.
  • smtp_port (Number) SMTP port, for example 587 for STARTTLS or 465 for TLS.
  • smtp_server (String) SMTP host name.
  • to_addresses (List of String) Recipient addresses. At least one.
  • username (String) SMTP login user.

Optional

NOTE: Write-only arguments are supported in Terraform 1.11 and later.

  • app_build_error (Boolean) Send a message when a build fails. Defaults to false.
  • app_deploy (Boolean) Send a message when an application or a compose deploys. Defaults to false.
  • database_backup (Boolean) Send a message when a database backup runs. Defaults to false.
  • docker_cleanup (Boolean) Send a message when the Docker cleanup runs. Defaults to false.
  • dokploy_backup (Boolean) Send a message when the Dokploy server backup runs. Defaults to false.
  • dokploy_restart (Boolean) Send a message when Dokploy restarts. Defaults to false.
  • password (String, Sensitive) SMTP login password. Set this attribute or password_wo.
  • password_wo (String, Sensitive, Write-only) Write-only form of password. Terraform keeps it out of the plan and the state. It needs Terraform 1.11 or later. Set exactly one of password and password_wo. A new value reaches the server only when password_wo_version changes.
  • password_wo_version (Number) Version of password_wo. Change it to send the current password_wo value to the server. It needs password_wo.
  • server_threshold (Boolean) Send a message when a server crosses a resource threshold. Defaults to false.
  • verify_connection (Boolean) Test the connection with notification.testEmailConnection before 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: null and false both skip the test. Dokploy stores no value for this attribute, so terraform import leaves it null. The test sends a real test message to the channel.
  • volume_backup (Boolean) Send a message when a volume backup runs. Defaults to false.

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:

terraform
import {
  to = dokploy_email_notification.ops
  id = "INt_PYqh9apo8mmDIoixZ"
}

The terraform import command can be used, for example:

shell
terraform import dokploy_email_notification.ops INt_PYqh9apo8mmDIoixZ