Перейти к содержимому

Кейс: кодинг-агенты на Linux-коробке за €30: что реально тянет

В августе 2026 года Dan Hopwood перестал запускать кодинг-агентов на ноутбуке. Причина простая: 40-минутный прогон /build умирал вместе с закрытой крышкой. Решение — арендованная Linux-коробка за €30 в месяц, которая не выключается, а ноутбук и телефон становятся окнами в неё. В этой статье — что он взял, как настроил и где конструкция упирается.

Статья Dan Hopwood «Running coding agents on a €30 Linux box» с собственной схемой автора
Оригинальный пост, с которого разобран этот кейс. Источник: danhopwood.com, 8 сентября 2026.

Сразу про €30: это аренда, а не покупка

Первое, что сбивает с толку в заголовке: €30 — это месячная аренда VPS, а не цена железа. Автор в тексте пишет прямо: «My agents don’t run on my laptop any more. They run on a €30-a-month Linux box that never turns off» — мои агенты больше не на ноутбуке, они работают на Linux-машине за €30 в месяц, которая никогда не выключается.

Этот момент цепляет даже читателей Hacker News. В единственном комментарии под тредом пользователь pascalfenkam пишет: «Humm I had hoped it was a fully owned €30 box as opposed to another hosted monthly expense. Mini PC are quite pricey nowadays» — я надеялся, что это полностью своя коробка за €30, а не ещё один ежемесячный хостинг-расход; мини-ПК сейчас дороговаты. Люди ждут кейс «купил железку за €30 и запустил модель локально», а получают кейс «арендовал VPS и вынес туда облачных агентов».

Ветка обсуждения на Hacker News под постом
Тред HN: единственный комментарий как раз про «свою коробку вместо аренды». Источник: news.ycombinator.com, сентябрь 2026.

Кейс полезен именно этим: он отвечает не вкусовщиной, а замером — и на наболевший вопрос «зачем платить за облако, если модель влезает на мини-ПК дома».

Что взяли и почему не хостинг

Перед сборкой автор запустил шесть исследовательских агентов для сравнения готовых хостинговых продуктов и свёл 965 строк находок в один раннбук. Вердикт по пакетным продуктам оказался одинаковым.

Готовые облачные агенты (Claude Code on the web, Managed Agents от Anthropic, Codex cloud, Jules от Google) привязывают сессию к одному GitHub-репозиторию и одному вендору. А работе автора нужны 13 репозиториев, которые читают друг друга, 16 MCP-серверов (Gmail, Linear, Slack, браузер) и CLI нескольких вендоров, нацеленные на одни и те же файлы. Ни один продукт этого не видит целиком.

У облачных dev-сред, наоборот, проблема обратная — они спроектированы выключаться. Codespaces засыпает после 30 минут простоя, E2B ограничивает сессию 24 часами, а тот, что остаётся бодрым (Sprites), стоит около $460 в месяц. Простой VPS с вчетверо большим объёмом памяти — €30.

Итоговый выбор: VPS у Netcup, 12 ядер, 32 ГБ RAM, без минимального срока.

Репозиторий dhpwd/cloud-box с build-скриптами для постоянной коробки
Скрипты сборки и shell-хелперы выложены автором под MIT. Источник: github.com/dhpwd/cloud-box.

Стек: коробка первична, ничего не синхронизируется

Ментальная модель, от которой зависит всё остальное: на ноутбуке не запускается ничего. Дерево процессов живёт на коробке, устройства к нему подключаются и отключаются.

Слой Что используют Зачем
Хост VPS Netcup, 12 ядер, 32 ГБ, €30/мес Коробка, которая не выключается
Сеть Tailscale, без публичных портов Приватная сеть для ноутбука и телефона; SSH-периметр не «закрывают», а убирают
Транспорт mosh SSH, переживающий смену IP, сон и вайфай в аэропорту
Постоянство tmux, по сессии на проект Экран никуда не девается, к нему просто присоединяются заново
Конфиг git-репозиторий + 1Password Всё в ~/.claude (скиллы, агенты, настройки) в dotfiles-репо; секреты из сервис-аккаунта 1Password
Телефон Termius + Tailscale Та же tmux-сессия, что и на ноутбуке
Браузер Playwright MCP Headless Chromium, которым агенты тестируют собранное, с залогиненным профилем

Ключевой дизайн-выбор важнее любого слоя: коробка первична и ничего не синхронизируется. Соблазнительный вариант — ноутбук как основной с синхронизацией (Mutagen, Syncthing) — ломается, когда агенты одновременно правят незакоммиченные файлы с обеих сторон. Поэтому правило одно: только git-backed работа и commit + push перед сменой машины. «If it isn’t in git, it doesn’t exist on the laptop»: чего нет в git, того на ноутбуке нет.

Установка и запуск

Ниже — фрагменты, собранные из cloud-box (инсталляционный порядок — в README репозитория):

# 1. приватная сеть без публичных портов
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up --ssh

# 2. транспорт, переживающий смену IP и сон
sudo apt install mosh tmux
mosh box            # зайти на коробку из любой сети

# 3. одна tmux-сессия на проект
tmux new -s project_orion
claude              # агент живёт, пока живёт tmux

# 4. unattended-джобы через супервизор
claude agents       # каждый джоб — в своём worktree, флот и статус PR видно из любого логина
Схема конфигурации: устройства — окна в коробку
Собственная схема по материалам кейса: ноутбук и телефон подключаются к VPS через Tailscale, агенты живут в tmux. Источник данных: danhopwood.com.
Терминал с командами настройки постоянной коробки
Собственная схема: команды настройки net/tmux и правило sizing по памяти. Источник данных: cloud-box и текст кейса.

Результаты замеров: сколько тянет железо

Главный числовой результат — не скорость токенов, а потребление памяти на сессию. Автор пишет: «once one Claude Code session is running, each extra one adds ~200MB, plus whatever its own MCP servers need» — как только запущена одна сессия Claude Code, каждая следующая добавляет примерно 200 МБ, плюс то, что нужно её собственным MCP-серверам.

Что мерят Значение Источник
Стоимость коробки €30/мес (VPS Netcup, 12 ядер/32 ГБ) danhopwood.com
Прирост RAM на сессию ~200 МБ на сессию + её MCP-серверы danhopwood.com
Минимум памяти 16 ГБ «с запасом достаточно» danhopwood.com
Для чего автор взял 32 ГБ Запас + браузер danhopwood.com
Аналог в облаке на 4× меньше RAM €30 (тот же порядок цены) danhopwood.com
«Спящий» аналог на 24 ч (Sprites) ~$460/мес danhopwood.com

Важная оговорка: это VPS с облачными агентами (Claude Code, Codex, Gemini CLI), а не локальная модель. 32 ГБ нужны под процессы и MCP-серверы, а не под веса модели в VRAM. Вопрос «дешёвая коробка против дешёвой модели на ноутбуке» решается здесь не квантизацией, а архитектурой: считать на арендованном железе.

Чем это отличается от локальной модели на ноутбуке

Это разные задачи, и путаница между ними стоит денег.

Локальная модель (например, через Ollama) требует VRAM под веса — по практическому руководству Хабра, если модель не влезает в память, скорость падает в 5–30 раз. Коробка Hopwood же не считает модель вообще: она гоняет чужой инференс по подписке, а своё железо нужно только под процессы агентов и MCP.

Отсюда и ответ на разочарование из HN-треда: €30 за аренду против €30 за «свою коробку» — не одно и то же, потому что во втором случае вы вкладываетесь ещё и в GPU под модель, и в электричество. Про локальные open-weight варианты вроде GLM — в разборе «GLM-5.3 open-weight локально». Кейс Hopwood — про третью схему: железо своё, инференс чужой, но постоянно живой.

Что реально можно поручить такой коробке

Из «дня из жизни» автора вырисовывается рабочий набор:

  • Интерактивные сессии — присоединиться к tmux с любого устройства и продолжить разговор.
  • Unattended-прогоны (claude agents) — супервизор запускает каждый джоб в своём worktree, флот и статус PR видны из любого логина.
  • Always-on автоматизация: /loop и проверочные прогоны становятся круглосуточными.
  • Браузерное тестирование через Playwright MCP — работает из всех трёх CLI, потому что MCP у них общий.

Где упёрлись: честные ограничения

Автор отдельно перечисляет то, что не сработало:

  • Remote Control всё равно требует tmux. Функция claude remote-control кладёт живую сессию в iOS-приложение, но документация Anthropic советует запускать её внутри tmux или screen, чтобы пережить обрыв: это вид на телефон поверх tmux, а не замена.
  • --teleport и веб-запуск идут на машинах Anthropic — без ваших MCP-серверов и кросс-репозиторных чтений.
  • Песочница оборачивает только Bash. Встроенная песочница Claude Code ограничивает инструмент Bash, а MCP-серверы и хуки выполняются на хосте без ограничений. Работает здесь не песочница, а слой прав: auto-режим, allow-list read-only инструментов и ask-list, который притормаживает всё, что отправляет, удаляет или публикует.
  • Codex и Gemini не имеют телефонного моста. Только tmux, ничего похожего на Remote Control.
  • Gitignored .env не путешествуют. Автор переносил их руками, так что пересборка стартует без них, пока они не окажутся в 1Password.
  • Prompt injection никуда не делась. Риск с инструментом, умеющим отправить сообщение, ровно такой же, как на ноутбуке, и гасится так же. Реальную изоляцию (контейнер на джоб) автор добавит в тот день, когда unattended-джоб сам начнёт тралить недоверенный контент и выбирать себе работу.
  • И главная честность напоследок: «the research got the architecture right and the specifics wrong» — исследование дало верную архитектуру и неверные детали: у выбранного хоста не оказалось ресурсов, отвергнутое мобильное приложение оказалось нормальным, а одиннадцать секретов записались пустыми без единой ошибки.

Российские реалии

Кейс целиком построен на зарубежной инфраструктуре, и в РФ каждый слой упирается в свою стену.

  • Оплата VPS. Российские Visa и Mastercard не проходят: транзакция отклоняется на уровне BIN-кода страны эмитента ещё до проверки баланса. Рабочие схемы: сервис-посредник с оплатой в рублях по СБП, виртуальная карта с иностранным BIN, иностранная карта (Казахстан, Армения, Грузия) или отечественный хостер с зарубежными локациями и приёмом МИР вроде HOSTKEY. Разбор всех вариантов — на vc.ru (Raketa Pay).
  • Tailscale в РФ работает нестабильно. Официальный control plane уже блокировал российские IP (октябрь 2024, issue #13119), а поверх WireGuard регулярно режет РКН. Практика: self-hosted Headscale, развёрнутый за границей, работает «у любого провайдера РФ», плюс обсуждаются ZeroTier и NetBird (Habr: VPN на WireGuard).
  • Своя коробка как альтернатива аренде. Путь, о котором мечтал комментатор HN, в рунете расписан подробно: «Два года, один человек, 66 контейнеров» — AI-платформа на мини-ПК и RTX 3090 против «от 40–80 тысяч в месяц в облаке при нуле пользователей», и «Локальный AI: прагматичное руководство» — когда своё железо вообще оправдано.
  • Оплата самих агентов. Claude Code, Codex и Gemini имеют те же ограничения по входу и оплате из РФ, что и соответствующие подписки: оплата через посредников и виртуальные карты. Общий разбор бесплатных и условно бесплатных инструментов кодинга — в статье «Бесплатные инструменты агентного кодинга».

Стоит ли повторять

Если у вас один проект и ноутбук, который вы почти не закрываете, — не стоит: экономии нет, а слоёв становится больше. Коробка окупается в трёх случаях: работа идёт параллельно в нескольких репозиториях и MCP-серверах; нужны unattended-прогоны и always-on циклы; вы часто переключаетесь между устройствами и не хотите терять сессии.

Тогда €30 в месяц покупают не «вычислительную силу», а непрерывность. Это честнее, чем «агент на коробке за €30». И держите в голове две оговорки автора: песочница тут защищает только Bash, а от prompt injection через инструмент, умеющий отправлять, спасает только ручной ask-list.

Связанные статьи

Читайте также: Локальный или облачный кодинг-агент: где запускать в 2026 · Кейс: 1.7 ГБ в кеше Codex: зачем агенту полный LibreOffice

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка / 5. Количество оценок:

Оценок пока нет. Поставьте оценку первым.

Добавить комментарий

Adblock
detector