Back to Templates
Trigger.dev logo

Trigger.dev

vv3

Trigger is a platform for building event-driven applications.

Deploy on Dokploy

Deploy Trigger.dev on Dokploy

  1. Install Dokploy on your server if you haven't already.
  2. In your Dokploy panel, open a project and click Create Service → Template.
  3. Search for Trigger.dev and click Create — Dokploy configures domains, environment variables, and volumes for you.

Alternatively, create a Compose service, go to Advanced → Import from Base64, and paste this payload:

base64
ewogICJjb21wb3NlIjogIngtd2ViYXBwLWVudjogJndlYmFwcC1lbnZcbiAgTE9HSU5fT1JJR0lOOiAmdHJpZ2dlci11cmwgJHtUUklHR0VSX1BST1RPQ09MOi1odHRwfTovLyR7VFJJR0dFUl9ET01BSU46LWxvY2FsaG9zdDozMDQwfVxuICBBUFBfT1JJR0lOOiAqdHJpZ2dlci11cmxcbiAgREVWX09URUxfRVhQT1JURVJfT1RMUF9FTkRQT0lOVDogJnRyaWdnZXItb3RlbCAke1RSSUdHRVJfUFJPVE9DT0w6LWh0dHB9Oi8vJHtUUklHR0VSX0RPTUFJTjotbG9jYWxob3N0OjMwNDB9L290ZWxcbiAgRUxFQ1RSSUNfT1JJR0lOOiBodHRwOi8vZWxlY3RyaWM6MzAwMFxuXG54LXdvcmtlci1lbnY6ICZ3b3JrZXItZW52XG4gIFBMQVRGT1JNX0hPU1Q6IHdlYmFwcFxuICBQTEFURk9STV9XU19QT1JUOiAzMDMwXG4gIFNFQ1VSRV9DT05ORUNUSU9OOiBcImZhbHNlXCJcbiAgT1RFTF9FWFBPUlRFUl9PVExQX0VORFBPSU5UOiAqdHJpZ2dlci1vdGVsXG5cbnZvbHVtZXM6XG4gIHBvc3RncmVzLWRhdGE6XG4gIHJlZGlzLWRhdGE6XG5cbm5ldHdvcmtzOlxuICB3ZWJhcHA6XG5cbnNlcnZpY2VzOlxuICB3ZWJhcHA6XG4gICAgaW1hZ2U6IGdoY3IuaW8vdHJpZ2dlcmRvdGRldi90cmlnZ2VyLmRldjoke1RSSUdHRVJfSU1BR0VfVEFHOi12M31cbiAgICByZXN0YXJ0OiAke1JFU1RBUlRfUE9MSUNZOi11bmxlc3Mtc3RvcHBlZH1cbiAgICBlbnZfZmlsZTpcbiAgICAgIC0gLmVudlxuICAgIGVudmlyb25tZW50OlxuICAgICAgPDw6ICp3ZWJhcHAtZW52XG4gICAgcG9ydHM6XG4gICAgICAtIDMwMDBcbiAgICBkZXBlbmRzX29uOlxuICAgICAgLSBwb3N0Z3Jlc1xuICAgICAgLSByZWRpc1xuICAgIG5ldHdvcmtzOlxuICAgICAgLSB3ZWJhcHBcblxuICBwb3N0Z3JlczpcbiAgICBpbWFnZTogcG9zdGdyZXM6JHtQT1NUR1JFU19JTUFHRV9UQUc6LTE2fVxuICAgIHJlc3RhcnQ6ICR7UkVTVEFSVF9QT0xJQ1k6LXVubGVzcy1zdG9wcGVkfVxuICAgIHZvbHVtZXM6XG4gICAgICAtIHBvc3RncmVzLWRhdGE6L3Zhci9saWIvcG9zdGdyZXNxbC9kYXRhL1xuICAgIGVudl9maWxlOlxuICAgICAgLSAuZW52XG4gICAgbmV0d29ya3M6XG4gICAgICAtIHdlYmFwcFxuICAgIHBvcnRzOlxuICAgICAgLSA1NDMyXG4gICAgY29tbWFuZDpcbiAgICAgIC0gLWNcbiAgICAgIC0gd2FsX2xldmVsPWxvZ2ljYWxcblxuICByZWRpczpcbiAgICBpbWFnZTogcmVkaXM6JHtSRURJU19JTUFHRV9UQUc6LTd9XG4gICAgcmVzdGFydDogJHtSRVNUQVJUX1BPTElDWTotdW5sZXNzLXN0b3BwZWR9XG4gICAgdm9sdW1lczpcbiAgICAgIC0gcmVkaXMtZGF0YTovZGF0YVxuICAgIG5ldHdvcmtzOlxuICAgICAgLSB3ZWJhcHBcbiAgICBwb3J0czpcbiAgICAgIC0gNjM3OVxuXG4gIGRvY2tlci1wcm92aWRlcjpcbiAgICBpbWFnZTogZ2hjci5pby90cmlnZ2VyZG90ZGV2L3Byb3ZpZGVyL2RvY2tlcjoke1RSSUdHRVJfSU1BR0VfVEFHOi12M31cbiAgICByZXN0YXJ0OiAke1JFU1RBUlRfUE9MSUNZOi11bmxlc3Mtc3RvcHBlZH1cbiAgICB2b2x1bWVzOlxuICAgICAgLSAvdmFyL3J1bi9kb2NrZXIuc29jazovdmFyL3J1bi9kb2NrZXIuc29ja1xuICAgIHVzZXI6IHJvb3RcbiAgICBuZXR3b3JrczpcbiAgICAgIC0gd2ViYXBwXG4gICAgZGVwZW5kc19vbjpcbiAgICAgIC0gd2ViYXBwXG4gICAgcG9ydHM6XG4gICAgICAtIDkwMjBcbiAgICBlbnZfZmlsZTpcbiAgICAgIC0gLmVudlxuICAgIGVudmlyb25tZW50OlxuICAgICAgPDw6ICp3b3JrZXItZW52XG4gICAgICBQTEFURk9STV9TRUNSRVQ6ICRQUk9WSURFUl9TRUNSRVRcblxuICBjb29yZGluYXRvcjpcbiAgICBpbWFnZTogZ2hjci5pby90cmlnZ2VyZG90ZGV2L2Nvb3JkaW5hdG9yOiR7VFJJR0dFUl9JTUFHRV9UQUc6LXYzfVxuICAgIHJlc3RhcnQ6ICR7UkVTVEFSVF9QT0xJQ1k6LXVubGVzcy1zdG9wcGVkfVxuICAgIHZvbHVtZXM6XG4gICAgICAtIC92YXIvcnVuL2RvY2tlci5zb2NrOi92YXIvcnVuL2RvY2tlci5zb2NrXG4gICAgdXNlcjogcm9vdFxuICAgIG5ldHdvcmtzOlxuICAgICAgLSB3ZWJhcHBcbiAgICBkZXBlbmRzX29uOlxuICAgICAgLSB3ZWJhcHBcbiAgICBwb3J0czpcbiAgICAgIC0gOTAyMFxuICAgIGVudl9maWxlOlxuICAgICAgLSAuZW52XG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICA8PDogKndvcmtlci1lbnZcbiAgICAgIFBMQVRGT1JNX1NFQ1JFVDogJENPT1JESU5BVE9SX1NFQ1JFVFxuXG4gIGVsZWN0cmljOlxuICAgIGltYWdlOiBlbGVjdHJpY3NxbC9lbGVjdHJpYzoke0VMRUNUUklDX0lNQUdFX1RBRzotbGF0ZXN0fVxuICAgIHJlc3RhcnQ6ICR7UkVTVEFSVF9QT0xJQ1k6LXVubGVzcy1zdG9wcGVkfVxuICAgIGVudmlyb25tZW50OlxuICAgICAgREFUQUJBU0VfVVJMOiAke0RBVEFCQVNFX1VSTH0/c3NsbW9kZT1kaXNhYmxlXG4gICAgbmV0d29ya3M6XG4gICAgICAtIHdlYmFwcFxuICAgIGRlcGVuZHNfb246XG4gICAgICAtIHBvc3RncmVzXG4gICAgcG9ydHM6XG4gICAgICAtIDMwMDAiLAogICJjb25maWciOiAiW3ZhcmlhYmxlc11cbm1haW5fZG9tYWluID0gXCIke2RvbWFpbn1cIlxubWFnaWNfbGlua19zZWNyZXQgPSBcIiR7YmFzZTY0OjE2fVwiXG5zZXNzaW9uX3NlY3JldCA9IFwiJHtiYXNlNjQ6MTZ9XCJcbmVuY3J5cHRpb25fa2V5ID0gXCIke2Jhc2U2NDozMn1cIlxucHJvdmlkZXJfc2VjcmV0ID0gXCIke2Jhc2U2NDozMn1cIlxuY29vcmRpbmF0b3Jfc2VjcmV0ID0gXCIke2Jhc2U2NDozMn1cIlxuZGJfcGFzc3dvcmQgPSBcIiR7YmFzZTY0OjI0fVwiXG5kYl91c2VyID0gXCJ0cmlnZ2VydXNlclwiXG5kYl9uYW1lID0gXCJ0cmlnZ2VyZGJcIlxuXG5bY29uZmlnXVxubW91bnRzID0gW11cblxuW1tjb25maWcuZG9tYWluc11dXG5zZXJ2aWNlTmFtZSA9IFwid2ViYXBwXCJcbnBvcnQgPSAzXzAwMFxuaG9zdCA9IFwiJHttYWluX2RvbWFpbn1cIlxuXG5bY29uZmlnLmVudl1cbk5PREVfRU5WID0gXCJwcm9kdWN0aW9uXCJcblJVTlRJTUVfUExBVEZPUk0gPSBcImRvY2tlci1jb21wb3NlXCJcblYzX0VOQUJMRUQgPSBcInRydWVcIlxuVFJJR0dFUl9ET01BSU4gPSBcIiR7bWFpbl9kb21haW59XCJcblRSSUdHRVJfUFJPVE9DT0wgPSBcImh0dHBcIlxuUE9TVEdSRVNfVVNFUiA9IFwiJHtkYl91c2VyfVwiXG5QT1NUR1JFU19QQVNTV09SRCA9IFwiJHtkYl9wYXNzd29yZH1cIlxuUE9TVEdSRVNfREIgPSBcIiR7ZGJfbmFtZX1cIlxuREFUQUJBU0VfVVJMID0gXCJwb3N0Z3Jlc3FsOi8vJHtkYl91c2VyfToke2RiX3Bhc3N3b3JkfUBwb3N0Z3Jlczo1NDMyLyR7ZGJfbmFtZX1cIlxuTUFHSUNfTElOS19TRUNSRVQgPSBcIiR7bWFnaWNfbGlua19zZWNyZXR9XCJcblNFU1NJT05fU0VDUkVUID0gXCIke3Nlc3Npb25fc2VjcmV0fVwiXG5FTkNSWVBUSU9OX0tFWSA9IFwiJHtlbmNyeXB0aW9uX2tleX1cIlxuUFJPVklERVJfU0VDUkVUID0gXCIke3Byb3ZpZGVyX3NlY3JldH1cIlxuQ09PUkRJTkFUT1JfU0VDUkVUID0gXCIke2Nvb3JkaW5hdG9yX3NlY3JldH1cIlxuSU5URVJOQUxfT1RFTF9UUkFDRV9ESVNBQkxFRCA9IFwiMVwiXG5JTlRFUk5BTF9PVEVMX1RSQUNFX0xPR0dJTkdfRU5BQkxFRCA9IFwiMFwiXG5ERUZBVUxUX09SR19FWEVDVVRJT05fQ09OQ1VSUkVOQ1lfTElNSVQgPSBcIjMwMFwiXG5ERUZBVUxUX0VOVl9FWEVDVVRJT05fQ09OQ1VSUkVOQ1lfTElNSVQgPSBcIjEwMFwiXG5ESVJFQ1RfVVJMID0gXCIke0RBVEFCQVNFX1VSTH1cIlxuUkVESVNfSE9TVCA9IFwicmVkaXNcIlxuUkVESVNfUE9SVCA9IFwiNjM3OVwiXG5SRURJU19UTFNfRElTQUJMRUQgPSBcInRydWVcIlxuSFRUUF9TRVJWRVJfUE9SVCA9IFwiOTAyMFwiXG5DT09SRElOQVRPUl9IT1NUID0gXCIxMjcuMC4wLjFcIlxuQ09PUkRJTkFUT1JfUE9SVCA9IFwiJHtIVFRQX1NFUlZFUl9QT1JUfVwiIgp9

Configuration

The exact Docker Compose and template configuration this template deploys.

Instructions

Trigger.dev Setup Instructions

Deploy

  1. In Dokploy, create the service from the Trigger.dev template.
  2. Dokploy generates all required secrets (MAGIC_LINK_SECRET, SESSION_SECRET, ENCRYPTION_KEY, database credentials, etc.) automatically.
  3. Deploy and wait until the containers are running. The main domain points to the webapp service (port 3000).

If you serve the app over HTTPS, set TRIGGER_PROTOCOL=https in the Environment tab (the template defaults to http) so that login links use the correct scheme, then redeploy.

First login (no email server configured)

Trigger.dev logs you in with magic links sent by email. The template does not configure an email transport by default, so the email is never actually sent. Instead, the magic link is printed to the logs of the webapp container:

  1. Open https://<your-domain> and enter your email address to request a magic link.
  2. In Dokploy, go to your Trigger.dev service, open the Logs tab, and select the webapp container/service.
  3. Look for a recent log entry containing a URL like .../magic?token=... (search for magic).
  4. Copy that URL into your browser to complete the login.

Configure email sending (optional)

To have magic links delivered by email, add these variables in the Environment tab and redeploy.

Using SMTP:

EMAIL_TRANSPORT=smtp
[email protected]
[email protected]
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_SECURE=false
SMTP_USER=your-smtp-user
SMTP_PASSWORD=your-smtp-password

Using Resend:

EMAIL_TRANSPORT=resend
[email protected]
[email protected]
RESEND_API_KEY=your-resend-api-key

By default anyone who can reach the webapp can request a magic link. Restrict access with a regex of allowed email addresses:

WHITELISTED_EMAILS=you@example\.com|teammate@example\.com

You can also grant admin rights by email with ADMIN_EMAILS (same regex format).

Related Templates

Self-host Trigger.dev in minutes

Dokploy is a free, open source deployment platform. Deploy Trigger.dev and 499+ other templates on your own infrastructure with a single click.