Create long-running jobs directly in your codebase with features like API integrations, webhooks, scheduling and delays.
Reliably run jobs and don’t worry about function timeouts, we handle those for you.
- Auto-resume after a function timeout
- Auto-resume after a server outage
- Add delays of up to a year
Create Jobs where they belong: in your codebase. Version control, localhost, test, review, and deploy like you're already used to.
We only receive Triggers and the data you choose to send to us. You can even completely self-host the entire platform.
Just use our SDK to write Jobs in your Next.js codebase. There's nothing extra to deploy and no CI to configure, your Jobs just connect to our cloud. Or you can always self-host.
View every Task in every Run so you can tell exactly what happened.
Easily integrate with hundreds of third-party APIs – including your own. Use API keys (which never leave your server) or let us handle OAuth for you. Install our integration packages and easily subscribe to webhooks and perform common tasks, or you can easily use your existing favorite Node.JS SDKs and get resumability and idempotency through our runTask
function.
Easily add integrations for your users.
Visit our docs here.
We provide an official trigger.dev docker image you can use to easily self-host the platform. We're working on more extensive guides but we currently provide a Fly.io example repository with instructions in the README for deploying and using a self-hosted instance of Trigger.dev on Fly.io.
- Node.js version >=18.x
- pnpm package manager version 7
- Docker
-
Clone the repo into a public GitHub repository or fork the repo. If you plan to distribute the code, keep the source code public to comply with the Apache Licence 2.0.
git clone https://github.com/triggerdotdev/trigger.dev.git
If you are on windows, run the following command on gitbash with admin privileges:
git clone -c core.symlinks=true https://triggerdotdev/trigger.dev.git
-
Navigate to the project folder
cd trigger.dev
-
Install the required packages using pnpm.
pnpm i
-
Create your
.env
filescp .env.example .env && cp packages/database/.env.example packages/database/.env
Open the root
.env
file and fill in the required values. -
Start Docker. This starts the required services like Postgres.
pnpm run docker
-
Migrate the database
pnpm run db:migrate
-
Run the seed script
pnpm run db:seed
-
Run the project. It should run on
port:3030
pnpm run dev --filter webapp