<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Накодил</title><description>AI-разработка, которая доезжает до продакшна: инфраструктура, деплой, эксплуатация. И то, что не доехало.</description><link>https://nakodil.net/</link><language>ru</language><item><title>Четырнадцать бэкапов на той же машине, что и данные</title><link>https://nakodil.net/grabli/bekapy-na-toy-zhe-mashine-eto-ne-bekapy/</link><guid isPermaLink="true">https://nakodil.net/grabli/bekapy-na-toy-zhe-mashine-eto-ne-bekapy/</guid><description>Ротация настроена, копии снимаются по расписанию, восстановление проверено. И всё это исчезнет одним движением вместе с виртуалкой.</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate><category>бэкапы</category><category>эксплуатация</category><category>риски</category></item><item><title>docker compose restart не перечитывает .env</title><link>https://nakodil.net/grabli/docker-compose-restart-ne-chitaet-env/</link><guid isPermaLink="true">https://nakodil.net/grabli/docker-compose-restart-ne-chitaet-env/</guid><description>Поменяли переменную, перезапустили контейнер — работает по-старому. Restart не пересоздаёт контейнер, а переменные окружения задаются только при создании.</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate><category>docker</category><category>деплой</category><category>конфигурация</category></item><item><title>nginx в контейнере не видит правку конфига, хотя файл смонтирован</title><link>https://nakodil.net/grabli/nginx-reload-ne-vidit-pravku-v-bind-mount/</link><guid isPermaLink="true">https://nakodil.net/grabli/nginx-reload-ne-vidit-pravku-v-bind-mount/</guid><description>reload перечитывает конфиг, но не всегда тот, который вы правили. Разбор, почему bind-mount ведёт себя не так, как ожидается.</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate><category>docker</category><category>nginx</category><category>деплой</category></item><item><title>npm из портативного Node падает с MODULE_NOT_FOUND</title><link>https://nakodil.net/grabli/portable-node-bez-node-modules/</link><guid isPermaLink="true">https://nakodil.net/grabli/portable-node-bez-node-modules/</guid><description>Дистрибутив Node распакован без node_modules: обёртки npm и npx на месте, кода за ними нет. Лечится за минуту, ищется полчаса.</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate><category>node</category><category>windows</category><category>инструменты</category></item><item><title>Правка PHP не видна на сервере, и дело не в opcache</title><link>https://nakodil.net/grabli/pravka-php-ne-vidna-delo-ne-v-opcache/</link><guid isPermaLink="true">https://nakodil.net/grabli/pravka-php-ne-vidna-delo-ne-v-opcache/</guid><description>Первое подозрение всегда падает на кэш байткода. В половине случаев виноват владелец файла, и лечится это не перезапуском.</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate><category>php</category><category>битрикс</category><category>деплой</category></item><item><title>Sandbox-ключ в production отвергается намеренно, а выглядит как поломка</title><link>https://nakodil.net/grabli/sandbox-klyuch-v-production-otvergaetsya-namerenno/</link><guid isPermaLink="true">https://nakodil.net/grabli/sandbox-klyuch-v-production-otvergaetsya-namerenno/</guid><description>Интеграция авторизуется в тесте и не авторизуется на стенде с production-настройкой. Это не баг конфигурации, а защита, которая работает как задумано.</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate><category>интеграции</category><category>окружения</category><category>деплой</category></item><item><title>События телефонии приходят не в том порядке, в каком случились</title><link>https://nakodil.net/grabli/sobytiya-telefonii-prihodyat-vne-poryadka/</link><guid isPermaLink="true">https://nakodil.net/grabli/sobytiya-telefonii-prihodyat-vne-poryadka/</guid><description>Звонок завершился раньше, чем начался. Вебхуки идут параллельно и обгоняют друг друга, а состояние в CRM собирается по последнему пришедшему.</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate><category>телефония</category><category>интеграции</category><category>вебхуки</category></item><item><title>Три часовых пояса в одном звонке</title><link>https://nakodil.net/grabli/tri-chasovyh-poyasa-v-odnom-zvonke/</link><guid isPermaLink="true">https://nakodil.net/grabli/tri-chasovyh-poyasa-v-odnom-zvonke/</guid><description>Провайдер отдаёт UTC, сервер живёт в своём поясе, клиент смотрит из третьего. Сходится это только если хранить одно, а конвертировать на выводе.</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate><category>телефония</category><category>время</category><category>интеграции</category></item><item><title>VM не стартует из официального образа: он UEFI, а машина на SeaBIOS</title><link>https://nakodil.net/grabli/vm-ne-startuet-uefi-obraz-na-seabios/</link><guid isPermaLink="true">https://nakodil.net/grabli/vm-ne-startuet-uefi-obraz-na-seabios/</guid><description>Готовый qcow2 от вендора загружается в пустоту или уходит в UEFI Shell. Причина не в образе и не в диске — в типе прошивки виртуальной машины.</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate><category>proxmox</category><category>виртуализация</category><category>загрузка</category></item><item><title>CRM качает запись разговора без авторизации — и молча кладёт битый файл</title><link>https://nakodil.net/grabli/zapis-zvonka-ne-privyazyvaetsya-record-url/</link><guid isPermaLink="true">https://nakodil.net/grabli/zapis-zvonka-ne-privyazyvaetsya-record-url/</guid><description>Ссылка на запись есть, файл прикрепился, слушать нечего. CRM ходит за файлом сама, своим клиентом, и токен провайдера ей никто не передал.</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate><category>телефония</category><category>интеграции</category><category>crm</category></item><item><title>Накодил, часть 1: каркас за вечер и две мины по дороге</title><link>https://nakodil.net/devlog/nakodil-01-karkas/</link><guid isPermaLink="true">https://nakodil.net/devlog/nakodil-01-karkas/</guid><description>Собираю сайт, на котором вы это читаете. Astro 7, Tailwind 4, Pagefind. По пути — битый Node и несовместимый TypeScript.</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate><category>astro</category><category>node</category><category>запуск</category></item><item><title>Как устроен этот сайт</title><link>https://nakodil.net/guides/kak-ustroen-etot-sait/</link><guid isPermaLink="true">https://nakodil.net/guides/kak-ustroen-etot-sait/</guid><description>Статика на Astro, контент в git, поиск без бэкенда, раздача с собственного сервера. Разбор решений и того, чем за них платим.</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate><category>astro</category><category>архитектура</category><category>хостинг</category></item><item><title>Отката нет — значит выкат не готов</title><link>https://nakodil.net/guides/otkat-kotorogo-net/</link><guid isPermaLink="true">https://nakodil.net/guides/otkat-kotorogo-net/</guid><description>Разбор того, почему план отката пишется до выката, а не после аварии, и как отличить настоящий откат от воображаемого.</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate><category>деплой</category><category>эксплуатация</category><category>runbook</category></item></channel></rss>