Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

n8n (aerialis)

This container runs our n8n workflow automation instance.

General

n8n is used to automate recurring tasks and glue our services together. The editor and API are reachable at n8n.garudalinux.net, while incoming webhooks use the separate n8n-webhooks.garudalinux.net host, which only proxies /webhook and returns 404 for everything else. Both hosts are proxied by the aerialis web-front.

Nix expression

{
  garuda-lib,
  sources,
  ...
}:
{
  imports = sources.defaultModules ++ [
    ../../modules
  ];

  garuda = garuda-lib.mkMonitoring {
    host = "aerialis";
    units = [ "n8n.service" ];
  };

  services.n8n = {
    enable = true;
    environment = {
      N8N_PORT = "5678";
      N8N_PROXY_HOPS = "1";
      N8N_HOST = "n8n.garudalinux.net";
      N8N_EDITOR_BASE_URL = "https://n8n.garudalinux.net";
      WEBHOOK_URL = "https://n8n-webhooks.garudalinux.net";
      N8N_PUBLIC_API_DISABLED = true;
      N8N_PUBLIC_API_SWAGGERUI_DISABLED = true;
      N8N_DIAGNOSTICS_ENABLED = false;
      N8N_VERSION_NOTIFICATIONS_ENABLED = false;
      N8N_TEMPLATES_ENABLED = false;
    };
    openFirewall = true;
  };

  system.stateVersion = "25.11";
}