One-click app installs with the App Installer
Install WordPress, Laravel, Nextcloud, Ghost and dozens more onto any site with a single click — where the files land, how framework doc roots work, and how to uninstall cleanly.
The App Installer deploys a ready-to-run application onto one of your sites in a single click — no SSH, no composer or npm incantations. You pick an app from the catalogue, pick which site it installs onto, and NovaPanel runs the install as the site owner in the background. It lives in the customer panel under App Installer, and it's available on every tier, including Community — there's no license gate on it.
What ships built in
NovaPanel seeds a catalogue of built-in app templates. These are the apps that ship out of the box:
- CMS: WordPress, Ghost, Joomla, Drupal, MediaWiki, Strapi, Directus
- Frameworks: Laravel, Next.js, Django, Express.js, Nuxt.js, Remix, Astro, Flask, FastAPI, Ruby on Rails, SvelteKit
- E-Commerce: PrestaShop, Magento, Shopware, Bagisto
- Cloud & collaboration: Nextcloud, Mattermost, PocketBase
- Analytics: Matomo, Plausible Analytics
- Automation: n8n
- Education: Moodle
Each app targets a specific runtime (PHP, Node.js, Python, Go, and so on). Create a site with the matching runtime first, then install the app onto it — a PHP app on a Node site has nowhere to run. Some PHP apps also declare a minimum PHP version; the installer refuses and tells you if the target site is on an older version.
Installing an app onto a site
- Open App Installer. Each app is a card; a green badge shows how many of your sites already have it.
- Click Install. A dialog asks which site to install onto — pick the target site from the dropdown (the list shows each site's runtime).
- Confirm. The install runs in the background — a WordPress clone or a
composer create-projectcan take one to three minutes. The card and the install history update on their own when it finishes.
The app installs into that site's own document root, not a shared location. NovaPanel stores every account under /srv/sites/<user>. The account's first site serves out of /srv/sites/<user>/public_html; every additional site gets its own folder, /srv/sites/<user>/<sitename>/public_html. The installer resolves the right path for the site you chose and runs the install script as the site's Linux user, so every file it creates is owned by you, not root.
Framework apps and the public/ doc root
Some frameworks don't serve from the top of the project — they keep the web root in a public/ subdirectory and everything else (config, vendor code, the app itself) one level up, out of reach of the browser. Laravel, Shopware and Bagisto are like this. When you install one of these, NovaPanel automatically stamps the doc-root subpath onto the site and rebuilds the web server config so requests are served from public_html/public — you don't have to touch any server settings. Uninstalling resets the doc root back to the bare public_html.
If an install fails
Every install captures its full output — the git clone, the install script, any error. If an install ends in a Failed state, a Log button appears next to it in the install history; click it to read exactly what went wrong. A failed attempt doesn't block the site — fix the cause (often a missing PHP extension or too-old PHP) and click Install again on the same site to retry. There's also a Reinstall action that wipes the site's files clean and runs the install from scratch.
Installing on more than one site
Installs are strictly per-site. Installing an app on your second or third site targets that site's own public_html correctly — it never quietly lands in your first site's files. Once an app is installed on a site, its card offers Install on another site so you can deploy the same app across several sites; each install and its history are tracked separately per site.
Uninstalling an app
Use the Uninstall action on the app's card (if the app is on more than one site, you'll be asked which site to uninstall from). This is destructive: it deletes every file in that site's public_html and resets the site to the default NovaPanel welcome page. Read the confirmation carefully before you proceed.
The site's database is not touched — uninstall only clears the site's files and resets its doc root. If you also want the app's database gone, remove it separately from Databases. Because uninstall wipes the whole document root, back up anything you've uploaded or generated first if you might want it later.
WordPress installs
Installing WordPress through the App Installer drops a fresh copy of WordPress into the site's document root. Once it's in place, manage it from the dedicated WordPress Manager — core, plugin and theme updates, maintenance mode, cache flushing, and nightly auto-updates — instead of doing it by hand.
Next steps
- WordPress Manager — keep an installed WordPress site updated and maintained from the panel.
- Migrate a WordPress site to NovaPanel — bring an existing site over instead of starting fresh.