Signed-off-by: GL.iNet-Yongping.Xie <yongping.xie@gl-inet.com>
Self-Deployed Lightweight Cloud KVM Remote Management Platform
中文文档 | English
Self-Deployed Lightweight Cloud is a lightweight KVM remote cloud platform tailored for individuals and small businesses. This project is developed based on rttys, designed for users who need to quickly build a remote access platform while prioritizing data security.
Main Functions and Features
-
User Groups and Device Support - Supports user groups managing specific device groups, enabling different users to manage different devices
-
Script Deployment - Convenient script-based device addition
-
Remote SSH - Web SSH remote connections
-
Remote Control - Web remote desktop control
-
Batch Operations - Batch command execution capabilities
-
Rapid Deployment - Quick self-deployment with simple operations
-
Data Security - Private deployment with full data control
-
Dedicated Bandwidth - Exclusive bandwidth for self-hosted deployments
-
Lightweight Design - Optimized for small businesses and individual users
-
Enterprise Authentication - Supports both LDAP and OIDC login methods for enterprise users.
-
Deployment & Platform Compatibility - Supports both internal network and public internet deployments on x86_64 and arm64 platforms
-
HTTP/HTTPS Web Proxy Support - Supports onboarding embedded devices such as OpenWrt, Raspberry Pi, and other Linux-based hosts into self-hosted GLKVM Cloud for centralized management and NAT traversal access
Self-Hosting Guide
The following mainstream operating systems have been tested and verified
Debian Family
- Ubuntu 18.04 / 20.04 / 22.04 / 24.04
- Debian 11 / 12
Red Hat Family
- AlmaLinux 8 / 9
- Rocky Linux 8 / 9
- CentOS Stream 9
Requirements
| Component | Minimum Requirement |
|---|---|
| CPU | 1 core or above |
| Memory | ≥ 1 GB |
| Storage | ≥ 40 GB |
| Network Bandwidth | ≥ 3 Mbps |
| KVM Device Firmware | ≥ v1.5.0 |
Cloud Security Group Settings
If your server provider uses a cloud security group (e.g., AWS, Aliyun, etc.), please make sure the following ports are open:
| Port | Protocol | Purpose |
|---|---|---|
| 443 | TCP | Web UI access |
| 10443 | TCP | WebSocket proxy |
| 5912 | TCP | Device connection |
| 3478 | TCP/UDP | TURN server for WebRTC support |
⚠️ Important: These ports will be used by GLKVM Cloud. Please ensure no other applications or services on your server are binding to these ports, otherwise the lightweight cloud platform may fail to start properly.
Installation
We provide two ways to install GLKVM Cloud:
A) One-line installer (recommended, x86_64/amd64)
Note: The one-line installer is Docker-based. It automates Docker/Compose setup, pulls images, renders configs from templates, and starts services for you.
Platform: currently supports x86_64 (amd64) only.
Run as root:
( command -v curl >/dev/null 2>&1 && curl -fsSL https://kvm-cloud.gl-inet.com/selfhost/install.sh || wget -qO- https://kvm-cloud.gl-inet.com/selfhost/install.sh ) | sudo bash
B) Docker manual install
Full reference: see
docker-compose/README.mdPlatform: supports both x86_64 (amd64) and arm64 (AArch64).
Platform Access
Once the installation is complete, the installer will print the platform URL and admin login credentials in the console. You can access the platform via:
https://<your_server_public_ip>
⚠️ Note: Accessing via an IP address will trigger a browser certificate warning. To remove the warning, configure your own domain and a valid SSL certificate.
Web UI Login Credentials
At the end of the installation script, the console will display the Web UI administrator username and password (for example):
👤 Admin username: admin
🔑 Admin password: <auto-generated-password>
Feature Demonstrations
Add KVM Devices to the Lightweight Cloud
- Copy script
- Run the script in the device terminal
- Devices connected to the cloud
Remote SSH Connection
Remote Desktop Control
Web Proxy
Use your own SSL Certificate (Optional)
⚠️ Note:
If you just want to quickly try out GLKVM Cloud and don’t mind the browser’s certificate warning, you can skip configuring a custom domain and SSL certificate, and still access the platform via the server’s public IP with HTTPS.
For production use, or if you need to access multiple KVM devices via subdomains, it is strongly recommended to configure your own wildcard SSL certificate (see below).
Add DNS Records
To enable full domain-based access, configure the following DNS records for your domain:
┌────────────┬──────┬────────────────────┬─────────────────────────────┐
│ Hostname │ Type │ Value │ Purpose │
├────────────┼──────┼────────────────────┼─────────────────────────────┤
│ www │ A │ Your public IP │ Web access to the platform │
│ * │ A │ Your public IP │ Remote access to KVMs │
└────────────┴──────┴────────────────────┴─────────────────────────────┘
Using a Custom SSL Certificate
To avoid browser warnings, replace the default certificates with your own wildcard SSL certificate that supports both:
*.your-domain.com(for device access)www.your-domain.com(for platform access)
Replace the following files in:
~/glkvm_cloud/certificate
glkvm.cerglkvm.key
⚠️ Make sure the filenames remain unchanged.
Restart Services After Configuration Changes
After replacing certificates, restart the GLKVM Cloud services to apply the changes:
cd ~/glkvm_cloud
docker-compose down && docker-compose up -d
Or, on systems with the Docker CLI plugin:
docker compose down && docker compose up -d
Domain-Based Access Example
Once everything is configured, you can access the platform via your domain:
https://www.your-domain.com






