Оновив Portainer однією кнопкоюЯ вже не раз розповідав, як влаштований мій homelab: є сервер на
Umbrel, на ньому
Portainer, а в Portainer крутяться мої саморобні сервіси,
Bankoscan,
Дрони на районі і тд.
Якось ото сиджу, фіксаю шось у дронах (а там завжди є шо пофіксити), і докручую моніторинг. Аж тут вилазить помилка, і агент пропонує оновити Portainer в якості фіксу.
Оновити його просто, бо в мене ж Umbrel (якщо не знали, це такий user-friendly Linux, який має свій App Store, де застосунки встановлюють і оновлюють кнопкою).
Зайшов на Umbrel, дійсно є пропозиція оновитись, тицьнув кнопку, а далі як в анекдоті: "сиджу, колупаюсь цвяхом у вусі, і раптом бац — звук пропав".
Umbrel перестав відкриватись, а в Telegram посипались алерти: відвалився сам Umbrel, GitLab, Grafana і ще кілька сервісів. При цьому Дрони на районі спокійно працювали далі, що було дуже добре, бо якраз була тривога. Оновлюватись я все одно хочу постійно, просто інфру, мабуть, краще чіпати в тихі години, і заодно зробити її такою, шоб апдейт однією кнопкою не клав половину homelab.
Почав розбиратись, і знову проблеми з Tailscale. Старі хости в tailnet перестали відповідати, натомість зареєструвались нові з тим самим іменем, тільки з
-1 в кінці.
Виявилось, шо Umbrel запускає Portainer як
docker-in-docker, і оновлення застосунку просто перестворює цей контейнер. Переживає таке тільки його
/data, а мої стеки тримали свій state поруч, у
/home/umbrel/homelab-data, звідки його знесло. Tailscale-ноди забули, хто вони, а Prometheus втратив усю базу,
130к метрик (про це алертів не було).
Розгрібали це з агентом приблизно годину (сам я б залип на пару днів точно). Дані стеків переїхали під
/data, шоб наступне оновлення їх не чіпало, а Prometheus тепер щоночі бекапиться на TrueNAS і алертить, якщо база раптом обнулилась.
Прикольно, шо самі образи, як і дашборди Grafana, при цьому нікуди не ділись, схоже, бо лежали якраз у
/data. Але осадочок, як кажуть, лишився.
Чому це сталось? Бо для моїх потреб ванільного Umbrel недостатньо. Мої смаки доволі специфічні, і не налазять на opinionated конфіг Umbrel, насамперед на конфігурацію Tailscale. Тому коли шось оновлюється, дефолти перезатираються і перед очами постає мем "oh shit here we go again".
Схожа історія в мене була з TrueNAS, де також є можливість "просто" ставити апки. Там одна з них посередині апдейту розгубилась і в результаті не можна було ні відкотити, ні накатити. Я декілька разів пробував це полагодити з консолі, і все безрезультатно. Аж поки не натравив туди
Claude Code, який за 5 хвилин підняв усе.
Тож з Umbrel, схоже, треба валити. Поставити собі якогось
Debian, і горя не знати. Бо головна перевага Umbrel — його простота і UIшність — для мене не працює: все там я роблю через
ssh, та і не я роблю, а агент.
З вас лайк та історія, як у вас апдейт однією кнопкою поклав прод 🙂 Або порадьте, шо можна взяти замість Umbrel (його оновлення, якщо шо, досі висить)