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
# 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 example587for STARTTLS or465for 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 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.password(String, Sensitive) SMTP login password. Set this attribute orpassword_wo.password_wo(String, Sensitive, Write-only) Write-only form ofpassword. Terraform keeps it out of the plan and the state. It needs Terraform 1.11 or later. Set exactly one ofpasswordandpassword_wo. A new value reaches the server only whenpassword_wo_versionchanges.password_wo_version(Number) Version ofpassword_wo. Change it to send the currentpassword_wovalue to the server. It needspassword_wo.server_threshold(Boolean) Send a message when a server crosses a resource threshold. Defaults tofalse.verify_connection(Boolean) Test the connection withnotification.testEmailConnectionbefore 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_email_notification.ops
id = "INt_PYqh9apo8mmDIoixZ"
}The terraform import command can be used, for example:
terraform import dokploy_email_notification.ops INt_PYqh9apo8mmDIoixZ