From a2f75cdafd66470e53ada30a559aedcbe6cb9f35 Mon Sep 17 00:00:00 2001 From: Michael Hettwer Date: Sat, 14 Mar 2026 18:24:45 +0100 Subject: [PATCH] first commit --- readme.md | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 readme.md diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..7716039 --- /dev/null +++ b/readme.md @@ -0,0 +1,86 @@ +# 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: + +```yaml +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): + +```yaml +n8n_sites: + - name: "n8n" + deploy_type: "package" + path: "/srv/n8n" + systemd: true + app_options: + host: "n8n.example.com" + port: 5678 + protocol: "https" +``` + +Example (repo): + +```yaml +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): + +```yaml +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/`.