Усі роботи
Власний продукт
bebb Cloud — хостинг-платформа
Кабінет клієнта для сайтів, ботів і S3-сховища: як cPanel, тільки сучасний і на власному сервері.
- Роль
- Архітектура, backend, frontend, DevOps
- Рік
- 2026
- Стек
- Laravel 12FilamentReactTypeScriptGoPythonDockernginxMariaDBRedisGarage S3
Задача
Потрібен був хостинг для власних клієнтів: сайти на PHP, WordPress і Node.js, Telegram-боти й сховище для бекапів — з одним зручним кабінетом, без самореєстрації і так, щоб клієнтський код не міг зашкодити серверу.
Що зроблено
- Кабінет на базі Reviactyl (Laravel + React), який я переробив під три розділи: Сайти, Боти, S3 Хмара. Вхід без паролів — код на пошту або passkey.
- Кожен сайт і бот — окремий контейнер: файлова система лише для читання, непривілейований користувач, без додаткових прав, ліміти пам’яті й диска.
- Домени й сертифікати Let’s Encrypt підключаються самі: окремий сервіс без root генерує конфіги nginx, а крихітний root-помічник лише перевіряє їх і застосовує з відкатом.
- S3-сховище на Garage з квотами, копії сайтів у S3 і відновлення в один клік; staging-копія WordPress з автоматичною заміною адрес.
- SMTP-релей для пошти сайтів, написаний на Go, Redis і MariaDB для ботів, Adminer із входом за одноразовим посиланням.
- Моніторинг щохвилини: сповіщення про падіння в Telegram-бот і на пошту, графіки пам’яті, процесора й відвідувань.
Як влаштовано
- Клієнт
- nginx + TLS
- Кабінет (Laravel + React)
- Agent → контейнери
- MariaDB · Redis · S3
Запит клієнта проходить через nginx до кабінету; кабінет керує контейнерами через агента, а дані живуть у службах, закритих від інтернету.
Знімки




Результат
- Працює в продакшні на app.bebb.be.
- Наскрізні тести Playwright для кожного розділу кабінету і звірка сервера з еталоном конфігурації після кожної зміни.
- Внутрішні служби (бази, Redis, релей) не видно з інтернету — лише з мережі контейнерів.
Що далі
Рахунки й оплати в кабінеті, віддалені бекапи на окремий сервер і розділ VPS.