You can self-host Trigger.dev on your own infrastructure using Docker.
docker compose up
.switch
between profiles.small-1x
(0.5 vCPU, 0.5 GB RAM) = 5 vCPU and 5 GB RAMsmall-1x
(0.5 vCPU, 0.5 GB RAM) = 10 vCPU and 10 GB RAMsmall-1x
(0.5 vCPU, 0.5 GB RAM) = 50 vCPU and 50 GB RAMsmall-2x
(1 vCPU, 1 GB RAM) = 100 vCPU and 100 GB RAM.env
file.env
file, then apply the changes:http://localhost:8030
. When logging in, check the container logs for the magic link:v4-beta
tag and not latest
..env
file.env
file, including the worker token.
up
command with the following:
TRIGGER_WORKER_TOKEN
environment variable in your .env
file.
Don’t forget to restart the worker container for the changes to take effect:
localhost:5000
registry-user
very-secure-indeed
.htpasswd
file located at ./hosting/docker/registry/auth.htpasswd
of the repo root.
deploy
command. You should only have to do this once:
http://localhost:9000
admin
very-safe-password
packets
bucket is created by default. In case this doesn’t work, you can create it manually.http://localhost:9001
packets
.
EMAIL_TRANSPORT
env var is not set, the magic links will be logged by the webapp container and not sent via email.
SMTP_SECURE=false
does not mean the email is sent insecurely.
This simply means that the connection is secured using the modern STARTTLS protocol command instead of implicit TLS.
You should only set this to true when the SMTP server host directs you to do so (generally when using port 465)
AWS_REGION
, AWS_ACCESS_KEY_ID
and AWS_SECRET_ACCESS_KEY
or, when running on AWS, use credentials supplied by the EC2 IMDS.
https://<your_webapp_domain>/auth/github/callback
and you will have to set the following env vars:
WHITELISTED_EMAILS
env var. For example:
v4-beta
tag. You can override this by specifying a different tag in your .env
file. For example:
deploy
needs registry access. See the registry setup section for more details.
@v4-beta
instead of @latest
. For example: npx trigger.dev@v4-beta dev
--api-url
or -a
flag. For example:
--profile
flag with other commands:
list-profiles
command:
logout
command:
switch
command:
TRIGGER_API_URL
and TRIGGER_ACCESS_TOKEN
environment
variables to point at your self-hosted instance and authenticate.
For more detailed instructions, see the GitHub Actions guide.
TRIGGER_TELEMETRY_DISABLED
environment variable on the webapp container. The value doesn’t matter, it just can’t be empty. For example: