{"id":480426,"date":"2026-05-20T14:55:49","date_gmt":"2026-05-20T14:55:49","guid":{"rendered":"https:\/\/savepearlharbor.com\/?p=480426"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=480426","title":{"rendered":"\u041a\u0430\u043a auto-update n8n \u043d\u0430\u0448\u0451\u043b \u043c\u0438\u043d\u0443 \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043b\u0435\u0436\u0430\u043b\u0430 8 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0432 node_modules"},"content":{"rendered":"<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4d9\/ad7\/145\/4d9ad71452d3c80498ed0cb77bcd796d.jpg\" width=\"1200\" height=\"630\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/4d9\/ad7\/145\/4d9ad71452d3c80498ed0cb77bcd796d.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4d9\/ad7\/145\/4d9ad71452d3c80498ed0cb77bcd796d.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>20 \u043c\u0430\u044f \u0432 06:01:55 \u041c\u0421\u041a Watchtower \u043f\u043e \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043b 14 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u043d\u0430 \u043d\u0430\u0448\u0435\u043c VPS, \u043d\u0430\u0448\u0451\u043b 5 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439 \u0438 \u043f\u0435\u0440\u0435\u0441\u043e\u0437\u0434\u0430\u043b. \u0421\u0440\u0435\u0434\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0451\u043d\u043d\u044b\u0445 &#8212; n8n, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043a\u0440\u0443\u0442\u0438\u0442 production-\u0432\u0435\u0431\u0445\u0443\u043a\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0441\u0442\u0443\u0434\u0438\u0438 (\u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 SaaS\u00a0<a href=\"https:\/\/aiseen.ru\/?utm_source=habr&amp;utm_medium=article&amp;utm_campaign=n8n-crash-loop\" rel=\"noopener noreferrer nofollow\">aiseen.ru<\/a>\u00a0\u0434\u043b\u044f GEO-\u0430\u0443\u0434\u0438\u0442\u0430 \u0431\u0440\u0435\u043d\u0434\u0430 \u0432 \u042f\u043d\u0434\u0435\u043a\u0441 \u041d\u0435\u0439\u0440\u043e \u0438 Google AIO). \u041d\u0430 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 2.21.4 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u043d\u043e\u0434 \u0441\u0442\u0430\u043b \u0441\u0442\u0440\u043e\u0433\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u044b \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438, \u0430 \u0432 volume \u0441 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f 2025 \u043b\u0435\u0436\u0430\u043b\u00a0<code>n8n-nodes-base-1.14.1.tgz<\/code>\u00a0\u043e\u0442 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0441\u0442\u0430\u0440\u043e\u0439 \u0440\u0443\u0447\u043d\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438. n8n \u0443\u043f\u0430\u043b \u043d\u0430 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u0443\u0448\u0451\u043b \u0432 crash-loop. Webhook&#8217;\u0438 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043b\u0438 \u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044c.<\/p>\n<p>Discovery:\u00a0<strong>2 \u0447\u0430\u0441\u0430 48 \u043c\u0438\u043d\u0443\u0442 \u0441\u043f\u0443\u0441\u0442\u044f<\/strong>, \u043a\u043e\u0433\u0434\u0430 \u044e\u0437\u0435\u0440 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u043b \u0430\u0434\u043c\u0438\u043d\u043a\u0443 \u0438 \u0443\u0432\u0438\u0434\u0435\u043b\u00a0<code>Failed to fetch<\/code>. MTTR:\u00a0<strong>7 \u043c\u0438\u043d\u0443\u0442<\/strong>.<\/p>\n<p>\u0413\u043b\u0430\u0432\u043d\u044b\u0439 \u0443\u0440\u043e\u043a \u043d\u0435 \u043f\u0440\u043e\u00a0<code>:latest<\/code>\u00a0\u0438 \u043d\u0435 \u043f\u0440\u043e Watchtower \u043f\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 &#8212; \u043f\u0440\u043e \u0442\u043e \u0447\u0442\u043e\u00a0<strong>95% downtime &#8212; \u044d\u0442\u043e \u00ab\u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0437\u043d\u0430\u043b\u00bb<\/strong>. \u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0440\u0435\u043c\u043e\u043d\u0442 \u0437\u0430\u043d\u044f\u043b 5% \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0420\u0430\u0437\u0431\u0438\u0440\u0430\u044e \u043a\u0435\u0439\u0441 \u0441 \u0442\u043e\u0447\u043d\u044b\u043c\u0438 \u0442\u0430\u0439\u043c\u0441\u0442\u0430\u043c\u043f\u0430\u043c\u0438 \u0438 \u0432\u044b\u0432\u043e\u0434\u0430\u043c\u0438 \u0434\u043b\u044f observability.<\/p>\n<h3>\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442<\/h3>\n<p>\u041d\u0430 VPS &#8212; \u043e\u0431\u0449\u0438\u0439 n8n-\u0438\u043d\u0441\u0442\u0430\u043d\u0441, \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u0439 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e production-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0441\u0442\u0443\u0434\u0438\u0438. \u041d\u0430 \u0442\u043e\u043c \u0436\u0435 docker-compose \u0440\u044f\u0434\u043e\u043c nginx-proxy \u0441 Let&#8217;s Encrypt-companion, Postgres, \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043b\u0435\u043d\u0434\u0438\u043d\u0433\u0438, \u0438 Watchtower \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439. Workflow&#8217;\u044b \u0438 credentials \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 Postgres &#8212; \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f prod-\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f, \u0430\u043f\u0434\u0435\u0439\u0442 \u0441\u0430\u043c\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435 \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f.<\/p>\n<p>\u0417\u0430\u0442\u0440\u043e\u043d\u0443\u0442\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 &#8212;\u00a0<a href=\"https:\/\/aiseen.ru\/?utm_source=habr&amp;utm_medium=article&amp;utm_campaign=n8n-crash-loop\" rel=\"noopener noreferrer nofollow\">aiseen<\/a>, \u0441\u0435\u0440\u0432\u0438\u0441 \u0434\u043b\u044f GEO-\u0430\u0443\u0434\u0438\u0442\u0430 \u0431\u0440\u0435\u043d\u0434\u0430. \u0423 \u043d\u0435\u0433\u043e \u0432\u0435\u0431\u0445\u0443\u043a\u0438 \u0432 n8n \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u044e\u0442 \u043f\u0440\u0438\u0451\u043c \u0437\u0430\u043a\u0430\u0437\u043e\u0432, \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u043f\u0440\u043e\u043c\u043e\u043a\u043e\u0434\u043e\u0432, pipeline \u043e\u0442\u0447\u0451\u0442\u0430, \u0430\u0434\u043c\u0438\u043d\u043a\u0443. \u041b\u0435\u043d\u0434\u0438\u043d\u0433 &#8212; \u0441\u0442\u0430\u0442\u0438\u043a\u0430, \u043e\u0442 n8n \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442.<\/p>\n<p>Image n8n \u0432 compose \u0441\u0442\u043e\u044f\u043b \u043a\u0430\u043a\u00a0<code>n8nio\/n8n:latest<\/code>\u00a0&#8212; \u0442\u043e \u0435\u0441\u0442\u044c \u0431\u0435\u0437 \u0444\u0438\u043a\u0441\u0430\u0446\u0438\u0438 \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 (\u0431\u0435\u0437 pin&#8217;\u0430 \u0432\u0440\u043e\u0434\u0435\u00a0<code>n8nio\/n8n:2.20.5<\/code>). \u042d\u0442\u043e \u0441\u043e\u0437\u043d\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u043f\u0440\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043f\u0438\u0441\u0430\u043b \u0432\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/1033716\/?utm_source=habr-self\" rel=\"noopener noreferrer nofollow\">\u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u0440\u043e n8n self-hosted \u0432 production<\/a>\u00a010 \u0434\u043d\u0435\u0439 \u043d\u0430\u0437\u0430\u0434, \u0438 \u0433\u0434\u0435 \u0446\u0435\u043b\u044b\u0439 \u0440\u0430\u0437\u0434\u0435\u043b \u0431\u044b\u043b \u043f\u0440\u043e Watchtower \u043a\u0430\u043a \u0441\u043f\u043e\u0441\u043e\u0431 \u0430\u0432\u0442\u043e\u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0431\u0435\u0437 \u0440\u0443\u0447\u043d\u043e\u0433\u043e \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0434\u0435\u0441\u044f\u0442\u043a\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0445 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u0439. \u041d\u0430 \u0440\u0430\u0437\u0431\u043e\u0440\u0435 \u0435\u0451 \u0438 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0432\u0435\u0440\u0445 \u0435\u0441\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u0434\u0435\u043b \u043d\u0438\u0436\u0435.<\/p>\n<h3>\u0425\u0440\u043e\u043d\u043e\u043b\u043e\u0433\u0438\u044f<\/h3>\n<p>\u0412\u0441\u0451 \u0432 UTC, \u0432 \u0441\u043a\u043e\u0431\u043a\u0430\u0445 &#8212; \u041c\u0421\u041a.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">Time<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0421\u043e\u0431\u044b\u0442\u0438\u0435<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2026-05-19 10:52 UTC (13:52 \u041c\u0421\u041a)<\/p>\n<\/td>\n<td>\n<p align=\"left\">n8n 2.21.4 \u0432\u044b\u043a\u0430\u0442\u0438\u043b\u0438 \u0432 Docker Hub \u043a\u0430\u043a\u00a0<code>latest<\/code>\/<code>stable<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2026-05-19 12:08 UTC (15:08 \u041c\u0421\u041a)<\/p>\n<\/td>\n<td>\n<p align=\"left\">n8n 2.22.0 \u0432\u044b\u043a\u0430\u0442\u0438\u043b\u0438 \u0442\u0443\u0434\u0430 \u0436\u0435 (\u043c\u0438\u043d\u043e\u0440\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 \u0441 \u0444\u0438\u0447\u0430\u043c\u0438,\u00a0<strong>\u043d\u0435 hotfix<\/strong>\u00a0\u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0439 \u0434\u044b\u0440\u043a\u0438)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2026-05-19 12:10 UTC (15:10 \u041c\u0421\u041a)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0422\u0435\u0433\u00a0<code>latest<\/code>\u00a0\u043f\u0435\u0440\u0435\u0435\u0445\u0430\u043b \u043d\u0430 2.22.0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2026-05-20 03:00 UTC (06:00 \u041c\u0421\u041a)<\/p>\n<\/td>\n<td>\n<p align=\"left\">Watchtower \u043f\u043e \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u044e\u00a0<code>0 0 3 * * *<\/code>\u00a0\u043d\u0430\u0447\u0430\u043b \u0441\u0435\u0441\u0441\u0438\u044e<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>2026-05-20 03:01:55 UTC (06:01:55 \u041c\u0421\u041a)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>SIGTERM \u0441\u0442\u0430\u0440\u043e\u043c\u0443 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0443 n8n<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2026-05-20 03:01:56 UTC (06:01:56 \u041c\u0421\u041a)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u043e\u0437\u0434\u0430\u043d \u043d\u043e\u0432\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043d\u0430 2.21.4<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2026-05-20 03:01:58 UTC (06:01:58 \u041c\u0421\u041a)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u0442\u0430\u0440\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 \u0443\u0434\u0430\u043b\u0451\u043d (<code>--cleanup<\/code>)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2026-05-20 03:01:58+ UTC (06:01:58+ \u041c\u0421\u041a)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041d\u043e\u0432\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043a\u0440\u0430\u0448\u0438\u0442\u0441\u044f:\u00a0<code>Node loader n8n-nodes-base is already registered<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2026-05-20 03:02:10 UTC (06:02:10 \u041c\u0421\u041a)<\/p>\n<\/td>\n<td>\n<p align=\"left\">Watchtower:\u00a0<code>Session done Failed=0 Scanned=14 Updated=5<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>2026-05-20 ~05:50 UTC (~08:50 \u041c\u0421\u041a)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u042e\u0437\u0435\u0440 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u043b \u0430\u0434\u043c\u0438\u043d\u043a\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u2192\u00a0<\/strong><code><strong>Failed to fetch<\/strong><\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2026-05-20 05:51 UTC (08:51 \u041c\u0421\u041a)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041d\u0430\u0447\u0430\u043b\u043e \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0438<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2026-05-20 05:53 UTC (08:53 \u041c\u0421\u041a)<\/p>\n<\/td>\n<td>\n<p align=\"left\">Root cause \u043d\u0430\u0439\u0434\u0435\u043d<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2026-05-20 05:55 UTC (08:55 \u041c\u0421\u041a)<\/p>\n<\/td>\n<td>\n<p align=\"left\">Backup \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u0443\u044e\u0449\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2026-05-20 05:57:11 UTC (08:57:11 \u041c\u0421\u041a)<\/p>\n<\/td>\n<td>\n<p align=\"left\">n8n \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u0430\u043b \u043d\u0430 \u0447\u0438\u0441\u0442\u043e\u043c volume, \u0433\u043e\u0442\u043e\u0432 \u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044c<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><strong>Real downtime: 2h 55min 16s.<\/strong>\u00a0\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u044d\u0442\u0438\u0445 175 \u043c\u0438\u043d\u0443\u0442 (\u043f\u043e\u0447\u0435\u043c\u0443 95% \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0437\u043d\u0430\u043b \u0447\u0442\u043e \u0443\u043f\u0430\u043b\u043e) \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u044e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0432 \u043f\u0440\u0430\u0432\u0438\u043b\u0435 95\/5 \u043d\u0438\u0436\u0435.<\/p>\n<p>\u041c\u043e\u043c\u0435\u043d\u0442 \u043f\u0440\u043e \u0432\u0435\u0440\u0441\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b \u043a\u0430\u043a \u00ab\u043d\u0430\u043c \u043d\u0435 \u043f\u043e\u0432\u0435\u0437\u043b\u043e\u00bb &#8212; 2.22.0 \u0432\u044b\u0448\u0435\u043b \u0447\u0435\u0440\u0435\u0437 1\u0447 16\u043c \u043f\u043e\u0441\u043b\u0435 2.21.4. \u041d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 hotfix, \u0438 \u043a\u0430\u0436\u0435\u0442\u0441\u044f \u0447\u0442\u043e \u043f\u043e\u043f\u0430\u0434\u0438 Watchtower \u0432 \u043e\u043a\u043d\u043e \u043f\u043e\u0441\u043b\u0435 \u043d\u0435\u0433\u043e, \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u0430 \u0431\u044b \u043d\u0435 \u0431\u044b\u043b\u043e. \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043b release notes 2.22.0: \u044d\u0442\u043e \u043f\u043b\u0430\u043d\u043e\u0432\u044b\u0439 \u043c\u0438\u043d\u043e\u0440\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 \u0441 \u0444\u0438\u0447\u0430\u043c\u0438 (NVIDIA Nemotron, Crypto encrypt\/decrypt, Snowflake OAuth2, security-\u0444\u0438\u043a\u0441\u044b vm2\/protobufjs). Strict-check \u0434\u043b\u044f \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u0432\u00a0<code>n8n-nodes-base<\/code>\u00a0\u0432 2.22.0\u00a0<strong>\u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u043e\u0442\u043a\u0430\u0442\u044b\u0432\u0430\u043b<\/strong>. \u0422\u043e \u0435\u0441\u0442\u044c \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0431\u044b Watchtower \u043f\u043e\u043f\u0430\u043b \u0432 \u043e\u043a\u043d\u043e \u043f\u043e\u0441\u043b\u0435 2.22.0, \u043c\u044b \u0431\u044b \u0443\u043f\u0430\u043b\u0438 \u0440\u043e\u0432\u043d\u043e \u0442\u0430\u043a \u0436\u0435. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0439 fix &#8212; \u043f\u043e\u0447\u0438\u043d\u0438\u0442\u044c \u043f\u0440\u0438\u0447\u0438\u043d\u0443 \u0432 volume \u0443 \u0441\u0435\u0431\u044f, \u0447\u0442\u043e \u043c\u044b \u0438 \u0441\u0434\u0435\u043b\u0430\u043b\u0438.<\/p>\n<h3>\u0427\u0442\u043e \u0432\u0438\u0434\u0435\u043b \u044e\u0437\u0435\u0440<\/h3>\n<p>\u0412 \u0430\u0434\u043c\u0438\u043d\u043a\u0435 &#8212;\u00a0<code>TypeError: Failed to fetch<\/code>\u00a0\u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u043a \u0432\u0435\u0431\u0445\u0443\u043a\u0443. \u041d\u0430\u0440\u0443\u0436\u043d\u044b\u0439 curl:<\/p>\n<pre><code>GET  https:\/\/n8n.example.ru\/webhook\/admin-orders   \u2192 HTTP 502GET  https:\/\/n8n.example.ru\/webhook\/order-status   \u2192 HTTP 502GET  https:\/\/aiseen.ru\/                            \u2192 HTTP 200<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:87px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p><strong>\u041b\u0435\u043d\u0434\u0438\u043d\u0433 \u0436\u0438\u0432\u043e\u0439, n8n \u0443\u043c\u0435\u0440, nginx-proxy \u043f\u0435\u0440\u0435\u0434 \u043d\u0438\u043c \u043e\u0442\u0434\u0430\u0451\u0442 502 \u043d\u0430 \u0432\u0441\u0451.<\/strong>\u00a0\u042e\u0437\u0435\u0440 \u043d\u0430 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u0443\u0432\u0438\u0434\u0435\u043b \u0431\u044b \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0430\u0439\u0442, \u0432 \u0430\u0434\u043c\u0438\u043d\u043a\u0435 &#8212; \u043f\u043e\u043b\u043e\u043c\u0430\u043d\u043d\u043e. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0441\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043d\u0435 \u0447\u0435\u0440\u0435\u0437 5 \u043c\u0438\u043d\u0443\u0442, \u0430 \u0447\u0435\u0440\u0435\u0437 3 \u0447\u0430\u0441\u0430, \u043a\u043e\u0433\u0434\u0430 \u0432 \u0430\u0434\u043c\u0438\u043d\u043a\u0443 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u0437\u0430\u0433\u043b\u044f\u043d\u0443\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0441\u0432\u0435\u0436\u0438\u0445 \u0437\u0430\u043a\u0430\u0437\u043e\u0432 (\u043f\u043e\u0432\u0435\u0437\u043b\u043e, \u0447\u0442\u043e \u0438\u0445 \u043d\u0435 \u0431\u044b\u043b\u043e&#8230;).<\/p>\n<h3>5 \u043c\u0438\u043d\u0443\u0442 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0438<\/h3>\n<h4>\u0428\u0430\u0433 1 &#8212;\u00a0docker compose ps<\/h4>\n<pre><code>SERVICE   STATUS                ...n8n       Up 16 seconds         \u2190 \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u00ab\u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e \u043f\u043e\u0434\u043d\u044f\u043b\u0441\u044f\u00bb, \u043d\u043e webhook&#8217;\u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0442 \u043f\u0430\u0434\u0430\u0442\u044c. \u0417\u043d\u0430\u0447\u0438\u0442 \u043e\u043d \u0441\u0442\u0430\u0440\u0442\u0443\u0435\u0442, \u0447\u0435\u0440\u0435\u0437 \u0441\u0435\u043a\u0443\u043d\u0434\u044b \u043f\u0430\u0434\u0430\u0435\u0442, \u0438\u00a0<code>restart: unless-stopped<\/code>\u00a0\u0435\u0433\u043e \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u0435\u0442 \u0437\u0430\u043d\u043e\u0432\u043e. \u041a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 crash-loop, \u0431\u0435\u0437 error \u0432\u00a0<code>compose ps<\/code>\u00a0(\u0434\u043b\u044f compose \u00ab\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u0440\u0435\u0441\u0442\u0430\u0440\u0442\u0438\u0442\u0441\u044f\u00bb = \u0432\u0430\u043b\u0438\u0434\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435).<\/p>\n<p>\u041e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u043b\u043e\u0432\u0443\u0448\u043a\u0430 &#8212; \u044d\u0442\u043e\u0442 crash-loop\u00a0<strong>\u043d\u0435 \u0441\u0432\u0435\u0442\u0438\u043b\u0441\u044f \u043d\u0430 VPS-\u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0435 <\/strong><a href=\"https:\/\/beget.com\/p2301123\" rel=\"noopener noreferrer nofollow\"><strong>Beget<\/strong><\/a>. \u0413\u0440\u0430\u0444\u0438\u043a\u0438 CPU \u0437\u0430 \u0441\u0443\u0442\u043a\u0438 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u0440\u043e\u0432\u043d\u044b\u0439 100% idle: n8n \u043f\u0430\u0434\u0430\u043b \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0447\u0435\u043c \u0443\u0441\u043f\u0435\u0432\u0430\u043b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443. \u041d\u0438\u043a\u0430\u043a\u0438\u0445 \u0432\u0441\u043f\u043b\u0435\u0441\u043a\u043e\u0432 user\/system. Hosting-\u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0442\u0430\u043a\u0438\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u0432\u0438\u0434\u0438\u0442 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u0441\u043b\u0435\u043f\u043e &#8212; \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043f\u0438\u043a \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0443\u0442\u0440\u043e\u043c, \u043a\u043e\u0433\u0434\u0430 n8n \u0443\u0436\u0435 \u043f\u043e\u0434\u043d\u044f\u043b\u0438 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043f\u043e\u0441\u043b\u0435 fix&#8217;\u0430.<\/p>\n<h4>\u0428\u0430\u0433 2 &#8212; \u043b\u043e\u0433\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430<\/h4>\n<pre><code>docker compose logs n8n --tail 50<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0412\u044b\u0432\u043e\u0434 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442\u0441\u044f \u0432 \u0446\u0438\u043a\u043b\u0435:<\/p>\n<pre><code>n8n-app  | Initializing n8n processn8n-app  | Error: Node loader n8n-nodes-base is already registered.n8n-app  |     at LoadNodesAndCredentials.init (\/usr\/local\/lib\/node_modules\/n8n\/src\/load-nodes-and-credentials.ts:111:11)n8n-app  |     at Start.init (\/usr\/local\/lib\/node_modules\/n8n\/src\/commands\/base-command.ts:124:3)n8n-app  | Exiting due to an error.n8n-app  | Last session crashed<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p><code>n8n-nodes-base<\/code>\u00a0&#8212; \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u043f\u0430\u043a\u0435\u0442 n8n \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c\u0438 \u043d\u043e\u0434\u0430\u043c\u0438 (HTTP Request, Postgres, Code, \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435). \u0412 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u0438 \u0435\u0433\u043e \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442 \u0441\u043d\u0430\u0440\u0443\u0436\u0438 \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c. \u041e\u0448\u0438\u0431\u043a\u0430\u00a0<code>already registered<\/code>\u00a0\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0447\u0442\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u043d\u0430\u0448\u0451\u043b \u0435\u0433\u043e \u0434\u0432\u0430\u0436\u0434\u044b: \u043e\u0434\u0438\u043d \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0432 \u043e\u0431\u0440\u0430\u0437 + \u043e\u0434\u0438\u043d \u0433\u0434\u0435-\u0442\u043e \u0435\u0449\u0451.<\/p>\n<h4>\u0428\u0430\u0433 3 &#8212; \u0432\u0435\u0440\u0441\u0438\u044f \u0438 \u0432\u0440\u0435\u043c\u044f \u0430\u043f\u0434\u0435\u0439\u0442\u0430<\/h4>\n<pre><code>docker exec n8n-app n8n --version# \u2192 2.21.4docker inspect n8nio\/n8n:latest --format 'Image Created: {{.Created}}'# \u2192 Image Created: 2026-05-19T10:32:37Zdocker inspect n8n-app --format 'Container Started: {{.State.StartedAt}}'# \u2192 Container Started: 2026-05-20T05:52:31Z (\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0440\u0435\u0441\u0442\u0430\u0440\u0442 \u0446\u0438\u043a\u043b\u0430)<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0412\u0435\u0440\u0441\u0438\u044f &#8212;\u00a0<strong>2.21.4<\/strong>. \u0414\u043e \u044d\u0442\u043e\u0433\u043e \u043a\u0440\u0443\u0442\u0438\u043b\u0430\u0441\u044c 2.20.x. \u0420\u0443\u0447\u043d\u044b\u0445\u00a0<code>docker pull<\/code>\u00a0\u043d\u043e\u0447\u044c\u044e \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0434\u0435\u043b\u0430\u043b, \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043e\u0434\u0438\u043d &#8212; Watchtower \u043f\u043e \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u044e. \u0418\u0434\u0451\u043c \u043a \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u043f\u0440\u0438\u0447\u0438\u043d\u0435 \u043a\u0440\u044d\u0448\u0430.<\/p>\n<h4>\u0428\u0430\u0433 4 &#8212; \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 volume<\/h4>\n<pre><code>ls -la \/var\/lib\/docker\/volumes\/n8n-stack_n8n_data\/_data\/nodes\/# n8n-nodes-base-1.14.1.tgz       \u2190 5.4 MB, mtime: Sep  2  2025  \u26a0\ufe0f# node_modules\/# package.jsonls \/var\/lib\/docker\/volumes\/n8n-stack_n8n_data\/_data\/nodes\/node_modules\/# @apify\/# @tavily\/# n8n-nodes-telegram-mtproto\/# @telepilotco\/# n8n-nodes-base\/                  \u2190 \u26a0\ufe0f \u0414\u0423\u0411\u041b\u0418\u041a\u0410\u0422 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0433\u043e, \u041d\u0415 \u0432 package.json<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p><code>package.json<\/code>:<\/p>\n<pre><code class=\"json\">{  \"name\": \"installed-nodes\",  \"private\": true,  \"dependencies\": {    \"@tavily\/n8n-nodes-tavily\": \"0.2.5\",    \"n8n-nodes-telegram-client-api\": \"0.1.0\",    \"n8n-nodes-telegram-mtproto\": \"0.1.19\",    \"@telepilotco\/n8n-nodes-telepilot\": \"0.5.2\",    \"@apify\/n8n-nodes-apify\": \"0.6.5\"  }}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p><code>n8n-nodes-base<\/code>\u00a0\u0432\u00a0<code>dependencies<\/code>\u00a0\u043d\u0435\u0442, \u043d\u043e \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438 \u043b\u0435\u0436\u0438\u0442 \u0432\u00a0<code>node_modules\/<\/code>. mtime \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f 2025 &#8212; \u043e\u043a\u043e\u043b\u043e 8 \u043c\u0435\u0441\u044f\u0446\u0435\u0432. \u042d\u0442\u043e \u043e\u0441\u0438\u0440\u043e\u0442\u0435\u0432\u0448\u0438\u0439 \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442 \u043e\u0442 \u0441\u0442\u0430\u0440\u043e\u0439 \u0440\u0443\u0447\u043d\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438. \u041a\u043e\u0440\u043d\u0435\u0432\u0430\u044f \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u043d\u0430\u0439\u0434\u0435\u043d\u0430 \u0437\u0430 5 \u043c\u0438\u043d\u0443\u0442.<\/p>\n<h3>\u041a\u043e\u0440\u043d\u0435\u0432\u0430\u044f \u043f\u0440\u0438\u0447\u0438\u043d\u0430 &#8212; strict-check \u0432 2.21.4<\/h3>\n<p>\u0414\u043e 2.21.4 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a community-nodes \u043f\u0440\u0438 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438\u00a0<code>~\/.n8n\/nodes\/node_modules\/<\/code>\u00a0\u043d\u0430\u0445\u043e\u0434\u0438\u043b \u0442\u0430\u043c \u043f\u0430\u043a\u0435\u0442\u00a0<code>n8n-nodes-base<\/code>\u00a0\u0438\u00a0<strong>\u043c\u043e\u043b\u0447\u0430 \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u043b<\/strong>\u00a0(\u0438\u043c\u044f \u0443\u0436\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e \u0438\u0437 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0437\u0430). \u0412 2.21.4 silent skip \u0437\u0430\u043c\u0435\u043d\u0438\u043b\u0438 \u043d\u0430 \u044f\u0432\u043d\u0443\u044e \u043e\u0448\u0438\u0431\u043a\u0443\u00a0<code>already registered<\/code>. \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u0443\u043c\u043d\u043e\u0435 (silent skip \u0441\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u044b), \u043d\u043e \u043e\u043d\u043e \u043b\u043e\u043c\u0430\u0435\u0442 \u043b\u044e\u0431\u044b\u0435 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u0438 \u0433\u0434\u0435 \u0442\u0430\u043a\u043e\u0439 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442 \u043d\u0430\u043a\u043e\u043f\u0438\u043b\u0441\u044f \u0438\u0437 \u0440\u0443\u0447\u043d\u044b\u0445 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432. \u0412 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u043c changelog 2.21.4 \u044d\u0442\u043e \u044f\u0432\u043d\u043e \u043d\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043e, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u043f\u043e\u0431\u043e\u0447\u043d\u044b\u0439 \u044d\u0444\u0444\u0435\u043a\u0442 \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0430.<\/p>\n<p>\u041f\u0430\u043a\u0435\u0442 \u0432 volume &#8212;\u00a0<code>n8n-nodes-base-1.14.1<\/code>, \u043e\u0447\u0435\u043d\u044c \u0441\u0442\u0430\u0440\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f 2022 \u0433\u043e\u0434\u0430. \u041a\u0442\u043e-\u0442\u043e \u0432 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u0435 2025 \u0437\u0430\u043a\u0430\u0442\u0438\u043b \u0435\u0433\u043e \u043f\u0440\u044f\u043c\u044b\u043c\u00a0<code>npm install<\/code>\u00a0\u0432\u00a0<code>~\/.n8n\/nodes\/<\/code>\u00a0&#8212; \u0434\u0430\u0443\u043d\u0433\u0440\u0435\u0439\u0434, \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442, \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0435 \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u0442\u044c. \u041c\u0438\u043d\u0430 \u043b\u0435\u0436\u0430\u043b\u0430 8 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0438 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u0440\u043e\u0432\u043d\u043e \u043a\u043e\u0433\u0434\u0430 auto-update \u0441\u0434\u0435\u043b\u0430\u043b strict-check. \u042d\u0442\u043e \u0438 \u0435\u0441\u0442\u044c \u043c\u0435\u0442\u0430-\u0443\u0440\u043e\u043a: \u0443\u043a\u0443\u0441\u0438\u043b\u043e \u043d\u0435 \u0441\u0430\u043c\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435, \u0430\u00a0<strong>\u0445\u0432\u043e\u0441\u0442\u044b \u043e\u0442 \u0441\u0442\u0430\u0440\u044b\u0445 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432<\/strong>. Auto-update \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430\u0436\u0430\u043b \u043d\u0430 \u0441\u043f\u0443\u0441\u043a\u043e\u0432\u043e\u0439 \u043a\u0440\u044e\u0447\u043e\u043a.<\/p>\n<h3>50 \u0441\u0435\u043a\u0443\u043d\u0434 fix<\/h3>\n<p>\u041f\u0440\u0438\u043d\u0446\u0438\u043f &#8212; \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\u0435 \u0432\u043c\u0435\u0448\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e. \u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u0443\u044e\u0449\u0438\u0439 \u043f\u0430\u043a\u0435\u0442, \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 4 community-nodes (\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438 \u043d\u0430 \u044d\u0442\u043e\u043c n8n) &#8212; \u043d\u0435 \u0442\u0440\u043e\u0433\u0430\u0442\u044c.<\/p>\n<pre><code class=\"bash\"># 1. Backup \u043d\u0430 \u0441\u043b\u0443\u0447\u0430\u0439 \u043e\u0442\u043a\u0430\u0442\u0430mkdir -p \/root\/backupstar czf \/root\/backups\/n8n-nodes-base-conflict-$(date +%Y%m%d-%H%M).tar.gz \\  -C \/var\/lib\/docker\/volumes\/n8n-stack_n8n_data\/_data\/nodes \\  n8n-nodes-base-1.14.1.tgz node_modules\/n8n-nodes-base# 2. \u041e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c n8ncd \/opt\/n8n-stack &amp;&amp; docker compose stop n8n# 3. \u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0422\u041e\u041b\u042c\u041a\u041e \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u0443\u044e\u0449\u0438\u0435 \u0444\u0430\u0439\u043b\u044brm \/var\/lib\/docker\/volumes\/n8n-stack_n8n_data\/_data\/nodes\/n8n-nodes-base-1.14.1.tgzrm -rf \/var\/lib\/docker\/volumes\/n8n-stack_n8n_data\/_data\/nodes\/node_modules\/n8n-nodes-base# 4. \u041f\u043e\u0434\u043d\u044f\u0442\u044cdocker compose up -d n8n<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0421 \u043c\u043e\u043c\u0435\u043d\u0442\u0430\u00a0<code>docker compose stop n8n<\/code>\u00a0\u0434\u043e \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0441\u0442\u0430\u0440\u0442\u0430 (\u043a\u043e\u0433\u0434\u0430 n8n \u0443\u0436\u0435 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u043d\u0430 webhook&#8217;\u0438) &#8212;\u00a0<strong>50 \u0441\u0435\u043a\u0443\u043d\u0434<\/strong>. \u0421\u0430\u043c fix \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u043a\u043e\u0440\u043e\u0447\u0435 \u0447\u0435\u043c \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0430.<\/p>\n<h3>\u0427\u0442\u043e \u041d\u0415 \u0434\u0435\u043b\u0430\u043b\u0438 \u0438 \u043f\u043e\u0447\u0435\u043c\u0443<\/h3>\n<p>\u0421\u043e\u0431\u043b\u0430\u0437\u043d \u00ab\u043e\u0431\u043d\u0443\u043b\u0438\u0442\u044c \u0432\u0441\u0451 \u0438 \u043f\u0435\u0440\u0435\u0441\u043e\u0437\u0434\u0430\u0442\u044c\u00bb \u043f\u0440\u0438 crash-loop \u0431\u043e\u043b\u044c\u0448\u043e\u0439. \u041d\u0435 \u0434\u0435\u043b\u0430\u043b\u0438\u00a0<code>docker compose down -v<\/code>\u00a0(\u0441\u043d\u0451\u0441 \u0431\u044b volume \u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u044e executions \u0441 bin-\u0430\u0442\u0442\u0430\u0447\u0430\u043c\u0438), \u043d\u0435 \u0441\u043d\u043e\u0441\u0438\u043b\u0438\u00a0<code>nodes\/<\/code>\u00a0\u0446\u0435\u043b\u0438\u043a\u043e\u043c (\u0442\u0430\u043c 4 \u0440\u0430\u0431\u043e\u0447\u0438\u0445 community-\u043d\u043e\u0434\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432), \u043d\u0435 \u043f\u0438\u043d\u0438\u043b\u0438 \u0432\u0435\u0440\u0441\u0438\u044e \u043d\u0430 2.20.x (\u044d\u0442\u043e \u043b\u0435\u0447\u0438\u0442 \u0441\u0438\u043c\u043f\u0442\u043e\u043c, \u043c\u0438\u043d\u0430 \u0432 volume \u043e\u0441\u0442\u0430\u043b\u0430\u0441\u044c \u0431\u044b \u0434\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u043c\u0430\u0436\u043e\u0440\u0430). \u041e\u0442\u043a\u0430\u0442 \u0447\u0435\u0440\u0435\u0437\u00a0<code>docker tag<\/code>\u00a0\u0442\u043e\u0436\u0435 \u043d\u0435 \u0434\u0435\u043b\u0430\u043b\u0438 &#8212;\u00a0<code>--cleanup<\/code>\u00a0Watchtower&#8217;\u0430 \u0443\u0436\u0435 \u0443\u0434\u0430\u043b\u0438\u043b \u0441\u0442\u0430\u0440\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e, \u0430 re-pull \u0438\u0437 registry \u0437\u0430\u043d\u044f\u043b\u043e \u0431\u044b \u0434\u043e\u043b\u044c\u0448\u0435 \u0447\u0435\u043c \u0442\u043e\u0447\u0435\u0447\u043d\u044b\u0439 fix.<\/p>\n<p>\u0412 production-\u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u0430\u0445 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0432\u043c\u0435\u0448\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u043e\u0431\u043d\u0443\u043b\u0435\u043d\u0438\u044f. \u041a\u0430\u0436\u0434\u043e\u0435 \u043b\u0438\u0448\u043d\u0435\u0435 \u00ab\u0441\u043d\u0435\u0441\u0451\u043c, \u043f\u043e\u0442\u043e\u043c \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u043c\u0441\u044f\u00bb &#8212; \u044d\u0442\u043e \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0435\u0449\u0451 \u043e\u0434\u0438\u043d \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442 \u0441\u0432\u0435\u0440\u0445\u0443.<\/p>\n<h3>\u0422\u0440\u0438\u0430\u0434\u0430 \u0440\u0438\u0441\u043a\u0430:\u00a0:latest\u00a0+ Watchtower +\u00a0&#8212;cleanup<\/h3>\n<p>Watchtower \u0443 \u043d\u0430\u0441 \u0437\u0430\u043f\u0443\u0449\u0435\u043d \u0442\u0430\u043a:<\/p>\n<pre><code class=\"yaml\">watchtower:  image: containrrr\/watchtower  command: --schedule \"0 0 3 * * *\" --cleanup  volumes:    - \/var\/run\/docker.sock:\/var\/run\/docker.sock<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0412\u0430\u0436\u043d\u0430\u044f \u0434\u0435\u0442\u0430\u043b\u044c \u0432 \u043b\u043e\u0433\u0430\u0445 \u0441\u0435\u0441\u0441\u0438\u0438 20 \u043c\u0430\u044f &#8212;\u00a0<code>Session done Failed=0 Scanned=14 Updated=5<\/code>. \u0414\u043b\u044f Watchtower&#8217;\u0430 \u00ab\u0443\u0441\u043f\u0435\u0445\u00bb = \u00ab\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0441\u043e\u0437\u0434\u0430\u043d \u0438 \u0437\u0430\u043f\u0443\u0449\u0435\u043d \u0447\u0435\u0440\u0435\u0437 docker run\u00bb. \u0422\u043e \u0447\u0442\u043e \u043d\u043e\u0432\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0441\u0440\u0430\u0437\u0443 \u0443\u043f\u0430\u043b \u0432 crash-loop &#8212; \u043e\u043d \u043d\u0435 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0435\u0442. \u0418\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u043e\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435, \u043d\u0435 \u0431\u0430\u0433: \u0431\u0435\u0437 healthcheck \u0438 \u0431\u0435\u0437 \u0445\u0443\u043a\u0430 \u00ab\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043f\u0440\u043e\u0436\u0438\u043b X \u043c\u0438\u043d\u0443\u0442\u00bb Watchtower \u0443\u0445\u043e\u0434\u0438\u0442 \u0441 \u0437\u0435\u043b\u0451\u043d\u044b\u043c \u0441\u0442\u0430\u0442\u0443\u0441\u043e\u043c, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0445\u043e\u0441\u0442 \u043e\u0441\u0442\u0430\u043b\u0441\u044f \u0431\u0435\u0437 \u0441\u0435\u0440\u0432\u0438\u0441\u0430.<\/p>\n<p>\u041a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u044d\u0442\u0438\u0445 \u0442\u0440\u0451\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 &#8212; \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u0439 production-\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442. \u0412\u043c\u0435\u0441\u0442\u0435 \u043e\u043d\u0438 \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u043d\u0435\u043f\u0440\u0438\u044f\u0442\u043d\u0443\u044e \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0427\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0432 \u0440\u0438\u0441\u043a<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>:latest<\/code>\u00a0\u0431\u0435\u0437 pin&#8217;\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0422\u044f\u043d\u0435\u0442 \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u0430\u043c\u0443\u044e \u0441\u0432\u0435\u0436\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041c\u0435\u0436\u0434\u0443 \u043c\u043e\u0438\u043c\u0438 \u0440\u0443\u0447\u043d\u044b\u043c\u0438\u00a0<code>docker pull<\/code>\u00a0digest \u043c\u043e\u0436\u0435\u0442 \u0441\u043c\u0435\u043d\u0438\u0442\u044c\u0441\u044f \u0431\u0435\u0437 \u043c\u043e\u0435\u0433\u043e \u0432\u0435\u0434\u043e\u043c\u0430<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Watchtower \u043f\u043e cron<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0434\u0435\u043b\u0430\u0435\u0442 re-pull + recreate<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u043e\u0434\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043b\u044e\u0431\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u00a0<code>:latest<\/code>\u00a0\u0431\u0435\u0437 \u043c\u043e\u0435\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>--cleanup<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0423\u0434\u0430\u043b\u044f\u0435\u0442 \u0441\u0442\u0430\u0440\u044b\u0435 \u043e\u0431\u0440\u0430\u0437\u044b \u043f\u043e\u0441\u043b\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e recreate<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041e\u0442\u043a\u0430\u0442\u0438\u0442\u044c\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0435\u0433 \u043d\u0435\u043b\u044c\u0437\u044f &#8212; \u043d\u0443\u0436\u0435\u043d re-pull \u043d\u0443\u0436\u043d\u043e\u0439 prev-\u0432\u0435\u0440\u0441\u0438\u0438<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0414\u0435\u0442\u0430\u043b\u044c \u043f\u0440\u043e n8n, \u0432\u0430\u0436\u043d\u0430\u044f \u0434\u043b\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u043f\u0443\u043d\u043a\u0442\u0430: floating-\u0442\u0435\u0433\u043e\u0432 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u043c\u0430\u0436\u043e\u0440\u0430\/\u043c\u0438\u043d\u043e\u0440\u0430 (<code>:2<\/code>,\u00a0<code>:2.21<\/code>\u00a0\u0438 \u0442. \u043f.) \u0443\u00a0<code>n8nio\/n8n<\/code>\u00a0<strong>\u043d\u0435\u0442<\/strong>. \u0422\u043e\u043b\u044c\u043a\u043e\u00a0<code>:latest<\/code>,\u00a0<code>:stable<\/code>,\u00a0<code>:next<\/code>,\u00a0<code>:beta<\/code>,\u00a0<code>:nightly<\/code>\u00a0\u0438 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435\u00a0<code>:X.Y.Z<\/code>. \u041f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u043e\u0433\u043e \u00ab\u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c\u0441\u044f, \u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 2.x\u00bb \u0447\u0435\u0440\u0435\u0437 \u0438\u043c\u044f \u0442\u0435\u0433\u0430 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 &#8212; \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 pin&#8217;\u0430 \u0440\u043e\u0432\u043d\u043e \u0434\u0432\u0430: \u043b\u0438\u0431\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0430\u044f\u00a0<code>:X.Y.Z<\/code>\u00a0\u0441 \u0440\u0443\u0447\u043d\u044b\u043c \u0430\u043f\u0434\u0435\u0439\u0442\u043e\u043c, \u043b\u0438\u0431\u043e\u00a0<code>:latest<\/code>\u00a0\u0441 \u0440\u0438\u0441\u043a\u043e\u043c \u0430\u0432\u0442\u043e-\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0438\u0437 \u0442\u0440\u0438\u0430\u0434\u044b \u0432\u044b\u043f\u0430\u0434\u0430\u0435\u0442\u00a0<strong>\u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u0438\u043d<\/strong>\u00a0\u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 &#8212; \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u0435\u0435:<\/p>\n<ul>\n<li>\n<p>\u0411\u0435\u0437\u00a0<code>:latest<\/code>\u00a0(\u043f\u0438\u043d\u0438\u0442\u044c\u00a0<code>:X.Y.Z<\/code>) \u2192 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u0433\u0434\u0430 \u0432\u044b \u0441\u0430\u043c\u0438 \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u0435\u0442\u0435 \u0442\u0435\u0433 \u0432 compose. \u041f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c, \u043d\u043e 100% \u0440\u0443\u0447\u043d\u043e\u0433\u043e \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044f<\/p>\n<\/li>\n<li>\n<p>\u0411\u0435\u0437 Watchtower \u2192\u00a0<code>:latest<\/code>\u00a0\u0435\u0441\u0442\u044c, \u043d\u043e re-pull \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u0440\u0443\u0447\u043d\u043e\u043c\u00a0<code>docker compose pull<\/code>. \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043d\u0430\u0434 \u043e\u043a\u043d\u043e\u043c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f<\/p>\n<\/li>\n<li>\n<p>\u0411\u0435\u0437\u00a0<code>--cleanup<\/code>\u00a0\u2192 \u0441\u0442\u0430\u0440\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e, \u043e\u0442\u043a\u0430\u0442\u00a0<code>docker tag &lt;old_id&gt; n8nio\/n8n:latest &amp;&amp; docker compose up -d n8n<\/code>\u00a0\u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u0441\u0435\u043a\u0443\u043d\u0434\u044b<\/p>\n<\/li>\n<\/ul>\n<p>\u0423 \u043d\u0430\u0441 \u0432\u044b\u043f\u0430\u0434\u0430\u043b\u00a0<strong>\u043d\u043e\u043b\u044c<\/strong>\u00a0&#8212; \u0432\u0441\u0435 \u0442\u0440\u0438 \u0444\u0430\u043a\u0442\u043e\u0440\u0430 \u0431\u044b\u043b\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e. \u041e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0431\u0435\u0437\u043e\u0431\u0438\u0434\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b, \u0432\u043c\u0435\u0441\u0442\u0435 \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u044e\u0449\u0438\u0435\u0441\u044f \u0432 \u043b\u043e\u0432\u0443\u0448\u043a\u0443.<\/p>\n<h3>\u0427\u0435\u0440\u0435\u0437 10 \u0434\u043d\u0435\u0439 \u043f\u043e\u0441\u043b\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0433\u0434\u0435 \u044f \u0445\u0432\u0430\u043b\u0438\u043b \u044d\u0442\u0443 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044e<\/h3>\n<p>10 \u0434\u043d\u0435\u0439 \u043d\u0430\u0437\u0430\u0434 \u044f \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u043d\u0430 Habr\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/1033716\/?utm_source=habr-self\" rel=\"noopener noreferrer nofollow\">\u0441\u0442\u0430\u0442\u044c\u044e \u043f\u0440\u043e n8n self-hosted \u0432 production<\/a>, \u0433\u0434\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u0449\u0438\u0449\u0430\u043b \u043f\u043e\u0434\u0445\u043e\u0434\u00a0<code>:latest<\/code>\u00a0+ Watchtower \u0434\u043b\u044f \u0430\u0433\u0435\u043d\u0442\u0441\u0442\u0432: \u00ab\u0440\u0430\u0437 \u0432 \u043f\u043e\u043b\u0433\u043e\u0434\u0430 \u043f\u043e\u0434\u043d\u044f\u0442\u044c \u0443\u043f\u0430\u0432\u0448\u0438\u0439 \u043f\u043e\u0441\u043b\u0435 \u0430\u0432\u0442\u043e\u0430\u043f\u0434\u0435\u0439\u0442\u0430 workflow \u0434\u0435\u0448\u0435\u0432\u043b\u0435, \u0447\u0435\u043c 5-10 \u0447\u0430\u0441\u043e\u0432 \u0432 \u043c\u0435\u0441\u044f\u0446 \u0440\u0443\u0447\u043d\u044b\u0445 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439 \u0434\u0435\u0441\u044f\u0442\u043a\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432\u00bb. \u0427\u0435\u0440\u0435\u0437 10 \u0434\u043d\u0435\u0439 \u044d\u0442\u0430 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044f \u043f\u043e\u043b\u043e\u043c\u0430\u043b\u0430 \u043c\u043e\u0439 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 production. \u041d\u0435 \u043a\u0430\u0442\u0430\u0441\u0442\u0440\u043e\u0444\u043e\u0439 &#8212; fix 7 \u043c\u0438\u043d\u0443\u0442, \u043f\u043e\u0442\u0435\u0440\u044c \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u043e\u043b\u044c. \u041d\u043e \u0440\u043e\u0432\u043d\u043e \u0442\u043e\u0442 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439, \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u044f \u0433\u043e\u0432\u043e\u0440\u0438\u043b \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u043d\u043e.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0434\u0445\u043e\u0434 \u0442\u0430\u043a\u043e\u0439.\u00a0<code>:latest<\/code>\u00a0+ Watchtower \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f &#8212; \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u043a\u0430 \u043d\u0430 \u0434\u0435\u0441\u044f\u0442\u043a\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0445 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u0439 \u043e\u043f\u0440\u0430\u0432\u0434\u044b\u0432\u0430\u0435\u0442. \u041d\u043e \u0432 \u043e\u0431\u0432\u044f\u0437\u043a\u0435 \u0442\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f: \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u043f\u0438\u043d\u0433 \u043f\u043e \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u043c\u0443 URL (discovery \u0432 \u043c\u0438\u043d\u0443\u0442\u0430\u0445, \u0430 \u043d\u0435 \u0432 \u0447\u0430\u0441\u0430\u0445),\u00a0<code>--cleanup<\/code>\u00a0\u0441\u043d\u0438\u043c\u0430\u044e, \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0437\u0430\u043f\u0430\u0441 \u0434\u0438\u0441\u043a\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 (\u043e\u0442\u043a\u0430\u0442 \u0447\u0435\u0440\u0435\u0437\u00a0<code>docker tag<\/code>\u00a0\u0437\u0430 \u0441\u0435\u043a\u0443\u043d\u0434\u044b \u0432\u043c\u0435\u0441\u0442\u043e re-pull), \u0434\u043b\u044f \u0441\u0430\u043c\u044b\u0445 \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u044b\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 Watchtower \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0443 \u0432\u00a0<code>--monitor-only<\/code>\u00a0&#8212; \u0441\u043a\u0430\u043d\u0438\u0440\u0443\u0435\u0442, \u0448\u043b\u0451\u0442 \u00ab\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0432\u0435\u0440\u0441\u0438\u044f X\u00bb, \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u044e \u0443\u0436\u0435 \u044f \u0440\u0443\u043a\u0430\u043c\u0438. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0432 \u00ab\u0427\u0442\u043e \u043c\u0435\u043d\u044f\u0435\u043c\u00bb \u043d\u0438\u0436\u0435.<\/p>\n<h3>\u041f\u0440\u0430\u0432\u0438\u043b\u043e 95\/5: discovery latency vs MTTR<\/h3>\n<p>\u0420\u0430\u0437\u043b\u043e\u0436\u0438\u043c 2 \u0447\u0430\u0441\u0430 55 \u043c\u0438\u043d\u0443\u0442 downtime&#8217;\u0430 \u043d\u0430 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th data-colwidth=\"152\" width=\"152\">\n<p align=\"left\">\u0424\u0430\u0437\u0430<\/p>\n<\/th>\n<th data-colwidth=\"144\" width=\"144\">\n<p align=\"left\">\u0414\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c<\/p>\n<\/th>\n<th data-colwidth=\"73\" width=\"73\">\n<p align=\"left\">%<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0427\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u043b\u043e<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td data-colwidth=\"152\" width=\"152\">\n<p align=\"left\"><strong>Discovery latency<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"144\" width=\"144\">\n<p align=\"left\"><strong>~2h 48min<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"73\" width=\"73\">\n<p align=\"left\"><strong>~95%<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041d\u0438\u043a\u0442\u043e \u043d\u0435 \u0437\u043d\u0430\u043b. n8n \u0440\u0435\u0441\u0442\u0430\u0440\u0442\u0438\u0442\u0441\u044f \u0432 loop, webhook&#8217;\u0438 \u2192 502, \u043d\u043e \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0430\u043b\u0435\u0440\u0442\u043e\u0432 \u0432 Telegram \u043d\u0435\u0442. \u041b\u0435\u043d\u0434\u0438\u043d\u0433 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 200 OK &#8212; \u0432\u043d\u0435\u0448\u043d\u0435 \u00ab\u0432\u0441\u0451 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u00bb<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"152\" width=\"152\">\n<p align=\"left\"><strong>MTTR (mean time to repair)<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"144\" width=\"144\">\n<p align=\"left\"><strong>~7min<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"73\" width=\"73\">\n<p align=\"left\"><strong>~5%<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u2192 SSH \u2192 \u043b\u043e\u0433\u0438 \u2192 root cause \u2192 backup \u2192 stop \u2192 rm \u2192 start \u2192 verify<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u042d\u0442\u043e \u0442\u0438\u043f\u0438\u0447\u043d\u0430\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u0430 \u0434\u043b\u044f self-hosted-\u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0431\u0435\u0437 \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u043f\u0438\u043d\u0433\u0430. \u041c\u044b \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0438 \u0447\u0435\u0440\u0435\u0437 3 \u0447\u0430\u0441\u0430 \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u043c\u0443 \u0437\u0430\u0445\u043e\u0434\u0443 \u0432 \u0430\u0434\u043c\u0438\u043d\u043a\u0443. \u041d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0445 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u044f\u0445 \u0441 \u0440\u0435\u0434\u043a\u0438\u043c\u0438 \u0437\u0430\u0445\u043e\u0434\u0430\u043c\u0438 \u0432 \u0430\u0434\u043c\u0438\u043d\u043a\u0443\/UI-n8n \u044d\u0442\u043e \u043c\u043e\u0433\u043b\u043e \u0431\u044b \u0442\u044f\u043d\u0443\u0442\u044c\u0441\u044f \u0441\u0443\u0442\u043a\u0430\u043c\u0438.<\/p>\n<p>\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u0437\u0434\u043e\u0440\u043e\u0432\u044c\u044f \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u043e\u0431\u044f\u0437\u0430\u043d \u0436\u0438\u0442\u044c\u00a0<strong>\u0432\u043d\u0435 \u0441\u0430\u043c\u043e\u0433\u043e n8n<\/strong>\u00a0&#8212; \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u0438\u043b\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u0435. \u0418\u043d\u0430\u0447\u0435 \u043f\u0440\u0438 crash-loop \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043c\u043e\u043b\u0447\u0438\u0442 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0443\u043f\u0430\u0432\u0448\u0438\u043c \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u043c, \u0438 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u00abn8n \u0443\u043c\u0435\u0440, nginx \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 502\u00bb \u043d\u0435 \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043d\u0438 \u0432 \u043a\u0430\u043a\u043e\u0439 \u0430\u043b\u0435\u0440\u0442.<\/p>\n<p>\u041a \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043e\u0439\u0442\u0438 \u0441 \u0434\u0432\u0443\u043c\u044f \u0441\u0442\u0435\u043f\u0435\u043d\u044f\u043c\u0438 \u043f\u0430\u0440\u0430\u043d\u043e\u0439\u0438, \u0438 \u043e\u043d\u0438\u00a0<strong>\u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u044e\u0442\u0441\u044f<\/strong>, \u0430 \u043d\u0435 \u0432\u044b\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f:<\/p>\n<p><strong>\u0423\u0440\u043e\u0432\u0435\u043d\u044c 1 &#8212; cron \u043d\u0430 \u0442\u043e\u043c \u0436\u0435 VPS.<\/strong>\u00a0\u0411\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e, 5 \u043c\u0438\u043d\u0443\u0442 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438. \u0423 \u043d\u0430\u0441 \u043d\u0430 \u0445\u043e\u0441\u0442\u0435 \u0443\u043f\u0430\u043b \u0442\u043e\u043b\u044c\u043a\u043e n8n &#8212; \u0441\u0430\u043c VPS \u0438 \u0435\u0433\u043e cron-\u0434\u0435\u043c\u043e\u043d \u0436\u0438\u0432\u044b, \u043b\u0435\u043d\u0434\u0438\u043d\u0433\u0438 \u0438 nginx \u0442\u043e\u0436\u0435. \u041e\u0434\u0438\u043d\u00a0<code>\/etc\/cron.d\/n8n-pinger<\/code>\u00a0\u0441 \u0431\u0430\u043d\u0430\u043b\u044c\u043d\u044b\u043c curl \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442 95% \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432:<\/p>\n<pre><code class=\"bash\">*\/5 * * * * root \\  curl -fsS --max-time 5 https:\/\/n8n.example.ru\/healthz &gt; \/dev\/null \\  || curl -s -X POST \"https:\/\/api.telegram.org\/bot$TG_TOKEN\/sendMessage\" \\         -d \"chat_id=$TG_CHAT\" \\         -d \"text=\u26a0\ufe0f n8n.example.ru HEALTH FAIL on $(hostname)\"<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041e\u0434\u0438\u043d \u0444\u0430\u0439\u043b, \u043d\u0443\u043b\u0435\u0432\u044b\u0435 \u0440\u0430\u0441\u0445\u043e\u0434\u044b, \u043b\u044e\u0431\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 curl (502, timeout, ECONNREFUSED) \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0432 Telegram-\u0447\u0430\u0442\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438. \u0423 \u043d\u0430\u0441 Telegram-\u043a\u0430\u043d\u0430\u043b \u0438 \u0442\u043e\u043a\u0435\u043d \u0431\u043e\u0442\u0430 \u0443\u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u043f\u043e\u0434 \u0434\u0440\u0443\u0433\u0438\u0435 \u0430\u043b\u0435\u0440\u0442\u044b \u0432\u00a0<code>admin_alerts<\/code>, \u0442\u0430\u043a \u0447\u0442\u043e \u044d\u0442\u043e \u0431\u0443\u043a\u0432\u0430\u043b\u044c\u043d\u043e \u0434\u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u044f\u0442\u044c \u0441\u0442\u0440\u043e\u043a.<\/p>\n<p><strong>\u0423\u0440\u043e\u0432\u0435\u043d\u044c 2 &#8212; \u0430\u043b\u0435\u0440\u0442\u044b \u043e\u0442 \u0441\u0430\u043c\u043e\u0433\u043e \u0445\u043e\u0441\u0442\u0438\u043d\u0433\u0430.<\/strong>\u00a0\u041d\u0430 \u0441\u043b\u0443\u0447\u0430\u0439 \u00ab\u0443\u043f\u0430\u043b \u0432\u0435\u0441\u044c VPS\u00bb (\u043f\u043b\u0430\u043d\u043e\u0432\u044b\u0435 \u0440\u0430\u0431\u043e\u0442\u044b, kernel panic, OOM-killer \u043f\u043e \u0432\u0441\u0435\u043c\u0443 \u0445\u043e\u0441\u0442\u0443) \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 cron \u0438\u0437 \u0443\u0440\u043e\u0432\u043d\u044f 1 \u0443\u0436\u0435 \u0431\u0435\u0441\u043f\u043e\u043b\u0435\u0437\u0435\u043d &#8212; \u043e\u043d \u0441\u0430\u043c \u0443\u043c\u0440\u0451\u0442 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0445\u043e\u0441\u0442\u043e\u043c. \u0423 \u043d\u0430\u0441 VPS \u043d\u0430\u00a0<a href=\"https:\/\/beget.com\/p2301123\" rel=\"noopener noreferrer nofollow\">Beget<\/a>\u00a0&#8212; \u0442\u0430\u043c \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438 VPS \u0441 Telegram-\u0430\u043b\u0435\u0440\u0442\u0430\u043c\u0438, \u0438\u0434\u0451\u0442 \u043f\u0440\u044f\u043c\u043e \u0438\u0437 \u0430\u0434\u043c\u0438\u043d\u043a\u0438 \u0445\u043e\u0441\u0442\u0438\u043d\u0433\u0430 \u0438 \u043e\u0442 \u043f\u0430\u0434\u0435\u043d\u0438\u044f \u0441\u0430\u043c\u043e\u0433\u043e VPS \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442. \u041e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 uptime-\u0441\u0435\u0440\u0432\u0438\u0441 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e. \u041d\u0430 \u0445\u043e\u0441\u0442\u0438\u043d\u0433\u0430\u0445 \u0433\u0434\u0435 \u0442\u0430\u043a\u043e\u0433\u043e \u043d\u0435\u0442 (\u0438\u043b\u0438 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u043d\u0435\u0434\u043e\u0432\u0435\u0440\u0447\u0438\u0432\u043e\u0433\u043e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430) &#8212; \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0432\u043d\u0435\u0448\u043d\u0438\u0439: UptimeRobot, healthchecks.io, Better Stack, free-tier \u0443 \u043b\u044e\u0431\u043e\u0433\u043e \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u0434\u043b\u044f \u043f\u0430\u0440\u044b \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432.<\/p>\n<p>\u041e\u0431\u0430 \u0443\u0440\u043e\u0432\u043d\u044f \u0432\u043c\u0435\u0441\u0442\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 15 \u043c\u0438\u043d\u0443\u0442 \u043d\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0438 \u0441\u0442\u043e\u044f\u0442 0 \u20bd. \u0421 \u043d\u0438\u043c\u0438 discovery latency \u0441\u0436\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0441 2h 48min \u0434\u043e\u00a0<strong>\u043e\u0434\u043d\u043e\u0433\u043e \u0446\u0438\u043a\u043b\u0430 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430<\/strong>\u00a0(5 \u043c\u0438\u043d\u0443\u0442), MTTR \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0442\u0435 \u0436\u0435 7 \u043c\u0438\u043d\u0443\u0442.<\/p>\n<p>\u0422\u0443\u043f\u043e\u0439 \u043f\u0438\u043d\u0433\u0435\u0440 \u043f\u043e \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u043c\u0443 URL, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0430\u043b\u0435\u0440\u0442\u0438\u0442 \u043f\u0440\u0438 \u043d\u0435-200 &#8212; \u0442\u043e, \u0447\u0442\u043e \u0432\u0430\u0436\u043d\u0435\u0435 \u0432 self-hosted production \u0447\u0435\u043c \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u0434 \u0438 \u0441\u0432\u0435\u0436\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f. \u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 healthcheck Docker&#8217;\u0430 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c crash-loop \u0440\u0430\u043d\u044c\u0448\u0435, \u043d\u043e\u00a0<strong>\u0440\u0430\u0437\u0431\u0443\u0434\u0438\u0442\u044c \u0434\u0435\u0436\u0443\u0440\u043d\u043e\u0433\u043e<\/strong>\u00a0\u043c\u043e\u0436\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e-\u0442\u043e \u0441\u043d\u0430\u0440\u0443\u0436\u0438 \u0441\u0430\u043c\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0430.<\/p>\n<h3>\u0427\u0442\u043e \u043c\u0435\u043d\u044f\u0435\u043c \u043f\u043e\u0441\u043b\u0435 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u0430<\/h3>\n<p>\u0412 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u0430:<\/p>\n<ol>\n<li>\n<p><strong>\u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 cron + \u0445\u043e\u0441\u0442\u0438\u043d\u0433-\u0430\u043b\u0435\u0440\u0442\u044b.<\/strong>\u00a0Cron \u043d\u0430 \u0442\u043e\u043c \u0436\u0435 VPS (5 \u043c\u0438\u043d\u0443\u0442, 0 \u20bd) &#8212; \u0441\u043c. \u043f\u0440\u0438\u043c\u0435\u0440 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u043f\u0440\u043e 95\/5. \u041f\u043e\u0432\u0435\u0440\u0445 \u043d\u0435\u0433\u043e &#8212; \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 <a href=\"https:\/\/beget.com\/p2301123\" rel=\"noopener noreferrer nofollow\">Beget<\/a> \u0441 Telegram-\u0430\u043b\u0435\u0440\u0442\u0430\u043c\u0438 \u043d\u0430 \u043f\u0430\u0434\u0435\u043d\u0438\u0435 VPS \u0446\u0435\u043b\u0438\u043a\u043e\u043c; \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u0445\u043e\u0441\u0442\u0438\u043d\u0433\u0430\u0445 \u0432\u043c\u0435\u0441\u0442\u043e \u043d\u0435\u0433\u043e UptimeRobot\/healthchecks.io<\/p>\n<\/li>\n<li>\n<p><strong>\u0421\u043d\u0438\u043c\u0430\u0435\u043c\u00a0<\/strong><code><strong>--cleanup<\/strong><\/code><strong>\u00a0\u0443 Watchtower.<\/strong>\u00a0\u0421\u0442\u0430\u0440\u044b\u0435 \u043e\u0431\u0440\u0430\u0437\u044b \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e, \u043e\u0442\u043a\u0430\u0442 \u0447\u0435\u0440\u0435\u0437\u00a0<code>docker tag &lt;old_id&gt; n8nio\/n8n:latest &amp;&amp; docker compose up -d n8n<\/code>\u00a0&#8212; \u0441\u0435\u043a\u0443\u043d\u0434\u044b \u0432\u043c\u0435\u0441\u0442\u043e re-pull<\/p>\n<\/li>\n<li>\n<p><strong>Telegram-\u043d\u043e\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 Watchtower \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 update.<\/strong>\u00a0\u0427\u0435\u0440\u0435\u0437\u00a0<code>--notifications shoutrrr<\/code>\u00a0+\u00a0<code>WATCHTOWER_NOTIFICATION_URL=telegram:\/\/...<\/code>. \u0421\u0440\u0430\u0437\u0443 \u0432\u0438\u0434\u0438\u043c \u0444\u0430\u043a\u0442 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u043c\u043e\u0436\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0440\u0443\u043a\u0430\u043c\u0438<\/p>\n<\/li>\n<li>\n<p><strong>Docker healthcheck \u043d\u0430 n8n.<\/strong>\u00a0<code>restart: on-failure<\/code>\u00a0+ healthcheck \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 crash-loop. \u041d\u0435 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u043f\u0438\u043d\u0433, \u043d\u043e \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 Watchtower&#8217;\u0443 \u0441\u00a0<code>--health-check<\/code>\u00a0\u0443\u0432\u0430\u0436\u0430\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435:<\/p>\n<pre><code class=\"yaml\">n8n:  healthcheck:    test: [\"CMD-SHELL\", \"wget -qO- http:\/\/localhost:5678\/healthz || exit 1\"]    interval: 30s    retries: 3    start_period: 60s<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<\/li>\n<li>\n<p><strong>\u0410\u0443\u0434\u0438\u0442 volume&#8217;\u043e\u0432 n8n \u0443 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432.<\/strong>\u00a0\u0421\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e VPS:<\/p>\n<pre><code class=\"bash\">ls n8n_data\/nodes\/node_modules\/ | grep -v '^@' | sort &gt; \/tmp\/installed.txtjq -r '.dependencies | keys[] | select(startswith(\"@\") | not)' \\  n8n_data\/nodes\/package.json | sort &gt; \/tmp\/declared.txtcomm -23 \/tmp\/installed.txt \/tmp\/declared.txt<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0412\u044b\u0432\u043e\u0434\u00a0<code>comm -23<\/code>\u00a0= \u043f\u0430\u043a\u0435\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438 \u0435\u0441\u0442\u044c \u0432\u00a0<code>node_modules\/<\/code>, \u043d\u043e \u043d\u0435 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u044b \u0432 package.json. \u042d\u0442\u043e \u0438 \u0435\u0441\u0442\u044c \u043e\u0441\u0438\u0440\u043e\u0442\u0435\u0432\u0448\u0438\u0435 \u0445\u0432\u043e\u0441\u0442\u044b, \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u044b \u043d\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0434\u043e \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 strict-check \u0438\u0445 \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u0438\u0442<\/p>\n<\/li>\n<li>\n<p><strong>\u0414\u043b\u044f \u0441\u0430\u043c\u044b\u0445 \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u0439 &#8212;\u00a0<\/strong><code><strong>--monitor-only<\/strong><\/code><strong>.<\/strong>\u00a0Watchtower \u0441\u043a\u0430\u043d\u0438\u0440\u0443\u0435\u0442 \u0438 \u0448\u043b\u0451\u0442 \u00ab\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0432\u0435\u0440\u0441\u0438\u044f X\u00bb, \u043d\u043e \u043d\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442 \u0441\u0430\u043c. \u041f\u043e\u0434\u0445\u043e\u0434 \u0434\u043b\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0433\u0434\u0435 \u043c\u0438\u043d\u0443\u0442\u0430 unscheduled downtime&#8217;\u0430 \u0441\u0442\u043e\u0438\u0442 \u0434\u043e\u0440\u043e\u0436\u0435 15 \u043c\u0438\u043d\u0443\u0442 \u043f\u043b\u0430\u043d\u043e\u0432\u044b\u0445 \u0440\u0443\u0447\u043d\u044b\u0445 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439<\/p>\n<\/li>\n<\/ol>\n<h3>\u041f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438<\/h3>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/n8n-io\/n8n\/releases\" rel=\"noopener noreferrer nofollow\">n8n GitHub Releases<\/a>\u00a0&#8212; \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 changelog \u043f\u043e \u0432\u0435\u0440\u0441\u0438\u044f\u043c<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.npmjs.com\/package\/n8n-nodes-base\" rel=\"noopener noreferrer nofollow\">n8n-nodes-base \u043d\u0430 npm<\/a>\u00a0&#8212; \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u043f\u0430\u043a\u0435\u0442, \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u0434\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432 volume<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/containrrr.dev\/watchtower\/\" rel=\"noopener noreferrer nofollow\">Containrrr Watchtower docs<\/a>\u00a0&#8212; \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f,\u00a0<code>--cleanup<\/code>,\u00a0<code>--monitor-only<\/code>,\u00a0<code>--notifications<\/code><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/containrrr.dev\/shoutrrr\/\" rel=\"noopener noreferrer nofollow\">shoutrrr<\/a>\u00a0&#8212; \u043d\u043e\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0434\u043b\u044f Watchtower (Telegram, Slack, Discord \u0438 \u0442. \u0434.)<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/uptimerobot.com\/\" rel=\"noopener noreferrer nofollow\">UptimeRobot<\/a>\u00a0&#8212; \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 uptime-\u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0441 Telegram-\u043d\u043e\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f\u043c\u0438<\/p>\n<\/li>\n<li>\n<p>\u041c\u043e\u044f \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043d\u0430 Habr &#8212;\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/1033716\/?utm_source=habr-self\" rel=\"noopener noreferrer nofollow\">n8n self-hosted \u0432 production: docker-compose, nginx, \u0440\u0435\u0442\u0440\u0430\u0438 \u0438 \u0442\u0440\u0438 \u0433\u0440\u0430\u0431\u043b\u0438<\/a><\/p>\n<\/li>\n<\/ul>\n<p>\u0414\u0435\u043b\u0430\u0435\u043c \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044e \u043d\u0430 n8n \u0432\u00a0<a href=\"https:\/\/bot-craft.ru\/?utm_source=habr&amp;utm_medium=article&amp;utm_campaign=n8n-crash-loop\" rel=\"noopener noreferrer nofollow\">BotKraft<\/a>\u00a0&#8212; \u043d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0432\u0435\u0441\u0442\u0438 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0441 observability \u0438 change-management \u0432 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c self-hosted-\u043f\u0440\u043e\u0435\u043a\u0442\u0435.<\/p>\n<\/div>\n<p>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/1037434\/\">https:\/\/habr.com\/ru\/articles\/1037434\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>20 \u043c\u0430\u044f \u0432 06:01:55 \u041c\u0421\u041a Watchtower \u043f\u043e \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043b 14 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u043d\u0430 \u043d\u0430\u0448\u0435\u043c VPS, \u043d\u0430\u0448\u0451\u043b 5 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439 \u0438 \u043f\u0435\u0440\u0435\u0441\u043e\u0437\u0434\u0430\u043b. \u0421\u0440\u0435\u0434\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0451\u043d\u043d\u044b\u0445 &#8212; n8n, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043a\u0440\u0443\u0442\u0438\u0442 production-\u0432\u0435\u0431\u0445\u0443\u043a\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0441\u0442\u0443\u0434\u0438\u0438 (\u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 SaaS\u00a0aiseen.ru\u00a0\u0434\u043b\u044f GEO-\u0430\u0443\u0434\u0438\u0442\u0430 \u0431\u0440\u0435\u043d\u0434\u0430 \u0432 \u042f\u043d\u0434\u0435\u043a\u0441 \u041d\u0435\u0439\u0440\u043e \u0438 Google AIO). \u041d\u0430 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 2.21.4 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u043d\u043e\u0434 \u0441\u0442\u0430\u043b \u0441\u0442\u0440\u043e\u0433\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u044b \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438, \u0430 \u0432 volume \u0441 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f 2025 \u043b\u0435\u0436\u0430\u043b\u00a0n8n-nodes-base-1.14.1.tgz\u00a0\u043e\u0442 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0441\u0442\u0430\u0440\u043e\u0439 \u0440\u0443\u0447\u043d\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438. n8n \u0443\u043f\u0430\u043b \u043d\u0430 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u0443\u0448\u0451\u043b \u0432 crash-loop. Webhook&#8217;\u0438 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043b\u0438 \u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044c.Discovery:\u00a02 \u0447\u0430\u0441\u0430 48 \u043c\u0438\u043d\u0443\u0442 \u0441\u043f\u0443\u0441\u0442\u044f, \u043a\u043e\u0433\u0434\u0430 \u044e\u0437\u0435\u0440 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u043b \u0430\u0434\u043c\u0438\u043d\u043a\u0443 \u0438 \u0443\u0432\u0438\u0434\u0435\u043b\u00a0Failed to fetch. MTTR:\u00a07 \u043c\u0438\u043d\u0443\u0442.\u0413\u043b\u0430\u0432\u043d\u044b\u0439 \u0443\u0440\u043e\u043a \u043d\u0435 \u043f\u0440\u043e\u00a0:latest\u00a0\u0438 \u043d\u0435 \u043f\u0440\u043e Watchtower \u043f\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 &#8212; \u043f\u0440\u043e \u0442\u043e \u0447\u0442\u043e\u00a095% downtime &#8212; \u044d\u0442\u043e \u00ab\u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0437\u043d\u0430\u043b\u00bb. \u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0440\u0435\u043c\u043e\u043d\u0442 \u0437\u0430\u043d\u044f\u043b 5% \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0420\u0430\u0437\u0431\u0438\u0440\u0430\u044e \u043a\u0435\u0439\u0441 \u0441 \u0442\u043e\u0447\u043d\u044b\u043c\u0438 \u0442\u0430\u0439\u043c\u0441\u0442\u0430\u043c\u043f\u0430\u043c\u0438 \u0438 \u0432\u044b\u0432\u043e\u0434\u0430\u043c\u0438 \u0434\u043b\u044f observability.\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u041d\u0430 VPS &#8212; \u043e\u0431\u0449\u0438\u0439 n8n-\u0438\u043d\u0441\u0442\u0430\u043d\u0441, \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u0439 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e production-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0441\u0442\u0443\u0434\u0438\u0438. \u041d\u0430 \u0442\u043e\u043c \u0436\u0435 docker-compose \u0440\u044f\u0434\u043e\u043c nginx-proxy \u0441 Let&#8217;s Encrypt-companion, Postgres, \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043b\u0435\u043d\u0434\u0438\u043d\u0433\u0438, \u0438 Watchtower \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439. Workflow&#8217;\u044b \u0438 credentials \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 Postgres &#8212; \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f prod-\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f, \u0430\u043f\u0434\u0435\u0439\u0442 \u0441\u0430\u043c\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435 \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f.\u0417\u0430\u0442\u0440\u043e\u043d\u0443\u0442\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 &#8212;\u00a0aiseen, \u0441\u0435\u0440\u0432\u0438\u0441 \u0434\u043b\u044f GEO-\u0430\u0443\u0434\u0438\u0442\u0430 \u0431\u0440\u0435\u043d\u0434\u0430. \u0423 \u043d\u0435\u0433\u043e \u0432\u0435\u0431\u0445\u0443\u043a\u0438 \u0432 n8n \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u044e\u0442 \u043f\u0440\u0438\u0451\u043c \u0437\u0430\u043a\u0430\u0437\u043e\u0432, \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u043f\u0440\u043e\u043c\u043e\u043a\u043e\u0434\u043e\u0432, pipeline \u043e\u0442\u0447\u0451\u0442\u0430, \u0430\u0434\u043c\u0438\u043d\u043a\u0443. \u041b\u0435\u043d\u0434\u0438\u043d\u0433 &#8212; \u0441\u0442\u0430\u0442\u0438\u043a\u0430, \u043e\u0442 n8n \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442.Image n8n \u0432 compose \u0441\u0442\u043e\u044f\u043b \u043a\u0430\u043a\u00a0n8nio\/n8n:latest\u00a0&#8212; \u0442\u043e \u0435\u0441\u0442\u044c \u0431\u0435\u0437 \u0444\u0438\u043a\u0441\u0430\u0446\u0438\u0438 \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 (\u0431\u0435\u0437 pin&#8217;\u0430 \u0432\u0440\u043e\u0434\u0435\u00a0n8nio\/n8n:2.20.5). \u042d\u0442\u043e \u0441\u043e\u0437\u043d\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u043f\u0440\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043f\u0438\u0441\u0430\u043b \u0432\u00a0\u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u0440\u043e n8n self-hosted \u0432 production\u00a010 \u0434\u043d\u0435\u0439 \u043d\u0430\u0437\u0430\u0434, \u0438 \u0433\u0434\u0435 \u0446\u0435\u043b\u044b\u0439 \u0440\u0430\u0437\u0434\u0435\u043b \u0431\u044b\u043b \u043f\u0440\u043e Watchtower \u043a\u0430\u043a \u0441\u043f\u043e\u0441\u043e\u0431 \u0430\u0432\u0442\u043e\u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0431\u0435\u0437 \u0440\u0443\u0447\u043d\u043e\u0433\u043e \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0434\u0435\u0441\u044f\u0442\u043a\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0445 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u0439. \u041d\u0430 \u0440\u0430\u0437\u0431\u043e\u0440\u0435 \u0435\u0451 \u0438 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0432\u0435\u0440\u0445 \u0435\u0441\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u0434\u0435\u043b \u043d\u0438\u0436\u0435.\u0425\u0440\u043e\u043d\u043e\u043b\u043e\u0433\u0438\u044f\u0412\u0441\u0451 \u0432 UTC, \u0432 \u0441\u043a\u043e\u0431\u043a\u0430\u0445 &#8212; \u041c\u0421\u041a.Time\u0421\u043e\u0431\u044b\u0442\u0438\u04352026-05-19 10:52 UTC (13:52 \u041c\u0421\u041a)n8n 2.21.4 \u0432\u044b\u043a\u0430\u0442\u0438\u043b\u0438 \u0432 Docker Hub \u043a\u0430\u043a\u00a0latest\/stable2026-05-19 12:08 UTC (15:08 \u041c\u0421\u041a)n8n 2.22.0 \u0432\u044b\u043a\u0430\u0442\u0438\u043b\u0438 \u0442\u0443\u0434\u0430 \u0436\u0435 (\u043c\u0438\u043d\u043e\u0440\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 \u0441 \u0444\u0438\u0447\u0430\u043c\u0438,\u00a0\u043d\u0435 hotfix\u00a0\u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0439 \u0434\u044b\u0440\u043a\u0438)2026-05-19 12:10 UTC (15:10 \u041c\u0421\u041a)\u0422\u0435\u0433\u00a0latest\u00a0\u043f\u0435\u0440\u0435\u0435\u0445\u0430\u043b \u043d\u0430 2.22.02026-05-20 03:00 UTC (06:00 \u041c\u0421\u041a)Watchtower \u043f\u043e \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u044e\u00a00 0 3 * * *\u00a0\u043d\u0430\u0447\u0430\u043b \u0441\u0435\u0441\u0441\u0438\u044e2026-05-20 03:01:55 UTC (06:01:55 \u041c\u0421\u041a)SIGTERM \u0441\u0442\u0430\u0440\u043e\u043c\u0443 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0443 n8n2026-05-20 03:01:56 UTC (06:01:56 \u041c\u0421\u041a)\u0421\u043e\u0437\u0434\u0430\u043d \u043d\u043e\u0432\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043d\u0430 2.21.42026-05-20 03:01:58 UTC (06:01:58 \u041c\u0421\u041a)\u0421\u0442\u0430\u0440\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 \u0443\u0434\u0430\u043b\u0451\u043d (&#8212;cleanup)2026-05-20 03:01:58+ UTC (06:01:58+ \u041c\u0421\u041a)\u041d\u043e\u0432\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043a\u0440\u0430\u0448\u0438\u0442\u0441\u044f:\u00a0Node loader n8n-nodes-base is already registered2026-05-20 03:02:10 UTC (06:02:10 \u041c\u0421\u041a)Watchtower:\u00a0Session done Failed=0 Scanned=14 Updated=52026-05-20 ~05:50 UTC (~08:50 \u041c\u0421\u041a)\u042e\u0437\u0435\u0440 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u043b \u0430\u0434\u043c\u0438\u043d\u043a\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u2192\u00a0Failed to fetch2026-05-20 05:51 UTC (08:51 \u041c\u0421\u041a)\u041d\u0430\u0447\u0430\u043b\u043e \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u04382026-05-20 05:53 UTC (08:53 \u041c\u0421\u041a)Root cause \u043d\u0430\u0439\u0434\u0435\u043d2026-05-20 05:55 UTC (08:55 \u041c\u0421\u041a)Backup \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u0443\u044e\u0449\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u04322026-05-20 05:57:11 UTC (08:57:11 \u041c\u0421\u041a)n8n \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u0430\u043b \u043d\u0430 \u0447\u0438\u0441\u0442\u043e\u043c volume, \u0433\u043e\u0442\u043e\u0432 \u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044cReal downtime: 2h 55min 16s.\u00a0\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u044d\u0442\u0438\u0445 175 \u043c\u0438\u043d\u0443\u0442 (\u043f\u043e\u0447\u0435\u043c\u0443 95% \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0437\u043d\u0430\u043b \u0447\u0442\u043e \u0443\u043f\u0430\u043b\u043e) \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u044e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0432 \u043f\u0440\u0430\u0432\u0438\u043b\u0435 95\/5 \u043d\u0438\u0436\u0435.\u041c\u043e\u043c\u0435\u043d\u0442 \u043f\u0440\u043e \u0432\u0435\u0440\u0441\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b \u043a\u0430\u043a \u00ab\u043d\u0430\u043c \u043d\u0435 \u043f\u043e\u0432\u0435\u0437\u043b\u043e\u00bb &#8212; 2.22.0 \u0432\u044b\u0448\u0435\u043b \u0447\u0435\u0440\u0435\u0437 1\u0447 16\u043c \u043f\u043e\u0441\u043b\u0435 2.21.4. \u041d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 hotfix, \u0438 \u043a\u0430\u0436\u0435\u0442\u0441\u044f \u0447\u0442\u043e \u043f\u043e\u043f\u0430\u0434\u0438 Watchtower \u0432 \u043e\u043a\u043d\u043e \u043f\u043e\u0441\u043b\u0435 \u043d\u0435\u0433\u043e, \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u0430 \u0431\u044b \u043d\u0435 \u0431\u044b\u043b\u043e. \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043b release notes 2.22.0: \u044d\u0442\u043e \u043f\u043b\u0430\u043d\u043e\u0432\u044b\u0439 \u043c\u0438\u043d\u043e\u0440\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 \u0441 \u0444\u0438\u0447\u0430\u043c\u0438 (NVIDIA Nemotron, Crypto encrypt\/decrypt, Snowflake OAuth2, security-\u0444\u0438\u043a\u0441\u044b vm2\/protobufjs). Strict-check \u0434\u043b\u044f \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u0432\u00a0n8n-nodes-base\u00a0\u0432 2.22.0\u00a0\u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u043e\u0442\u043a\u0430\u0442\u044b\u0432\u0430\u043b. \u0422\u043e \u0435\u0441\u0442\u044c \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0431\u044b Watchtower \u043f\u043e\u043f\u0430\u043b \u0432 \u043e\u043a\u043d\u043e \u043f\u043e\u0441\u043b\u0435 2.22.0, \u043c\u044b \u0431\u044b \u0443\u043f\u0430\u043b\u0438 \u0440\u043e\u0432\u043d\u043e \u0442\u0430\u043a \u0436\u0435. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0439 fix &#8212; \u043f\u043e\u0447\u0438\u043d\u0438\u0442\u044c \u043f\u0440\u0438\u0447\u0438\u043d\u0443 \u0432 volume \u0443 \u0441\u0435\u0431\u044f, \u0447\u0442\u043e \u043c\u044b \u0438 \u0441\u0434\u0435\u043b\u0430\u043b\u0438.\u0427\u0442\u043e \u0432\u0438\u0434\u0435\u043b \u044e\u0437\u0435\u0440\u0412 \u0430\u0434\u043c\u0438\u043d\u043a\u0435 &#8212;\u00a0TypeError: Failed to fetch\u00a0\u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u043a \u0432\u0435\u0431\u0445\u0443\u043a\u0443. \u041d\u0430\u0440\u0443\u0436\u043d\u044b\u0439 curl:GET  https:\/\/n8n.example.ru\/webhook\/admin-orders   \u2192 HTTP 502GET  https:\/\/n8n.example.ru\/webhook\/order-status   \u2192 HTTP 502GET  https:\/\/aiseen.ru\/                            \u2192 HTTP 200\u041b\u0435\u043d\u0434\u0438\u043d\u0433 \u0436\u0438\u0432\u043e\u0439, n8n \u0443\u043c\u0435\u0440, nginx-proxy \u043f\u0435\u0440\u0435\u0434 \u043d\u0438\u043c \u043e\u0442\u0434\u0430\u0451\u0442 502 \u043d\u0430 \u0432\u0441\u0451.\u00a0\u042e\u0437\u0435\u0440 \u043d\u0430 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u0443\u0432\u0438\u0434\u0435\u043b \u0431\u044b \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0430\u0439\u0442, \u0432 \u0430\u0434\u043c\u0438\u043d\u043a\u0435 &#8212; \u043f\u043e\u043b\u043e\u043c\u0430\u043d\u043d\u043e. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0441\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043d\u0435 \u0447\u0435\u0440\u0435\u0437 5 \u043c\u0438\u043d\u0443\u0442, \u0430 \u0447\u0435\u0440\u0435\u0437 3 \u0447\u0430\u0441\u0430, \u043a\u043e\u0433\u0434\u0430 \u0432 \u0430\u0434\u043c\u0438\u043d\u043a\u0443 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u0437\u0430\u0433\u043b\u044f\u043d\u0443\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0441\u0432\u0435\u0436\u0438\u0445 \u0437\u0430\u043a\u0430\u0437\u043e\u0432 (\u043f\u043e\u0432\u0435\u0437\u043b\u043e, \u0447\u0442\u043e \u0438\u0445 \u043d\u0435 \u0431\u044b\u043b\u043e&#8230;).5 \u043c\u0438\u043d\u0443\u0442 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0438\u0428\u0430\u0433 1 &#8212;\u00a0docker compose psSERVICE   STATUS                &#8230;n8n       Up 16 seconds         \u2190 \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u00ab\u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e \u043f\u043e\u0434\u043d\u044f\u043b\u0441\u044f\u00bb, \u043d\u043e webhook&#8217;\u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0442 \u043f\u0430\u0434\u0430\u0442\u044c. \u0417\u043d\u0430\u0447\u0438\u0442 \u043e\u043d \u0441\u0442\u0430\u0440\u0442\u0443\u0435\u0442, \u0447\u0435\u0440\u0435\u0437 \u0441\u0435\u043a\u0443\u043d\u0434\u044b \u043f\u0430\u0434\u0430\u0435\u0442, \u0438\u00a0restart: unless-stopped\u00a0\u0435\u0433\u043e \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u0435\u0442 \u0437\u0430\u043d\u043e\u0432\u043e. \u041a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 crash-loop, \u0431\u0435\u0437 error \u0432\u00a0compose ps\u00a0(\u0434\u043b\u044f compose \u00ab\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u0440\u0435\u0441\u0442\u0430\u0440\u0442\u0438\u0442\u0441\u044f\u00bb = \u0432\u0430\u043b\u0438\u0434\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435).\u041e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u043b\u043e\u0432\u0443\u0448\u043a\u0430 &#8212; \u044d\u0442\u043e\u0442 crash-loop\u00a0\u043d\u0435 \u0441\u0432\u0435\u0442\u0438\u043b\u0441\u044f \u043d\u0430 VPS-\u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0435 Beget. \u0413\u0440\u0430\u0444\u0438\u043a\u0438 CPU \u0437\u0430 \u0441\u0443\u0442\u043a\u0438 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u0440\u043e\u0432\u043d\u044b\u0439 100% idle: n8n \u043f\u0430\u0434\u0430\u043b \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0447\u0435\u043c \u0443\u0441\u043f\u0435\u0432\u0430\u043b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443. \u041d\u0438\u043a\u0430\u043a\u0438\u0445 \u0432\u0441\u043f\u043b\u0435\u0441\u043a\u043e\u0432 user\/system. Hosting-\u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0442\u0430\u043a\u0438\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u0432\u0438\u0434\u0438\u0442 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u0441\u043b\u0435\u043f\u043e &#8212; \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043f\u0438\u043a \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0443\u0442\u0440\u043e\u043c, \u043a\u043e\u0433\u0434\u0430 n8n \u0443\u0436\u0435 \u043f\u043e\u0434\u043d\u044f\u043b\u0438 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043f\u043e\u0441\u043b\u0435 fix&#8217;\u0430.\u0428\u0430\u0433 2 &#8212; \u043b\u043e\u0433\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430docker compose logs n8n &#8212;tail 50\u0412\u044b\u0432\u043e\u0434 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442\u0441\u044f \u0432 \u0446\u0438\u043a\u043b\u0435:n8n-app  | Initializing n8n processn8n-app  | Error: Node loader n8n-nodes-base is already registered.n8n-app  |     at LoadNodesAndCredentials.init (\/usr\/local\/lib\/node_modules\/n8n\/src\/load-nodes-and-credentials.ts:111:11)n8n-app  |     at Start.init (\/usr\/local\/lib\/node_modules\/n8n\/src\/commands\/base-command.ts:124:3)n8n-app  | Exiting due to an error.n8n-app  | Last session crashedn8n-nodes-base\u00a0&#8212; \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u043f\u0430\u043a\u0435\u0442 n8n \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c\u0438 \u043d\u043e\u0434\u0430\u043c\u0438 (HTTP Request, Postgres, Code, \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435). \u0412 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u0438 \u0435\u0433\u043e \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442 \u0441\u043d\u0430\u0440\u0443\u0436\u0438 \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c. \u041e\u0448\u0438\u0431\u043a\u0430\u00a0already registered\u00a0\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0447\u0442\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u043d\u0430\u0448\u0451\u043b \u0435\u0433\u043e \u0434\u0432\u0430\u0436\u0434\u044b: \u043e\u0434\u0438\u043d \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0432 \u043e\u0431\u0440\u0430\u0437 + \u043e\u0434\u0438\u043d \u0433\u0434\u0435-\u0442\u043e \u0435\u0449\u0451.\u0428\u0430\u0433 3 &#8212; \u0432\u0435\u0440\u0441\u0438\u044f \u0438 \u0432\u0440\u0435\u043c\u044f \u0430\u043f\u0434\u0435\u0439\u0442\u0430docker exec n8n-app n8n &#8212;version# \u2192 2.21.4docker inspect n8nio\/n8n:latest &#8212;format &#8216;Image Created: {{.Created}}&#8217;# \u2192 Image Created: 2026-05-19T10:32:37Zdocker inspect n8n-app &#8212;format &#8216;Container Started: {{.State.StartedAt}}&#8217;# \u2192 Container Started: 2026-05-20T05:52:31Z (\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0440\u0435\u0441\u0442\u0430\u0440\u0442 \u0446\u0438\u043a\u043b\u0430)\u0412\u0435\u0440\u0441\u0438\u044f &#8212;\u00a02.21.4. \u0414\u043e \u044d\u0442\u043e\u0433\u043e \u043a\u0440\u0443\u0442\u0438\u043b\u0430\u0441\u044c 2.20.x. \u0420\u0443\u0447\u043d\u044b\u0445\u00a0docker pull\u00a0\u043d\u043e\u0447\u044c\u044e \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0434\u0435\u043b\u0430\u043b, \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043e\u0434\u0438\u043d &#8212; Watchtower \u043f\u043e \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u044e. \u0418\u0434\u0451\u043c \u043a \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u043f\u0440\u0438\u0447\u0438\u043d\u0435 \u043a\u0440\u044d\u0448\u0430.\u0428\u0430\u0433 4 &#8212; \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 volumels -la \/var\/lib\/docker\/volumes\/n8n-stack_n8n_data\/_data\/nodes\/# n8n-nodes-base-1.14.1.tgz       \u2190 5.4 MB, mtime: Sep  2  2025  \u26a0\ufe0f# node_modules\/# package.jsonls \/var\/lib\/docker\/volumes\/n8n-stack_n8n_data\/_data\/nodes\/node_modules\/# @apify\/# @tavily\/# n8n-nodes-telegram-mtproto\/# @telepilotco\/# n8n-nodes-base\/                  \u2190 \u26a0\ufe0f \u0414\u0423\u0411\u041b\u0418\u041a\u0410\u0422 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0433\u043e, \u041d\u0415 \u0432 package.jsonpackage.json:{  &#171;name&#187;: &#171;installed-nodes&#187;,  &#171;private&#187;: true,  &#171;dependencies&#187;: {    &#171;@tavily\/n8n-nodes-tavily&#187;: &#171;0.2.5&#187;,    &#171;n8n-nodes-telegram-client-api&#187;: &#171;0.1.0&#187;,    &#171;n8n-nodes-telegram-mtproto&#187;: &#171;0.1.19&#187;,    &#171;@telepilotco\/n8n-nodes-telepilot&#187;: &#171;0.5.2&#187;,    &#171;@apify\/n8n-nodes-apify&#187;: &#171;0.6.5&#187;  }}n8n-nodes-base\u00a0\u0432\u00a0dependencies\u00a0\u043d\u0435\u0442, \u043d\u043e \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438 \u043b\u0435\u0436\u0438\u0442 \u0432\u00a0node_modules\/. mtime \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f 2025 &#8212; \u043e\u043a\u043e\u043b\u043e 8 \u043c\u0435\u0441\u044f\u0446\u0435\u0432. \u042d\u0442\u043e \u043e\u0441\u0438\u0440\u043e\u0442\u0435\u0432\u0448\u0438\u0439 \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442 \u043e\u0442 \u0441\u0442\u0430\u0440\u043e\u0439 \u0440\u0443\u0447\u043d\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438. \u041a\u043e\u0440\u043d\u0435\u0432\u0430\u044f \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u043d\u0430\u0439\u0434\u0435\u043d\u0430 \u0437\u0430 5 \u043c\u0438\u043d\u0443\u0442.\u041a\u043e\u0440\u043d\u0435\u0432\u0430\u044f \u043f\u0440\u0438\u0447\u0438\u043d\u0430 &#8212; strict-check \u0432 2.21.4\u0414\u043e 2.21.4 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a community-nodes \u043f\u0440\u0438 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438\u00a0~\/.n8n\/nodes\/node_modules\/\u00a0\u043d\u0430\u0445\u043e\u0434\u0438\u043b \u0442\u0430\u043c \u043f\u0430\u043a\u0435\u0442\u00a0n8n-nodes-base\u00a0\u0438\u00a0\u043c\u043e\u043b\u0447\u0430 \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u043b\u00a0(\u0438\u043c\u044f \u0443\u0436\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e \u0438\u0437 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0437\u0430). \u0412 2.21.4 silent skip \u0437\u0430\u043c\u0435\u043d\u0438\u043b\u0438 \u043d\u0430 \u044f\u0432\u043d\u0443\u044e \u043e\u0448\u0438\u0431\u043a\u0443\u00a0already registered. \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u0443\u043c\u043d\u043e\u0435 (silent skip \u0441\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u044b), \u043d\u043e \u043e\u043d\u043e \u043b\u043e\u043c\u0430\u0435\u0442 \u043b\u044e\u0431\u044b\u0435 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u0438 \u0433\u0434\u0435 \u0442\u0430\u043a\u043e\u0439 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442 \u043d\u0430\u043a\u043e\u043f\u0438\u043b\u0441\u044f \u0438\u0437 \u0440\u0443\u0447\u043d\u044b\u0445 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432. \u0412 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u043c changelog 2.21.4 \u044d\u0442\u043e \u044f\u0432\u043d\u043e \u043d\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043e, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u043f\u043e\u0431\u043e\u0447\u043d\u044b\u0439 \u044d\u0444\u0444\u0435\u043a\u0442 \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0430.\u041f\u0430\u043a\u0435\u0442 \u0432 volume &#8212;\u00a0n8n-nodes-base-1.14.1, \u043e\u0447\u0435\u043d\u044c \u0441\u0442\u0430\u0440\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f 2022 \u0433\u043e\u0434\u0430. \u041a\u0442\u043e-\u0442\u043e \u0432 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u0435 2025 \u0437\u0430\u043a\u0430\u0442\u0438\u043b \u0435\u0433\u043e \u043f\u0440\u044f\u043c\u044b\u043c\u00a0npm install\u00a0\u0432\u00a0~\/.n8n\/nodes\/\u00a0&#8212; \u0434\u0430\u0443\u043d\u0433\u0440\u0435\u0439\u0434, \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442, \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0435 \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u0442\u044c. \u041c\u0438\u043d\u0430 \u043b\u0435\u0436\u0430\u043b\u0430 8 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0438 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u0440\u043e\u0432\u043d\u043e \u043a\u043e\u0433\u0434\u0430 auto-update \u0441\u0434\u0435\u043b\u0430\u043b strict-check. \u042d\u0442\u043e \u0438 \u0435\u0441\u0442\u044c \u043c\u0435\u0442\u0430-\u0443\u0440\u043e\u043a: \u0443\u043a\u0443\u0441\u0438\u043b\u043e \u043d\u0435 \u0441\u0430\u043c\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435, \u0430\u00a0\u0445\u0432\u043e\u0441\u0442\u044b \u043e\u0442 \u0441\u0442\u0430\u0440\u044b\u0445 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432. Auto-update \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430\u0436\u0430\u043b \u043d\u0430 \u0441\u043f\u0443\u0441\u043a\u043e\u0432\u043e\u0439 \u043a\u0440\u044e\u0447\u043e\u043a.50 \u0441\u0435\u043a\u0443\u043d\u0434 fix\u041f\u0440\u0438\u043d\u0446\u0438\u043f &#8212; \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\u0435 \u0432\u043c\u0435\u0448\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e. \u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u0443\u044e\u0449\u0438\u0439 \u043f\u0430\u043a\u0435\u0442, \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 4 community-nodes (\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438 \u043d\u0430 \u044d\u0442\u043e\u043c n8n) &#8212; \u043d\u0435 \u0442\u0440\u043e\u0433\u0430\u0442\u044c.# 1. Backup \u043d\u0430 \u0441\u043b\u0443\u0447\u0430\u0439 \u043e\u0442\u043a\u0430\u0442\u0430mkdir -p \/root\/backupstar czf \/root\/backups\/n8n-nodes-base-conflict-$(date +%Y%m%d-%H%M).tar.gz \\  -C \/var\/lib\/docker\/volumes\/n8n-stack_n8n_data\/_data\/nodes \\  n8n-nodes-base-1.14.1.tgz node_modules\/n8n-nodes-base# 2. \u041e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c n8ncd \/opt\/n8n-stack &amp;&amp; docker compose stop n8n# 3. \u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0422\u041e\u041b\u042c\u041a\u041e \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u0443\u044e\u0449\u0438\u0435 \u0444\u0430\u0439\u043b\u044brm \/var\/lib\/docker\/volumes\/n8n-stack_n8n_data\/_data\/nodes\/n8n-nodes-base-1.14.1.tgzrm -rf \/var\/lib\/docker\/volumes\/n8n-stack_n8n_data\/_data\/nodes\/node_modules\/n8n-nodes-base# 4. \u041f\u043e\u0434\u043d\u044f\u0442\u044cdocker compose up -d n8n\u0421 \u043c\u043e\u043c\u0435\u043d\u0442\u0430\u00a0docker compose stop n8n\u00a0\u0434\u043e \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0441\u0442\u0430\u0440\u0442\u0430 (\u043a\u043e\u0433\u0434\u0430 n8n \u0443\u0436\u0435 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u043d\u0430 webhook&#8217;\u0438) &#8212;\u00a050 \u0441\u0435\u043a\u0443\u043d\u0434. \u0421\u0430\u043c fix \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u043a\u043e\u0440\u043e\u0447\u0435 \u0447\u0435\u043c \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0430.\u0427\u0442\u043e \u041d\u0415 \u0434\u0435\u043b\u0430\u043b\u0438 \u0438 \u043f\u043e\u0447\u0435\u043c\u0443\u0421\u043e\u0431\u043b\u0430\u0437\u043d \u00ab\u043e\u0431\u043d\u0443\u043b\u0438\u0442\u044c \u0432\u0441\u0451 \u0438 \u043f\u0435\u0440\u0435\u0441\u043e\u0437\u0434\u0430\u0442\u044c\u00bb \u043f\u0440\u0438 crash-loop \u0431\u043e\u043b\u044c\u0448\u043e\u0439. \u041d\u0435 \u0434\u0435\u043b\u0430\u043b\u0438\u00a0docker compose down -v\u00a0(\u0441\u043d\u0451\u0441 \u0431\u044b volume \u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u044e executions \u0441 bin-\u0430\u0442\u0442\u0430\u0447\u0430\u043c\u0438), \u043d\u0435 \u0441\u043d\u043e\u0441\u0438\u043b\u0438\u00a0nodes\/\u00a0\u0446\u0435\u043b\u0438\u043a\u043e\u043c (\u0442\u0430\u043c 4 \u0440\u0430\u0431\u043e\u0447\u0438\u0445 community-\u043d\u043e\u0434\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432), \u043d\u0435 \u043f\u0438\u043d\u0438\u043b\u0438 \u0432\u0435\u0440\u0441\u0438\u044e \u043d\u0430 2.20.x (\u044d\u0442\u043e \u043b\u0435\u0447\u0438\u0442 \u0441\u0438\u043c\u043f\u0442\u043e\u043c, \u043c\u0438\u043d\u0430 \u0432 volume \u043e\u0441\u0442\u0430\u043b\u0430\u0441\u044c \u0431\u044b \u0434\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u043c\u0430\u0436\u043e\u0440\u0430). \u041e\u0442\u043a\u0430\u0442 \u0447\u0435\u0440\u0435\u0437\u00a0docker tag\u00a0\u0442\u043e\u0436\u0435 \u043d\u0435 \u0434\u0435\u043b\u0430\u043b\u0438 &#8212;\u00a0&#8212;cleanup\u00a0Watchtower&#8217;\u0430 \u0443\u0436\u0435 \u0443\u0434\u0430\u043b\u0438\u043b \u0441\u0442\u0430\u0440\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e, \u0430 re-pull \u0438\u0437 registry \u0437\u0430\u043d\u044f\u043b\u043e \u0431\u044b \u0434\u043e\u043b\u044c\u0448\u0435 \u0447\u0435\u043c \u0442\u043e\u0447\u0435\u0447\u043d\u044b\u0439 fix.\u0412 production-\u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u0430\u0445 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0432\u043c\u0435\u0448\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u043e\u0431\u043d\u0443\u043b\u0435\u043d\u0438\u044f. \u041a\u0430\u0436\u0434\u043e\u0435 \u043b\u0438\u0448\u043d\u0435\u0435 \u00ab\u0441\u043d\u0435\u0441\u0451\u043c, \u043f\u043e\u0442\u043e\u043c \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u043c\u0441\u044f\u00bb &#8212; \u044d\u0442\u043e \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0435\u0449\u0451 \u043e\u0434\u0438\u043d \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442 \u0441\u0432\u0435\u0440\u0445\u0443.\u0422\u0440\u0438\u0430\u0434\u0430 \u0440\u0438\u0441\u043a\u0430:\u00a0:latest\u00a0+ Watchtower +\u00a0&#8212;cleanupWatchtower \u0443 \u043d\u0430\u0441 \u0437\u0430\u043f\u0443\u0449\u0435\u043d \u0442\u0430\u043a:watchtower:  image: containrrr\/watchtower  command: &#8212;schedule &#171;0 0 3 * * *&#187; &#8212;cleanup  volumes:    &#8212; \/var\/run\/docker.sock:\/var\/run\/docker.sock\u0412\u0430\u0436\u043d\u0430\u044f \u0434\u0435\u0442\u0430\u043b\u044c \u0432 \u043b\u043e\u0433\u0430\u0445 \u0441\u0435\u0441\u0441\u0438\u0438 20 \u043c\u0430\u044f &#8212;\u00a0Session done Failed=0 Scanned=14 Updated=5. \u0414\u043b\u044f Watchtower&#8217;\u0430 \u00ab\u0443\u0441\u043f\u0435\u0445\u00bb = \u00ab\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0441\u043e\u0437\u0434\u0430\u043d \u0438 \u0437\u0430\u043f\u0443\u0449\u0435\u043d \u0447\u0435\u0440\u0435\u0437 docker run\u00bb&#8230;.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-480426","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/480426","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=480426"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/480426\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=480426"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=480426"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=480426"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}