[{"data":1,"prerenderedAt":113},["ShallowReactive",2],{"seo-verification":3,"blog-installer-trigger-dev-vps-en":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"title":9,"excerpt":10,"readTime":11,"views":12,"isPinned":13,"publishedAt":14,"category":15,"categories":20,"featuredImage":22,"bgImage":23,"posterImage":24,"relatedSolution":25,"intro":27,"sections":28,"ctaTitle":68,"ctaBody":69,"ctaButton":70,"ctaUrl":71,"relatedPosts":72},32,"installer-trigger-dev-vps","Installing Trigger.dev on a VPS: self-hosted automation","Install Trigger.dev on your VPS: orchestrate background tasks, workflows and long-running jobs self-hosted, without SaaS limits.",8,784,false,"2026-05-19T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":18},2,"Automation","automatisation","bg-brand-action\u002F10 text-brand-action",[21],{"id":16,"name":17,"slug":18,"color":19,"icon":18},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Finstaller-trigger-dev-vps-poster.svg",{"categorySlug":18,"appSlug":26},"trigger-dev","Trigger.dev is an open-source platform for orchestrating background tasks, designed for TypeScript developers. By self-hosting it on a VPS, you run your long-running jobs, retries and webhooks with no execution cap or per-task billing. Here's how to deploy a complete Trigger.dev stack with Docker.",[29,33,43,46,65],{"type":30,"title":31,"body":32},"h2","Why self-host Trigger.dev on a VPS","Trigger.dev replaces homemade queues (BullMQ, fragile crons, Lambdas that time out) with a unified platform: durable tasks, automatic retries, concurrency management and a real-time dashboard. The SaaS version bills by the number of executions and limits job duration, which quickly becomes constraining for ETL processing, mass email sending or slow API calls. Self-hosted on a VPS, you keep your workers on your side: your third-party API keys (OpenAI, Stripe, Resend) never pass through a third party, and your jobs can run for 10 minutes or several hours without being cut off. The stack relies on PostgreSQL, Redis and a Docker orchestrator, which makes it reproducible and easy to back up.",{"type":34,"title":35,"items":36},"ul","What you gain by self-hosting",[37,38,39,40,41,42],"No limit on the duration or number of executions of your background tasks.","Your secrets (API keys, tokens) stay in your infrastructure, never on a third-party SaaS.","Predictable fixed cost: a single VPS instead of a bill that climbs with volume.","Reduced latency if your workers run next to your database and your application.","Full control over versions, environment variables and log retention.","The ability to trigger jobs from your internal webhooks without exposing any external service.",{"type":30,"title":44,"body":45},"Hardware and software requirements","Trigger.dev is a relatively resource-hungry stack because it combines the web application, workers, PostgreSQL and Redis. Plan for a VPS with at least 4 GB of RAM and 2 vCPU for light production use; aim for 8 GB of RAM and 4 vCPU if you run many concurrent jobs or heavy processing. Allow 40 GB of SSD disk for the database, the logs and the Docker images. On the software side: Docker Engine 24+ and the Docker Compose v2 plugin, a domain name (for example `trigger.mydomain.com`) pointing to the VPS IP, and port 443 open for HTTPS. A `MAGIC_LINK_SECRET` key and an `ENCRYPTION_KEY` (32 hexadecimal characters) are essential to encrypt the projects' environment variables.",{"type":47,"title":48,"steps":49},"steps","Deploy Trigger.dev with Docker in 5 steps",[50,53,56,59,62],{"title":51,"body":52},"Prepare the VPS and Docker","Connect over SSH, update the system then install Docker and Compose: `curl -fsSL https:\u002F\u002Fget.docker.com | sh`. Create a dedicated user and a `\u002Fopt\u002Ftrigger` folder to host the configuration. Check with `docker compose version`.",{"title":54,"body":55},"Fetch the official self-hosting stack","Clone the deployment repository: `git clone https:\u002F\u002Fgithub.com\u002Ftriggerdotdev\u002Ftrigger.dev`. The `docker\u002F` folder contains the `docker-compose.yml` that groups the web app, the workers, PostgreSQL and Redis. Copy `.env.example` to `.env`.",{"title":57,"body":58},"Generate the secrets and configure the domain","Generate your keys with `openssl rand -hex 16` for `ENCRYPTION_KEY` and `MAGIC_LINK_SECRET`. Set `LOGIN_ORIGIN` and `APP_ORIGIN` to `https:\u002F\u002Ftrigger.mydomain.com`. Define the PostgreSQL credentials and the internal Redis URL.",{"title":60,"body":61},"Launch the stack","Start the whole thing with `docker compose up -d`. Follow the initialization of the migrations via `docker compose logs -f webapp`. Once the app is accessible on the internal port (3030 by default), create your first admin account via the magic link displayed in the logs.",{"title":63,"body":64},"Expose via an HTTPS reverse proxy","Place Caddy or Traefik in front of the app to handle TLS automatically. With Caddy: a single line `trigger.mydomain.com { reverse_proxy localhost:3030 }` is enough to obtain a Let's Encrypt certificate and enable HTTPS. Then connect your local project with `npx trigger.dev@latest login --api-url https:\u002F\u002Ftrigger.mydomain.com`.",{"type":66,"body":67},"tip","Isolate the workers from the web application on separate containers and limit their concurrency via the `WORKER_CONCURRENCY` variable. For very CPU-hungry jobs, add a second VPS dedicated to the workers pointing to the same PostgreSQL and Redis: you scale horizontally without touching the dashboard. Also consider a daily `pg_dump` cron to external storage, because all the logic of your tasks and their history live in PostgreSQL.","Deploy Trigger.dev in a few minutes","A ServOrbit Cloud VPS preconfigured with Docker, a domain and a ready SSL certificate lets you launch your self-hosted task orchestrator without tedious system configuration.","Order my Cloud VPS","\u002Fvps-cloud",[73,87,100],{"id":74,"slug":75,"title":76,"excerpt":77,"readTime":78,"views":79,"isPinned":13,"publishedAt":80,"category":81,"categories":82,"featuredImage":22,"bgImage":23,"posterImage":84,"relatedSolution":85},3,"installer-n8n-vps","Installing n8n on a VPS: automation without limits","A complete guide to deploying self-hosted n8n on a VPS. Automate your business processes with no workflow restrictions and no per-execution billing.",6,3080,"2026-06-05T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":18},[83],{"id":16,"name":17,"slug":18,"color":19,"icon":18},"\u002Fblog\u002Fcovers\u002Finstaller-n8n-vps-poster.svg",{"categorySlug":18,"appSlug":86},"n8n",{"id":88,"slug":89,"title":90,"excerpt":91,"readTime":11,"views":92,"isPinned":13,"publishedAt":93,"category":94,"categories":95,"featuredImage":22,"bgImage":23,"posterImage":97,"relatedSolution":98},24,"installer-node-red-vps","Installing Node-RED on a VPS: self-hosted automation","Install Node-RED on a VPS to automate your flow-based workflows, connect your APIs and IoT devices, all self-hosted and secure.",488,"2026-05-27T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":18},[96],{"id":16,"name":17,"slug":18,"color":19,"icon":18},"\u002Fblog\u002Fcovers\u002Finstaller-node-red-vps-poster.svg",{"categorySlug":18,"appSlug":99},"node-red",{"id":101,"slug":102,"title":103,"excerpt":104,"readTime":11,"views":105,"isPinned":13,"publishedAt":106,"category":107,"categories":108,"featuredImage":22,"bgImage":23,"posterImage":110,"relatedSolution":111},25,"installer-huginn-vps","Installing Huginn on a VPS: self-hosted automation","Install Huginn on a VPS to build agents that monitor the web, scrape pages and trigger actions, 100% self-hosted.",525,"2026-05-26T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":18},[109],{"id":16,"name":17,"slug":18,"color":19,"icon":18},"\u002Fblog\u002Fcovers\u002Finstaller-huginn-vps-poster.svg",{"categorySlug":18,"appSlug":112},"huginn",1785628452232]