KasHost — personal hosting with an admin panel and API node
Own hosting panel / PaaS system for remote project and node management. The admin panel works like a remote router: it allows switching between multiple nodes on different devices (PC, Termux on mobile devices, etc.) and managing their projects from a single interface.
Key functionality:
- Support for multiple nodes: switching between devices with an installed node, each with its own set of projects and configurations.
- Full process management: starting, stopping, restarting, viewing statuses and logs for each project.
- File manager: remote management of the file system of devices with a node (viewing, uploading, deleting, editing) — available as a separate tab in the side menu, as well as a file block on the specific project page.
- Remote node updates: updating directly from the panel with auto-backup before applying. Simply upload an archive with the new version — the node updates and you can always roll back.
- Security and production readiness: user account system, user tokens, and master tokens for access management.
- Special logic for Minecraft servers: working with the plugin list, auto-installation via Modrinth API and other services, editor for server.properties and service configs.
- Support for different types of projects: managing dependencies directly from the panel (installing/removing), configuring the project path, launch commands, and project type.
- Isolation modes: no isolation, isolation via venv for Python projects, planned support for containerization (Docker/PRoot) depending on the platform.
Architecture features:
- Cross-platform node: tested on Windows, Linux (Ubuntu/VPS), and Termux on Android. The project was initially designed with the aim of running on different devices — from home PCs to remote servers and mobile nodes.
- Special local authorization mode: in the local environment, you can connect to the node from the panel without a master token, using a simplified local token, which is sufficient for local use. For remote nodes, master and user tokens are used.
- Extensibility: the panel was originally conceived as a foundation for public hosting — the architecture considers the addition of new project types and deployment scenarios. In the current version, it is used as private hosting.
The project has been developing for about a year: it initially started as an internal panel for managing a single node, and over time was reworked into a cross-platform PaaS system with support for multiple nodes, security, remote updates, and specialized scenarios (for example, for Minecraft servers).
#backend #nodejs #typescript #docker #paas #adminpanel #api #devops
Key functionality:
- Support for multiple nodes: switching between devices with an installed node, each with its own set of projects and configurations.
- Full process management: starting, stopping, restarting, viewing statuses and logs for each project.
- File manager: remote management of the file system of devices with a node (viewing, uploading, deleting, editing) — available as a separate tab in the side menu, as well as a file block on the specific project page.
- Remote node updates: updating directly from the panel with auto-backup before applying. Simply upload an archive with the new version — the node updates and you can always roll back.
- Security and production readiness: user account system, user tokens, and master tokens for access management.
- Special logic for Minecraft servers: working with the plugin list, auto-installation via Modrinth API and other services, editor for server.properties and service configs.
- Support for different types of projects: managing dependencies directly from the panel (installing/removing), configuring the project path, launch commands, and project type.
- Isolation modes: no isolation, isolation via venv for Python projects, planned support for containerization (Docker/PRoot) depending on the platform.
Architecture features:
- Cross-platform node: tested on Windows, Linux (Ubuntu/VPS), and Termux on Android. The project was initially designed with the aim of running on different devices — from home PCs to remote servers and mobile nodes.
- Special local authorization mode: in the local environment, you can connect to the node from the panel without a master token, using a simplified local token, which is sufficient for local use. For remote nodes, master and user tokens are used.
- Extensibility: the panel was originally conceived as a foundation for public hosting — the architecture considers the addition of new project types and deployment scenarios. In the current version, it is used as private hosting.
The project has been developing for about a year: it initially started as an internal panel for managing a single node, and over time was reworked into a cross-platform PaaS system with support for multiple nodes, security, remote updates, and specialized scenarios (for example, for Minecraft servers).
#backend #nodejs #typescript #docker #paas #adminpanel #api #devops