Installs a web application into an existing website's document root (or a subdirectory of it) through a three-step wizard: pick the location, fill in the app's form, then install.
The bundled catalog covers WordPress, Joomla, Drupal, Laravel, Symfony Demo, Grav, Bludit and HTMLy, each defined as a self-contained module with its own info, form and recipe. Source code arrives either as a release download or a git clone (VCS metadata is stripped afterwards); Composer-based apps go through a build step. Files are chowned to the site's Linux user with the www-data group, and each app's declared writable directories are handed to www-data. Apps that need a database get one provisioned automatically — database, user, password and grants — and the credentials are wired into the app's config where a recipe exists.
How far the automation goes depends on the app. WordPress gets a generated wp-config.php with fresh salts and is then finished non-interactively via wp-cli, so it is ready to sign into at /wp-admin; Joomla and Drupal get their database created and the credentials shown on screen, but you still run their own web installer; the flat-file apps are live as soon as the files land. The target directory must be empty before an install starts. Installs are recorded per website, and removing one deletes the files and drops the database it created. All heavy lifting runs through the root agent, every action is checked against the caller's ownership of the website, and the work is routed to the node that actually hosts the site.
Use VinzaPanel's REST API to download and install this app programmatically.
POST /plugins/api/download/app-installer/ Content-Type: application/json { "panel_version": "1.0.0" }
{
"success": true,
"plugin_id": "app-installer",
"version": "1.0.8",
"download_url": "..."
}