Skip to content

Install from source

Run nod from its source code on macOS or Linux. Choose this if you use Linux or want to change nod's code. On a Mac or Windows PC, the desktop app is quicker.

You need Version or detail
Node.js 24.21.0 or newer
pnpm 10.34.5, enabled through Corepack
Docker With Compose v2, running, for example Docker Desktop on a Mac
Git Any recent version
Model connection An OpenAI, Anthropic or OpenRouter API key, a ChatGPT plan, or a local model server

pnpm start installs dependencies when they changed, builds the web app and starts three Docker containers. Then it starts the nod server, which serves the web app on 127.0.0.1.

flowchart LR
  you([Your browser]):::accent -- access link --> server[nod server<br/>and web app]:::accent
  server --> db[(PostgreSQL)]
  server --> ws[Workspace<br/>container]
  server --> br[Browser<br/>container]
  server -.-> model[Your model<br/>provider]:::muted

The workspace is where nod runs commands and keeps files. The browser is where it visits websites. Neither of them receives your provider keys.

Terminal
git clone https://github.com/n8n-io/nod.git
cd nod

nod encrypts your saved keys, logins and cards with a Vault key.

Nothing to do. nod creates a key and keeps it in the macOS Keychain item dev.nod.vault.

  1. Enable pnpm and start nod. The first run takes a while.

    Terminal
    corepack enable
    pnpm start
  2. When the server is ready, it prints a link such as http://localhost:4310/#access=…. Open it once. Your browser keeps the access cookie, so http://localhost:4310 works from then on.

  3. Follow the onboarding to connect a model and try a first task. See Your first conversation.

To Do this
Stop nod Press Ctrl-C, then run docker compose stop to stop the containers.
Update nod Stop it, run git pull, then pnpm start.
Get a new link Delete access-key in your data folder (.local/ by default) and restart. Otherwise the key stays the same across restarts.
Find your data .local/ (or NOD_DATA_ROOT) and the Docker volumes. The Vault key is in vault/master-key on Linux, the macOS Keychain item dev.nod.vault, or your explicit NOD_VAULT_KEY.
Back up Stop nod, then copy your data folder (.local/ or NOD_DATA_ROOT), the Docker volumes and the Vault key.

Settings live in .env, and you need to restart after you change them. See Configuration.

You see Do this
Use Node.js 24.21.0 or newer. Install a newer Node.js and run pnpm start again.
Docker errors on start Make sure Docker is running and docker compose version reports v2.
Configure NOD_VAULT_KEY… when saving a key Set NOD_VAULT_KEY as shown in Set up the Vault key, then restart.
The port is in use Set another PORT in .env. The default is 4310.