2026-03-14 18:25:44 +01:00
2026-03-14 18:25:44 +01:00
2026-03-14 18:25:44 +01:00
2026-03-14 18:25:44 +01:00
2026-03-14 18:25:44 +01:00
2026-03-14 18:25:44 +01:00
2026-03-14 18:24:45 +01:00

lsa.n8n

Ansible role to deploy and manage n8n with Docker, repo, or package installs.

Variables

n8n_sites

Define one or more n8n instances. Each entry requires name and deploy_type.

Supported deploy_type values:

  • docker (Docker Compose)
  • repo (clone and build from git)
  • package (global npm package)

Database options

Database settings follow the same pattern as lsa.umami using a db map per site. Supported db.type values: postgres, mysql, mariadb.

Example DB block:

n8n_sites:
  - name: "n8n"
    deploy_type: "package"
    db:
      host: "127.0.0.1"
      port: 5432
      name: "n8n"
      user: "n8n"
      password: "secret"
      type: "postgres"

Example (package):

n8n_sites:
  - name: "n8n"
    deploy_type: "package"
    path: "/srv/n8n"
    systemd: true
    app_options:
      host: "n8n.example.com"
      port: 5678
      protocol: "https"

Example (repo):

n8n_sites:
  - name: "n8n-repo"
    deploy_type: "repo"
    path: "/srv/n8n-repo"
    systemd: true
    app_options:
      repo_path: "https://github.com/n8n-io/n8n.git"
      repo_version: "master"
      build_command: "pnpm build"
      start_command: "pnpm start"

Example (docker):

n8n_sites:
  - name: "n8n-docker"
    deploy_type: "docker"
    path: "/srv/n8n-docker"
    systemd: true
    docker_options:
      image: "n8nio/n8n:latest"
      listen_port: 5678
      uid: "1000"
      gid: "1000"
    app_options:
      host: "n8n.example.com"
      protocol: "https"

Notes

  • Package/repo deployments assume Node.js and npm are already installed; repo uses pnpm.
  • The role writes instance facts to /etc/ansible/facts.d/.
Description
Ansible role to deploy and manage n8n with Docker, repo, or package installs.
Readme 32 KiB
Languages
Jinja 100%