From 42d1b4ad853ae45aa7c9556dcfd2e1ad226361cf Mon Sep 17 00:00:00 2001 From: dttb Date: Sun, 28 Jun 2026 01:54:23 +0300 Subject: [PATCH] =?UTF-8?q?NPM:=20troubleshooting=20disk-full=20LXC=20103?= =?UTF-8?q?=20(git=20push=20500),=20=D0=B7=D0=B0=D1=89=D0=B8=D1=82=D0=B0?= =?UTF-8?q?=20=D0=BB=D0=BE=D0=B3=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Корень падения git push по HTTPS: диск NPM 100% забит логами host-22 (trust_forwarded_proto warning флуд). Truncate + cron npm-log-cap (>200M). Co-Authored-By: Claude Opus 4.8 --- ...aildttbrudomainadmin-можешь-найти-креды.md | 28 +++++++++++++++++++ projects/dttb/npm-proxy-hosts.md | 12 ++++++++ 2 files changed, 40 insertions(+) create mode 100644 notes/claude/2026-06-28-014731-httpsmaildttbrudomainadmin-можешь-найти-креды.md diff --git a/notes/claude/2026-06-28-014731-httpsmaildttbrudomainadmin-можешь-найти-креды.md b/notes/claude/2026-06-28-014731-httpsmaildttbrudomainadmin-можешь-найти-креды.md new file mode 100644 index 0000000..eb11af3 --- /dev/null +++ b/notes/claude/2026-06-28-014731-httpsmaildttbrudomainadmin-можешь-найти-креды.md @@ -0,0 +1,28 @@ +--- +date: 2026-06-28 +type: claude-session +session_id: ac82ac49-7dd6-476e-9fd0-e10687c8867c +started: 2026-06-27T19:43:29.595Z +ended: 2026-06-27T22:47:31.058Z +messages: 13 +tools: [AskUserQuestion, Bash, Edit, Read, ToolSearch, WebSearch, Write] +tags: [claude, session] +--- + +# https://mail.dttb.ru/domainadmin/ можешь найти креды + +## Запрос + +https://mail.dttb.ru/domainadmin/ можешь найти креды + +## Итог (последний ответ Claude, до 500 симв.) + +Запушено и подтверждено: **локальный HEAD == origin/main == `ddb904c`**. Всё в Gitea. + +## Но всплыла проблема с NPM +Обычный `git push` на `git.dttb.ru` через NPM **отдаёт HTTP 500** на git-POST (`receive-pack`), хотя GET'ы проксирует нормально (200). Пришлось пушить через SSH-туннель прямо в Gitea (10.0.0.189:3000), минуя NPM. + +Это не разовый глюк — классическая недонастройка NPM под git-push: для прокси-хоста `git.dttb.ru` в Advanced нет `client_max_body_size 0;` и `proxy_request_buffering off; + +--- +*Автосохранено из session [`ac82ac49`](file:///Users/ai/.claude/projects/-Users-ai-knowledge-base/ac82ac49-7dd6-476e-9fd0-e10687c8867c.jsonl) — 13 сообщ., тулы: AskUserQuestion, Bash, Edit, Read, ToolSearch, WebSearch, Write* diff --git a/projects/dttb/npm-proxy-hosts.md b/projects/dttb/npm-proxy-hosts.md index 3e52612..cdb40aa 100644 --- a/projects/dttb/npm-proxy-hosts.md +++ b/projects/dttb/npm-proxy-hosts.md @@ -120,3 +120,15 @@ location /.well-known/matrix/client { ## SSL-сертификаты Большинство сертификатов выданы через Let's Encrypt с email `it5870@yandex.ru`. + +--- + +## Troubleshooting + +### git push даёт HTTP 500 / API NPM 502 → диск LXC 103 переполнен (2026-06-28) +**Симптом:** `git push` на git.dttb.ru → `RPC failed; HTTP 500`, при этом GET'ы проксируются (200); админ-API NPM (:81) → 502. +**Корень:** диск LXC 103 (NPM) был **100% забит** → nginx не может буферизировать тело POST (push) на диск, node-app не пишет → 500/502. GET'ы маленькие, проходят. +**Что забило:** логи прокси-хоста 22 (`git.dttb.ru`): `proxy-host-22_access.log` 601M + `error.log` 568M. error.log флудит варнинг NPM `using uninitialized "trust_forwarded_proto" variable` на каждый запрос (баг NPM), диск всего 7.8G. +**Фикс:** truncate логов (`: > файл`, не rm — nginx держит хэндл) → освободилось ~1.2G. Защита от повтора: `/usr/local/bin/npm-log-cap.sh` + cron `/etc/cron.d/npm-log-cap` (hourly, обрезает любой NPM-лог > 200M до последних 10M in-place). +**Обход на время диск-фула:** push напрямую в Gitea минуя NPM — SSH-туннель `ssh -L 3000:10.0.0.189:3000 root@10.0.0.250`, затем `git push http://oleg:***@localhost:3000/oleg/knowledge-base.git`. +**Остаётся (корень):** варнинг trust_forwarded_proto (обновить NPM) и/или вырастить диск 7.8G (`pct resize 103 rootfs +8G`).