{
  "manifest_version": "1",
  "slug": "n8n",
  "title": "n8n",
  "headline": "Self-host n8n",
  "description": "Connect your apps with n8n on exe.dev. Deploy in a few clicks, open your private editor, and let your workflows run while your laptop naps.",
  "category": "automation",
  "tags": [
    "workflow automation",
    "zapier alternative",
    "webhooks",
    "postgresql",
    "docker compose"
  ],
  "url": "https://exe.dev/deploy/n8n",
  "markdown_url": "https://hub.exe.dev/deploy/n8n.md",
  "upstream": {
    "website": "https://n8n.io",
    "source": "https://github.com/n8n-io/n8n",
    "docs": "https://docs.n8n.io",
    "license": "Sustainable Use License"
  },
  "example_vm_name": "my-n8n",
  "time": "15 minutes",
  "stack": [
    {
      "name": "n8n 2.x",
      "detail": "Workflow editor and engine",
      "port": 5678,
      "data": "~/n8n/n8n-data"
    },
    {
      "name": "Task runners",
      "detail": "Isolated JavaScript and Python execution"
    },
    {
      "name": "PostgreSQL 18",
      "detail": "Workflows, credentials, and history",
      "data": "~/n8n/postgres"
    },
    {
      "name": "Webhook proxy",
      "detail": "nginx, keeping the editor off the public URL",
      "port": 8000
    }
  ],
  "access": [
    {
      "url": "https://my-n8n.exe.xyz:5678/",
      "who": "private",
      "what": "Your editor"
    },
    {
      "url": "https://my-n8n.exe.xyz/webhook/",
      "who": "public",
      "what": "Workflow endpoints, only after you enable public access"
    }
  ],
  "delivers": [
    "Always-on n8n, with a private editor and webhooks you can make public.",
    "A Hello webhook, a five-minute Heartbeat, and ready-to-use AI credentials.",
    "Nightly backups, including the key that unlocks your saved credentials.",
    "A backup restored and checked before you start."
  ],
  "deploy": {
    "new_vm_url": "https://exe.dev/new?prompt=Set%20up%20n8n%20on%20this%20VM%20by%20following%20the%20exe.dev%20recipe%20at%20https%3A%2F%2Fhub.exe.dev%2Fdeploy%2Fn8n.md%20from%20top%20to%20bottom.%0A%0AThe%20recipe%27s%20example%20VM%20name%20is%20my-n8n.%20This%20VM%27s%20name%20is%20the%20output%20of%20%60hostname%60%3A%20use%20it%20wherever%20the%20recipe%20writes%20my-n8n.%20Skip%20the%20step%20that%20creates%20the%20VM%3B%20you%20are%20on%20it.%0A%0AYou%20are%20done%20when%20all%20of%20these%20are%20true.%20Check%20each%20one%20yourself%3A%0A-%20Always-on%20n8n%2C%20with%20a%20private%20editor%20and%20webhooks%20you%20can%20make%20public.%0A-%20A%20Hello%20webhook%2C%20a%20five-minute%20Heartbeat%2C%20and%20ready-to-use%20AI%20credentials.%0A-%20Nightly%20backups%2C%20including%20the%20key%20that%20unlocks%20your%20saved%20credentials.%0A-%20A%20backup%20restored%20and%20checked%20before%20you%20start.%0A%0ARead%20the%20whole%20recipe%2C%20including%20the%20closed%20details.%20For%20initial%20setup%2C%0Afollow%20%22Install%20by%20hand%22%20first%3A%20containers%2C%20example%20workflows%2C%20AI%0Acredentials%2C%20backup%20timer%2C%20and%20scratch%20restore%20check.%20The%20opening%0Awalkthrough%20is%20for%20the%20owner%20afterwards.%20Do%20not%20run%20the%20later%20Restore%0Aor%20Update%20instructions%20during%20initial%20setup.%0AWork%20as%20exedev%20in%20~%2Fn8n.%20Never%20overwrite%20an%20existing%20~%2Fn8n%2F.env%3A%20it%0Aholds%20the%20encryption%20key.%20Check%20it%20matches%20n8n-data%2Fconfig.%0ADo%20not%20create%20the%20owner%20account%3B%20the%20owner%20does%20that%20in%20the%20browser.%0ALeave%20public%20sharing%20off.%20Verify%20the%20Hello%20webhook%20at%20localhost%3A8000%0Aand%20confirm%20%2F%20and%20%2Frest%2Fsettings%20return%20404%20there.%20Wait%20up%20to%20five%0Aminutes%20for%20a%20successful%20Heartbeat%20execution.%20Check%20both%20AI%20credentials.%0AVerify%20docker.service%20is%20enabled%20and%20all%20containers%20use%20unless-stopped%3B%0Ado%20not%20reboot.%20Restore%20the%20backup%20only%20in%20the%20scratch%20directory%2C%20check%0Acredentials%20decrypt%2C%20then%20remove%20the%20scratch%20stack.%0AFinish%20with%20the%20private%20editor%20URL%20and%20the%20OPTIONAL%20command%20the%20owner%0Acan%20run%20on%20their%20own%20computer%20to%20allow%20public%20webhooks%3A%0Assh%20exe.dev%20share%20set-public%20my-n8n%0A%0AFinish%20with%20the%20URLs%20I%20should%20open.%0A",
    "terminal": "curl -fsSL https://hub.exe.dev/deploy/n8n/prompt.txt | ssh exe.dev new --prompt=/dev/stdin",
    "prompt": "Set up n8n on this VM by following the exe.dev recipe at https://hub.exe.dev/deploy/n8n.md from top to bottom.\n\nThe recipe's example VM name is my-n8n. This VM's name is the output of `hostname`: use it wherever the recipe writes my-n8n. Skip the step that creates the VM; you are on it.\n\nYou are done when all of these are true. Check each one yourself:\n- Always-on n8n, with a private editor and webhooks you can make public.\n- A Hello webhook, a five-minute Heartbeat, and ready-to-use AI credentials.\n- Nightly backups, including the key that unlocks your saved credentials.\n- A backup restored and checked before you start.\n\nRead the whole recipe, including the closed details. For initial setup,\nfollow \"Install by hand\" first: containers, example workflows, AI\ncredentials, backup timer, and scratch restore check. The opening\nwalkthrough is for the owner afterwards. Do not run the later Restore\nor Update instructions during initial setup.\nWork as exedev in ~/n8n. Never overwrite an existing ~/n8n/.env: it\nholds the encryption key. Check it matches n8n-data/config.\nDo not create the owner account; the owner does that in the browser.\nLeave public sharing off. Verify the Hello webhook at localhost:8000\nand confirm / and /rest/settings return 404 there. Wait up to five\nminutes for a successful Heartbeat execution. Check both AI credentials.\nVerify docker.service is enabled and all containers use unless-stopped;\ndo not reboot. Restore the backup only in the scratch directory, check\ncredentials decrypt, then remove the scratch stack.\nFinish with the private editor URL and the OPTIONAL command the owner\ncan run on their own computer to allow public webhooks:\nssh exe.dev share set-public my-n8n\n\nFinish with the URLs I should open.\n",
    "prompt_url": "https://hub.exe.dev/deploy/n8n/prompt.txt"
  },
  "updated": "2026-10-14",
  "related": [
    "uptime-kuma",
    "claude-code",
    "openclaw",
    "code-server"
  ],
  "alternatives": [
    "Zapier",
    "Make"
  ]
}
