The shared shell engine behind the community-scripts projects
Container and VM builds for Proxmox VE and Incus, from one codebase
The engine, not the scripts.
This repository holds the shared Bash libraries that every community script runs on: the whiptail wizard, container and VM creation, the in-container installer, error handling, telemetry and the helper library.
You do not run anything from here directly. Application scripts live in the script repositories and source this engine at start-up.
The engine detects the host at runtime and loads the matching backend, so a
single ct/ script works on both Proxmox VE and Incus — there is no separate
Incus script tree.
docs/ — the index: what every folder and file is for.
| How loading works | The two roots, resolution order, the prefetch, running against a fork |
| Contributing | Where a change belongs, what CI enforces, how to test |
| Dev mode | The opt-in debugging flags |
| core/ · ui/ · lib/ · lxc/ | |
| host/ · api/ · vm/ · backends · headers/ |
| Repository | Contains |
|---|---|
| core (this repo) | The engine |
| ProxmoxVE | Application scripts — ct/, install/, vm/, json/, tools/pve/ |
| ProxmoxVED | Where new scripts are tested before they move to ProxmoxVE |
| Incus | Incus scripts and host tooling |
The split is in progress. ProxmoxVED and Incus bootstrap from core; ProxmoxVE
does not yet and still ships and loads its own misc/.
| Repository | ct/ scripts bootstrapping from core |
|---|---|
| ProxmoxVED | 89 of 89 |
| Incus | 577 of 577 |
| ProxmoxVE | 0 of 583 |
ProxmoxVE stays untouched until the mechanism is proven in ProxmoxVED. See docs/proxmoxve-migration.md for what stands between the two.
See CONTRIBUTING.md. Engine changes affect every script in the collection at once, so they get more scrutiny than an application script — and application scripts do not belong here.
MIT — see LICENSE.