KasHost — особистий хостинг з адмін-панеллю та API-вузлом
Власна хостинг‑панель / PaaS‑система для віддаленого управління проектами та вузлами. Адмін‑панель працює як remote‑маршрутизатор: дозволяє перемикатися між кількома вузлами на різних пристроях (ПК, Termux на мобільних пристроях тощо) та керувати їх проектами з одного інтерфейсу.
Ключовий функціонал:
- Підтримка кількох вузлів: перемикання між пристроями з встановленим вузлом, у кожного свій набір проектів та конфігурацій.
- Повне управління процесами: запуск, зупинка, перезапуск, перегляд статусів та логів для кожного проекту.
- Файловий менеджер: віддалене управління файловою системою пристроїв з вузлом (перегляд, завантаження, видалення, редагування) — є як окрема вкладка в бічному меню, так і файловий блок на сторінці конкретного проекту.
- Віддалені оновлення вузлів: оновлення прямо з панелі з авто‑бекапом перед застосуванням. Просто завантажуєш архів з новою версією — вузол оновлюється і при цьому завжди можна відкотитися.
- Безпека та підготовка до продакшену: система користувацьких акаунтів, користувацькі токени та майстер‑токени для управління доступом.
- Спеціальна логіка для Minecraft‑серверів: робота зі списком плагінів, авто‑установка через API Modrinth та інших сервісів, редактор server.properties та службових конфігів.
- Підтримка різних типів проектів: управління залежностями прямо з панелі (встановлення/видалення), налаштування шляху до проекту, команди запуску та типу проекту.
- Режими ізоляції: без ізоляції, ізоляція через venv для Python‑проектів, планується підтримка контейнеризації (Docker/PRoot) в залежності від платформи.
Особливості архітектури:
- Кросплатформений вузол: тестувався на Windows, Linux (Ubuntu/VPS) та Termux на Android. Проект спочатку проектувався з прицілом на запуск на різних пристроях — від домашнього ПК до віддаленого сервера та мобільної вузла.
- Спеціальний режим локальної авторизації: в локальному середовищі до вузла можна підключатися з панелі без майстер‑токена, використовуючи спрощений локальний токен, чого достатньо для локального використання. Для віддалених вузлів використовуються майстер‑ та користувацькі токени.
- Розширюваність: панель спочатку задумувалася як основа для публічного хостингу — архітектура враховує додавання нових типів проектів та сценаріїв деплою. В поточній версії використовується як приватний хостинг.
Проект розвивається приблизно рік: спочатку починався як внутрішня панель для управління однією вузлом, з часом був перероблений в кросплатформену PaaS‑систему з підтримкою кількох вузлів, безпекою, віддаленими оновленнями та спеціалізованими сценаріями (наприклад, для Minecraft‑серверів).
#backend #nodejs #typescript #docker #paas #adminpanel #api #devops
Ключовий функціонал:
- Підтримка кількох вузлів: перемикання між пристроями з встановленим вузлом, у кожного свій набір проектів та конфігурацій.
- Повне управління процесами: запуск, зупинка, перезапуск, перегляд статусів та логів для кожного проекту.
- Файловий менеджер: віддалене управління файловою системою пристроїв з вузлом (перегляд, завантаження, видалення, редагування) — є як окрема вкладка в бічному меню, так і файловий блок на сторінці конкретного проекту.
- Віддалені оновлення вузлів: оновлення прямо з панелі з авто‑бекапом перед застосуванням. Просто завантажуєш архів з новою версією — вузол оновлюється і при цьому завжди можна відкотитися.
- Безпека та підготовка до продакшену: система користувацьких акаунтів, користувацькі токени та майстер‑токени для управління доступом.
- Спеціальна логіка для Minecraft‑серверів: робота зі списком плагінів, авто‑установка через API Modrinth та інших сервісів, редактор server.properties та службових конфігів.
- Підтримка різних типів проектів: управління залежностями прямо з панелі (встановлення/видалення), налаштування шляху до проекту, команди запуску та типу проекту.
- Режими ізоляції: без ізоляції, ізоляція через venv для Python‑проектів, планується підтримка контейнеризації (Docker/PRoot) в залежності від платформи.
Особливості архітектури:
- Кросплатформений вузол: тестувався на Windows, Linux (Ubuntu/VPS) та Termux на Android. Проект спочатку проектувався з прицілом на запуск на різних пристроях — від домашнього ПК до віддаленого сервера та мобільної вузла.
- Спеціальний режим локальної авторизації: в локальному середовищі до вузла можна підключатися з панелі без майстер‑токена, використовуючи спрощений локальний токен, чого достатньо для локального використання. Для віддалених вузлів використовуються майстер‑ та користувацькі токени.
- Розширюваність: панель спочатку задумувалася як основа для публічного хостингу — архітектура враховує додавання нових типів проектів та сценаріїв деплою. В поточній версії використовується як приватний хостинг.
Проект розвивається приблизно рік: спочатку починався як внутрішня панель для управління однією вузлом, з часом був перероблений в кросплатформену PaaS‑систему з підтримкою кількох вузлів, безпекою, віддаленими оновленнями та спеціалізованими сценаріями (наприклад, для Minecraft‑серверів).
#backend #nodejs #typescript #docker #paas #adminpanel #api #devops