Ваша власна хмарна платформа на вкладених демонах Docker.
Розгортайте з git або з архіву застосунки на Node.js, Python і PHP та статичні сайти. Підключайте PostgreSQL чи MySQL, отримуйте HTTPS-домени, сховище S3, резервні копії та метрики — і керуйте всім із веб-консолі, через REST API або з ШІ-агента.
Усе, що потрібно невеликому PaaS, — і нічого, що довелося б збирати самому.
Одна платформа замінює купу склейок: конвеєр збірки, балансувальник із сертифікатами, бази даних із консоллю, об'єктне сховище, резервні копії та метрики — а користувачі надійно відокремлені один від одного.
Розгортання з git або з архіву
Вкажіть репозиторій або завантажте .zip/.tar.gz до 512 МіБ. Середовище виконання визначається автоматично, збірка транслюється наживо, а невдала збірка ніколи не замінює працюючий застосунок.
Вибір версії середовища виконання
version: "22" збирає на найновішій 22.x і оновлюється при кожному розгортанні; "22.12.1" лишається зафіксованою. Типово: Node 24, Python 3.12, PHP 8.5, nginx 1.27.
PostgreSQL і MySQL
База даних для кожного проєкту зі згенерованими обліковими даними, що додаються як змінні DB_*, SQL-консоль із запобіжниками та дампи на вимогу.
Домени й автоматичний HTTPS
Кожен проєкт одразу отримує slug.alias.domain. Додавайте власні імена: перевірка підтверджує, що вони ведуть до вас, ще до запиту сертифіката.
Змінні та секрети лише для запису
Тришарові змінні середовища із зашифрованими секретами, які ніхто не може прочитати назад, — задавайте їх у консолі, через REST або з агента, а застосовуйте одним перестворенням.
Змінні середовища та секрети →Об'єктне сховище S3
Особистий бакет і ключі з обмеженими правами у вбудованому MinIO; змінні S3_* додаються одним рядком у маніфесті.
Резервні копії та відновлення в один клік
Дампи баз даних, архіви томів і архів вихідного коду — в одній резервній копії проєкту, з терміном зберігання, контрольними сумами та запобіжником для руйнівного відновлення.
Резервні копії →Метрики, журнали та аудит
CPU і пам'ять кожного контейнера щоп'ятнадцять секунд, журнали застосунку й збірки в реальному часі та запис аудиту для кожної зміни.
Метрики та журнали →Окремий демон для кожного користувача
Застосунки збирає й запускає демон Docker, яким користується лише їхній власник. Бази даних — окремі контейнери з власними обліковими даними.
Основні поняття →REST API
Усе, що вміє консоль, можна автоматизувати за допомогою curl і API-токена — ідеально для CI-конвеєрів і середовищ попереднього перегляду.
MCP-сервер для ШІ-агентів
33 інструменти дають Claude Code чи будь-якому MCP-клієнту змогу створювати проєкти, розгортати, виконувати запити до баз даних і керувати доменами — з вашими правами.
MCP →Самовідновлення
Після перезавантаження чи збою узгоджувач (reconciler) відновлює весь стек — демони, маршрути, контейнери — не торкаючись ваших даних.
Експлуатація →Від вихідного коду до працюючого HTTPS-сайту за три кроки.
Той самий процес у консолі, через REST або з агента.
Створіть проєкт
Виберіть slug і базовий домен. Ім'я сайту slug.alias.domain резервується одразу.
Розгорніть свій код
Завантажте архів або вкажіть git URL. Платформа визначає середовище виконання, збирає образ у вашому демоні й запускає його.
Сайт працює
Traefik маршрутизує ім'я, перевірка проходить, сертифікат видається — і поновлюється — автоматично.
Натисніть + Новий проєкт, відкрийте його вкладку Розгортання, виберіть архів і натисніть Розгорнути.
PID=$(curl -fsS -X POST $BASE/api/v1/projects -H "Authorization: Bearer $TOKEN" \
-H 'Content-Type: application/json' \
-d '{"slug":"hello","display_name":"Hello","base_domain":"example.com"}' | jq .id)
UP=$(curl -fsS -X POST $BASE/api/v1/projects/$PID/uploads \
-H "Authorization: Bearer $TOKEN" -F file=@site.tgz | jq -r .upload_id)
curl -fsS -X POST $BASE/api/v1/projects/$PID/deployments \
-H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
-d "{\"source\":{\"type\":\"archive\",\"upload_id\":\"$UP\"}}"
Один привілейований контейнер. Власний демон для кожного користувача.
На хості працює єдиний контейнер dind-hosting, і він нічого не публікує. Усередині нього сервіси платформи та демони Docker окремих користувачів спільно використовують приватну мережу й спілкуються через unix-сокети.
Одна адреса, жодних опублікованих портів
Платформа доступна за адресою 10.10.10.10 на хостовому мості (bridge). Що саме ваш фаєрвол перенаправляє туди — вирішуєте ви; в API Docker немає TCP-слухача.
Ізоляція на рівні користувача
Застосунки працюють у демоні власника, вихідний код передається потоком під час кожного розгортання (і ніколи не монтується), а кожна база даних має власний контейнер і облікові дані.
Відтворюваність і відновлюваність
Усе, що має зберігатися, лежить в одному каталозі data/. Узгоджувач при кожному запуску знову приводить систему до бажаного стану, тож відновлення — це просто make up.
Чотири середовища виконання, які визначаються за вашими файлами.
Писати Dockerfile не потрібно. Додайте необов'язковий platform.yaml, щоб вибрати середовище виконання, зафіксувати версію, підключити базу даних або змінити спосіб запуску застосунку.
static
- образ
nginx1.27- визначається за
index.html- додатково
- SPA-fallback, gzip
node
- образ
node24 LTS- визначається за
package.json- виконує
npm ci→ збірка →npm start
python
- образ
python3.12- визначається за
requirements.txt- виконує
pip install→ uvicorn /start_cmd
php
- образ
php8.5 fpm + nginx- визначається за
composer.json- виконує
- встановлення Composer, supervisor
Маніфест необов'язковий — і невеликий.
Усе наведене нижче — типові значення, які можна змінити. Невідомі ключі відхиляються, тому одруківка дає помітну помилку, а не мовчки нічого не робить.
runtime: node
version: "24" # беріть у лапки: "3.10" не має перетворитися на 3.1
databases: [main] # додає змінні DB_MAIN_*
s3: true # додає змінні S3_*
resources: {cpu: "1.0", memory: 512m}
volumes:
- {name: uploads, path: /app/uploads}
Клацніть, автоматизуйте — або просто скажіть.
Консоль, REST API і MCP-сервер звертаються до того самого сервісного шару — з тією самою авторизацією, обмеженнями та журналом аудиту. Створіть API-токен один раз і передайте його скрипту чи агенту.
DB_MAIN_* дійшли до застосунку, і він слухає свій порт. Підключити власний домен?Що на ній будують.
Сайти та односторінкові застосунки
Викладайте зібрану SPA з runtime: static, spa: true — nginx, gzip і сертифікат за одне завантаження.
API та бекенди
Сервіси на Node.js і Python з базою даних PostgreSQL чи MySQL, секретами та S3 для файлів.
PHP-застосунки
Застосунки на Composer, які обслуговує php-fpm за nginx, з постійним томом для даних.
Внутрішні інструменти
Адмінпанелі та дашборди, яким потрібні база даних і вхід, — на вашому обладнанні та у вашому домені.
Розгортання під керуванням агента
Скажіть Claude Code створити проєкт, задати змінні, розгорнути застосунок і прочитати журнали. Кожен крок потрапляє в аудит і виконується з вашими правами.
Середовища попереднього перегляду
Нехай CI створює проєкт для кожної гілки через REST, розгортає тег, публікує URL і видаляє проєкт після злиття гілки.
Безпечні типові налаштування, прозора поведінка.
Секрети лишаються секретами
Секретні змінні зашифровано, і вони доступні лише для запису: жодна консоль, REST, MCP, журнал чи запис аудиту ніколи їх не повертає.
Власність, а не «заборонено»
Усе, що вам не належить, відповідає не знайдено, тож факт існування ніколи не розкривається — ні в консолі, ні в API, ні в MCP.
Перевірка перед сертифікатами
Платформа спершу переконується, що ім'я веде до неї, і лише потім звертається до CA — тож ліміти не витрачаються через хибний запис DNS.
SQL-консоль із запобіжниками
Один запит, тайм-аут 30 секунд, 1 000 рядків або 1 МіБ — і кожне виконання потрапляє до журналу запитів.
Одноразові посилання для завантаження
Великі архіви обходять MCP за допомогою одноразового PUT-посилання на 15 хвилин, прив'язаного до одного проєкту й одного розширення.
Аудит кожної зміни
Хто розгорнув, перестворив, змінив змінну чи відновив резервну копію — усе записується, але секрети не записуються ніколи.
Чого вона не вміє — поки що.
DinD Hosting — свідомо невелика платформа для одного хоста. Ось відомі межі цієї версії:
- Один хост — немає режиму з кількома хостами чи Kubernetes.
- Один застосунок на проєкт — для іншого сервісу створіть інший проєкт.
- Користувачів створює адміністратор — немає самореєстрації чи SSO.
- Резервні копії — на вимогу — вбудованого розкладу немає.
- Лише сертифікати HTTP-01 — без wildcard-сертифікатів.
- Немає відкату в один клік — розгорніть старіший тег чи архів.
- Немає публічних портів баз даних — користуйтеся SQL-консоллю, дампами чи самим застосунком.
- Немає вбудованих сповіщень — метрики можна переглядати, але тривог вони не піднімають.
Готові щось розгорнути?
Швидкий старт займає близько п'яти хвилин: вхід, проєкт і архів. Для всього, що буде далі, у посібнику є окремий розділ.

