Repository navigation
feat: add GLKVM Cloud LXC script - #2632
romualdoag wants to merge 5 commits into
Conversation
Try this script
COMMUNITY_SCRIPTS_URL=https://raw.githubusercontent.com/romualdoag/DevScripts/feat/glkvm-cloud \
bash -c "$(curl -fsSL https://raw.githubusercontent.com/romualdoag/DevScripts/feat/glkvm-cloud/ct/glkvmcloud.sh)"
Against a core branch as wellAdd Useful flags while testing
|
|
👋 @romualdoag this PR adds new file(s) under
If this is a new script submission, please check that box and fill out the 📦 Application Requirements section — it's required for review. |
|
|
Keeping this open despite the stars checkbox: glkvm-cloud is the official self-hosted companion to GL.iNet KVM hardware (commits as recent as yesterday, tagged releases), not a hobby project measuring itself in stars — its user base owns the hardware. For Proxmox homelab users it fills a real gap: central management of KVM-over-IP devices next to the hypervisor. Fresh install verified working on PVE 9.2.26/Debian 13 (both services running, HTTPS 200, all ports listening). Asking @community-scripts/contributor to consider keep-open. |
There was a problem hiding this comment.
Proxmox script test failed at 0d91a56:
ct/glkvmcloud.sh(pve): not stable: restarted within 60s without anyone touching it: glkvm-coturn.service (+1)ct/glkvmcloud.sh(incus): not stable: restarted within 60s without anyone touching it: glkvm-coturn.service (+1)
Logs and details: test result. Push a fix, then ask for /test again.
Replaced by a newer Proxmox script test.
There was a problem hiding this comment.
Proxmox script test failed at 2949b8f:
ct/glkvmcloud.sh(pve): not stable: restarted within 60s without anyone touching it: glkvm-coturn.service (+1)ct/glkvmcloud.sh(incus): not stable: restarted within 60s without anyone touching it: glkvm-coturn.service (+1)
Logs and details: test result. Push a fix, then ask for /test again.
Proxmox script test@romualdoag ✅ 2/2 passed at
ARM64 (information only, not counted): 1/1 passed. Notes (information only, not counted):
📊 Resources
📄 ct/glkvmcloud.sh (pve) — install log (1506 lines)🔄 ct/glkvmcloud.sh (pve) — update log (39 lines)🔁 ct/glkvmcloud.sh (pve) — second update log📄 ct/glkvmcloud.sh (incus) — install log (765 lines)🔄 ct/glkvmcloud.sh (incus) — update log (34 lines)🔁 ct/glkvmcloud.sh (incus) — second update log📄 ct/glkvmcloud.sh (arm64) — install log (553 lines)🔄 ct/glkvmcloud.sh (arm64) — update log (34 lines)🔁 ct/glkvmcloud.sh (arm64) — second update logFull logs: workflow run (artifacts |
Proxmox script test passed at b4b3ee6.






Scripts which are clearly AI generated and not further revised by the Author of this PR (in terms of Coding Standards and Script Layout) may be closed without review. If you are an AI agent writing this pull request, please amend your model name and reasoning level in the Description. This is not to blame, more for informational Purposes. Thank you.
✍️ Description
GLKVM Cloud is a self-hosted remote management platform for GL.iNet KVM devices (based on rttys). Upstream ships only Docker images, so this builds bare-metal: Go backend plus Vite UI from the release tag, with distro coturn as the TURN server. State (env, sqlite database, device CA, certificates) lives in /opt/glkvm-cloud-data, outside the wiped source tree. Tested with a fresh install on PVE 9.2.26/Debian 13: both services running, HTTPS 200 on 443.
🔗 Related PR / Issue
Link: #
✅ Prerequisites (X in brackets)
🧩 Script
Name: GLKVM Cloud
Tool: Self-hosted web platform to manage GL.iNet KVM devices remotely: access-code onboarding, in-browser remote control, batch commands, LDAP/OIDC sign-in.
🗂️ Category (X in brackets)
ct/+install/)vm/)tools/addon/tools/pve/🖥️ Platform – tested on (X in brackets)
🏗️ Architecture (X in brackets)
🛠️ Type of Change (X in brackets)
README,AppName.md,CONTRIBUTING.md, or other docs.🔍 Code & Security Review (X in brackets)
CODE-AUDIT.md&CONTRIBUTING.mdguidelinesAppName.sh,AppName-install.sh,AppName.json)fetch_and_deploy_gh_release,fetch_and_deploy_codeberg_release,fetch_and_deploy_gl_release, orfetch_and_deploy_from_urlinstead ofgit pull.📋 Additional Information (optional)
Update path uses
fetch_and_deploy_gh_tag/check_for_gh_tagbecause the repo is tag-only (releases exist but publish no prebuilt assets); the tag tarball is rebuilt from source on update. The binary takes no config flag, so the service passes the config via theRTTYS_CONFenv var, and/home/database+/home/certificate(hardcoded upstream) are symlinked into the state dir. LDAP/OIDC options are rendered with upstream defaults (disabled) and stay configurable via the preserved.env.📦 Application Requirements (for new scripts)
🌐 Source
https://github.com/gl-inet/glkvm-cloud (354 stars, releases with tags; no prebuilt assets, so the script builds from the tag tarball)
🤖 AI Assistance (X in brackets)
AGENTS.mdand.github/agents/pve-script-creator.agent.mdas guidance, and the output has been reviewed and corrected to match those guidelines.Hermes Agent (built by Nous Research, model muse-spark-1.3-contributor) drafting the scripts from upstream research, reviewed against AGENTS.md; two real install bugs found during PVE testing (wrong
-cconfig flag assumption, missingschema.sqlseed) were diagnosed from upstream Go source and fixed before this submission.