▞ Спейсы, а не неймспейсы
Квоты CPU, RAM и диска на каждого арендатора, отдельная bridge-сеть и токены, проверяемые на уровне авторизации — изоляция гарантирована ещё до того, как выполнится хоть один обработчик.
self-hosted · agent-first · один бинарник
MoDeploy превращает один арендованный Linux-сервер в мультитенантную хостинг-платформу. Вы нарезаете изолированные спейсы с квотами CPU и RAM, а ИИ-агенты ваших клиентов деплоят телеграм-ботов, API и сайты через REST или MCP. Без панели управления, без YAML, без раздачи SSH-доступов.
$ modeployd --data-dir /var/lib/modeploy --ingress-domain apps.host.dev ✓ admin token minted: mdp_admin_9f2… (shown once) ✓ caddy ingress up — *.apps.host.dev ✓ reconciler watching desired state agent › deploy github.com/acme/tg-bot ✓ build r-7f3a queued → building → succeeded (38s) ✓ live at https://tg-bot.acme.apps.host.dev
Один curl на любом Linux-сервере с Docker. modeployd один раз печатает админ-токен и начинает следить за состоянием. gVisor подхватывается автоматически, если установлен.
Спейс — это квота, приватная сеть и токен с ограниченной областью. Создайте по одному на клиента — из этой консоли или обычным curl — и передайте токен. Этот токен физически не может дотянуться до чужих спейсов.
Арендатор подключает MCP-эндпоинт к Claude Code или любому MCP-клиенту. Деплой, логи, секреты, откаты, диагностика — агент управляет приложением сам.
PaaS-инструменты делают либо для людей с дашбордами, либо для облаков, где ваш код крутится на чужих машинах. MoDeploy — для случая, когда сервер ваш, а оперируют им агенты.
Квоты CPU, RAM и диска на каждого арендатора, отдельная bridge-сеть и токены, проверяемые на уровне авторизации — изоляция гарантирована ещё до того, как выполнится хоть один обработчик.
Один эндпоинт, bearer-токен задаёт область. Сервер сам публикует инструкции по работе с собой, и чужой агент осваивается без документации: deploy, logs, restart, rollback, exec, diagnose.
Вместо графиков — пакет улик: состояние контейнера, коды выхода, OOM-киллы, свежие логи и подсказки по исправлению. Всё, что нужно агенту, чтобы починить приложение самостоятельно.
Redis, Postgres и Mongo как managed-аксессуары. URL подключения автоматически попадает в окружение приложений; доступ по name.internal с задержкой одного хоста.
Caddy раздаёт каждому приложению свой поддомен и выпускает TLS-сертификаты по запросу. Маршруты переживают рестарты — реконсайлер возвращает их на место.
cap-drop ALL, лимиты процессов, no-new-privileges, write-only секреты, опциональная песочница gVisor. Ввод арендатора считается враждебным by design — потому что так и есть.
Единый JSON-конверт, асинхронные сборки, структурные ошибки с подсказками. Скучно специально — скучное парсится.
claude mcp add modeploy \
--transport http https://deploy.example.com:8400/mcp \
--header "Authorization: Bearer $SPACE_TOKEN"
# the server ships Instructions — the agent self-onboards:
# deploy · logs · restart · rollback · secrets_set · exec ·
# diagnose · accessory_create · usage
curl -X POST https://deploy.example.com:8400/v1/apps \
-H "Authorization: Bearer $SPACE_TOKEN" \
-d '{"name":"tg-bot","git_url":"https://github.com/acme/tg-bot"}'
{"status":"ok","data":{"id":"b-7f3a","status":"queued"},
"note":"build queued; poll GET /v1/builds/b-7f3a"}
GET /v1/diagnose?app=tg-bot
{"status":"ok","data":[{"app":"tg-bot","state":"exited",
"exit_code":137,"oom_killed":true,"restart_count":4,
"last_logs":["…"],
"remediation_hints":["raise ram_mb or reduce workers"]}]}
Python, Node.js и статические сайты — рантайм определяется автоматически по репозиторию или архиву. Свои Dockerfile отклоняются намеренно: сборки остаются детерминированными, а профиль безопасности — целым. Веб-приложения, воркеры и разовые скрипты — всё подходит.
Нисколько. MoDeploy — открытый код под AGPL-3.0, работает на вашем железе. Единственный счёт — за сам сервер.
У каждого спейса жёсткие лимиты CPU/RAM/процессов, своя bridge-сеть и токен, который не может адресовать ничего за пределами спейса. Контейнеры сбрасывают все capabilities и могут работать под gVisor (runsc) — песочница на уровне сисколлов для недоверенного кода.
Две строки: URL эндпоинта и токен спейса. Подключите Claude Code (или любой MCP-клиент) к эндпоинту — сервер сам публикует инструкции, и агент разбирается без посторонней помощи.
Да. Замер потребления по каждому спейсу через API, suspend/resume за неуплату (контейнеры останавливаются, состояние сохраняется), destroy для полного сноса. Бэк-офис управляет этим на любом количестве серверов.
На вашем сервере, от и до: сборки, контейнеры, базы и терминация TLS. Никаких сторонних сборочных ферм — код не покидает машину.
Поставьте демон, нарежьте первый спейс и дайте агенту что-нибудь задеплоить — кофе остыть не успеет.
Читать код на GitHub