Deploying apps from Git: cPanel 138, DirectAdmin and ZoPanel compared
How cPanel git deploy works in 2026 (Git Version Control, .cpanel.yml, AI App Hosting in version 138), compared with DirectAdmin's Git Manager and ZoPanel.

Key takeaways
- cPanel has three Git-related paths - Git Version Control with .cpanel.yml tasks, Application Manager on Passenger, and since version 138 AI App Hosting, which deploys Node.js apps in containers.
- DirectAdmin's Git Manager syncs a repository and checks out a branch on a webhook, without a build step; its app runtimes rely on NGINX Unit (archived in October 2025) or CloudLinux selectors.
- ZoPanel builds from Git in the account's sandbox for seven runtimes and switches traffic only after a health check, with one-click rollback.
- Pick by what you deploy: static and PHP files, Node.js only, or several languages with zero-downtime releases.
cPanel git deploy works in two ways: Git Version Control, where a push to a cPanel-managed repository runs the shell tasks in your .cpanel.yml, and, since cPanel & WHM 138, AI App Hosting, which builds Node.js apps from a Git repository into their own containers. DirectAdmin's Git Manager clones or syncs a repository and checks out a branch into a folder on a webhook, but has no build step. ZoPanel's Git deploy detects the framework, builds inside the account's resource limits for Node.js, Python, PHP, Go, Ruby, Java and .NET, and switches traffic only after a health check. Which one fits depends on whether you deploy files or run applications.
We make ZoPanel, so we have an interest. cPanel and DirectAdmin details come from their own documentation and release notes at the time of writing (October 2026). This article compares panels; if you want to build a pipeline yourself with GitHub Actions or webhooks, see auto deploy from GitHub to a VPS.
Comparison at a glance
| cPanel Git Version Control | cPanel AI App Hosting (138) | DirectAdmin Git Manager | ZoPanel Git deploy | |
|---|---|---|---|---|
| What it deploys | Files, via your shell tasks | Node.js apps | Files (checkout of a branch) | Node.js, Python, PHP, Go, Ruby, Java, .NET, static, Dockerfile |
| Build step | Your .cpanel.yml commands |
Detected; installs dependencies and builds | None described | Detected install and build commands, editable |
| Deploy on push from GitHub | Push to the cPanel repo; pulling from a remote is a manual step | Not described in the docs | Webhook triggers fetch and deploy | Signed webhook (GitHub, GitLab, Gitea) |
| Process isolation | Not applicable (deploys files) | A container per app | Not applicable (deploys files) | Account's systemd slice with CPU and memory limits |
| Health check before go-live | No | Not described | No | Yes, up to 90 seconds |
| Rollback | Not built in | Redeploy or roll back from Git | Not described | One click, last 5 releases, zero downtime |
| Who enables it | Your host | Host enables the Web Apps feature | Admin, reseller and package | On by default; packages can turn it off |
Sources: cPanel guide to Git deployment, deploy a website with Node.js, AI App Hosting release notes, DirectAdmin Git manager and our Git deploy docs.
cPanel: three paths
Git Version Control and .cpanel.yml
This is cPanel's long-standing Git feature. You create or clone a repository in Git Version Control, and cPanel adds a post-receive hook to every repository it manages. According to the deployment guide:
- Push deployment: when you
git pushto the cPanel repository, the hook runs the tasks in.cpanel.yml. - Pull deployment: you click Update from Remote, then Deploy HEAD Commit.
- Deployment needs a valid
.cpanel.ymlchecked into the top-level directory, at least one branch and a clean working tree.
A minimal file copies the site into place:
---
deployment:
tasks:
- export DEPLOYPATH=/home/user/public_html/
- /bin/cp -R public/. $DEPLOYPATH
The guide warns against copying everything with a wildcard, because that could deploy the .git directory. Builds, dependency installs and restarts are whatever you put in the task list; there is no health check or automatic rollback. It works well for PHP sites and static files on shared hosting.
Application Manager (Passenger)
For Node.js, Python and Ruby apps, cPanel's Application Manager runs apps under Phusion Passenger. The host must enable it in the Feature Manager and install a Passenger Apache module. Node.js comes from ea-nodejs16, ea-nodejs18, ea-nodejs20 or ea-nodejs22, and the docs note that installing one of these packages removes the others, so a server runs one Node.js version at a time through this path. Application Manager does not pull from Git itself; you combine it with Git Version Control or upload the code.
AI App Hosting in cPanel 138
cPanel & WHM 138, first introduced on 27 July 2026 (webhosting.today), shipped a new plugin for Node.js apps alongside the Meridian interface. The release notes say it lets you "create, deploy, and manage Node.js web applications" and that "each application runs in its own isolated container". From cPanel's deployment page and the release notes:
- Sources: a public Git repository over HTTPS, a private one over SSH with a deploy key, a ZIP upload, or the WebPros MCP server, which lets an AI agent such as Claude Code deploy for you.
- Build: cPanel detects the package manager and build output directory, installs dependencies, builds and starts the app.
- Domains: plugin 1.3.0-1 (10 September 2026) added serving an app on a domain the account already uses; before that, apps could not take over an existing domain.
- Limits: you cannot set the
PORTvariable, the host sets a maximum number of apps per account, and the host must give the account the Web Apps feature. Node.js is the only runtime. - Recent additions: CageFS support on CloudLinux (1.3.0-1) and MySQL database creation and linking (1.3.5-1, 13 October 2026).
This is a real step forward for cPanel hosts with Node.js customers, especially for AI-built apps. The documentation we read does not mention deploying automatically on push or a health check before switching traffic.
DirectAdmin: Git Manager and app runtimes
DirectAdmin added Git Manager in version 1.63.2 (25 November 2021) as a Pro Pack feature (changelog). Since August 2023 every DirectAdmin licence for sale includes all features, so the Pro Pack label no longer applies (DirectAdmin docs).
How it works, per the Git manager docs:
- Repositories are bare, stored under
/home/USER/domains/DOMAIN/, either created empty or cloned from a remote. Private remotes use SSH with a key file in the user's home. - You set a deploy branch and a deploy directory; Deploy checks out the working tree there.
- A webhook runs an automatic fetch and deploy, if the branch and directory are set. Each repository's
post-updatehook runsgit-deploy. Root execution is not allowed. - The admin enables Git for resellers and packages, then users.
The docs do not describe a build step, so Git Manager suits PHP and static sites, or apps you build elsewhere.
For running apps, DirectAdmin documents NGINX Unit for Python, Java, Ruby, Perl and Node.js. Note that the NGINX Unit project itself says that "as of October 2025, NGINX Unit is archived and unmaintained" (unit.nginx.org). The other common route is CloudLinux, whose Node.js, Python and Ruby selectors are available for cPanel and DirectAdmin servers (CloudLinux docs), at CloudLinux's licence price.
ZoPanel: build, health check, switch
ZoPanel's Git deploy is a website type. You enter the repository URL and branch, and on each deploy ZoPanel:
- Detects the framework from the repository: Next.js, Nuxt, NestJS, Express, Laravel, Symfony, Django, FastAPI, Flask, Rails, Spring Boot, Quarkus, ASP.NET Core, Go, WordPress, static builds or a Dockerfile. You can review and edit the install, build and start commands.
- Builds in a new release folder as the hosting account, through systemd, inside the account's CPU and memory limits.
- Starts the new release in an idle slot on its own port and waits up to 90 seconds for the health check path to answer below status 500.
- Switches nginx with a graceful reload, then stops the old process. If anything fails, the old release keeps running and the owner gets a Deployment failed notification.
Pushes trigger deploys through a webhook verified with GitHub's X-Hub-Signature-256 or GitLab and Gitea's token header; only the configured branch deploys, duplicates are ignored and deploys never overlap. The Releases card keeps 5 builds, and rollback uses the same zero-downtime switch. With Pro, you can also trigger a deploy from CI with an API token.
Runtime versions are chosen per app: Node.js 18 to 24 side by side (Node.js docs), Python 3.10 to 3.14 through uv, Go by go.mod, OpenJDK by pom.xml or Gradle, and the .NET 8, 9 or 10 SDK by target framework. Where a runtime does not fit, a Dockerfile or public image can run as a container with user namespaces, dropped capabilities and no access to private networks (Docker deploy).
Where ZoPanel is weaker:
- It runs only on Ubuntu 22.04/24.04/26.04 and Debian 12/13, so it cannot replace cPanel on AlmaLinux or CloudLinux.
- Ruby uses the system Ruby only; other versions need a Dockerfile.
- Custom containers must first be enabled on the command line by root, and per package, which is safer but one more step.
- There is no MCP-based deployment like cPanel's for AI agents.
- Its ecosystem and community are much younger.
Which one to choose
| You deploy | Good fit |
|---|---|
| PHP or static sites on existing cPanel hosting | cPanel Git Version Control with .cpanel.yml |
| Node.js apps (including AI-built ones) on cPanel hosting | cPanel AI App Hosting, if your host enables it |
| PHP or static sites on DirectAdmin | DirectAdmin Git Manager with a webhook |
| Several languages, with builds, health checks and rollback | ZoPanel Git deploy |
| Your own pipeline on a bare VPS | GitHub Actions; see our guide |
For worked examples on ZoPanel, see deploying a Node.js app to a VPS and deploying Django and Flask to a VPS.
Conclusion
cPanel 138 closes much of the gap for Node.js with containerised AI App Hosting, and .cpanel.yml remains a solid way to push PHP and static sites. DirectAdmin's Git Manager is simple and reliable for checkouts, but leaves builds and app runtimes to other tools. ZoPanel treats Git deploy as a full release pipeline for seven runtimes, with sandboxed builds, health checks and rollback. Try it on your own repository: Git deploy, webhooks and rollback are included in the Free plan, on a fresh Ubuntu or Debian VPS.
Frequently asked questions
Can cPanel deploy from GitHub automatically?
With Git Version Control, a push to the cPanel-managed repository runs your .cpanel.yml tasks, while pulling from GitHub is a manual Update from Remote step in the guide, so many people script it or push to cPanel from CI. AI App Hosting deploys from a GitHub repository, but its docs do not describe automatic deploys on push.
What is a .cpanel.yml file?
It is a YAML file at the top of your repository listing shell commands under deployment: tasks:. cPanel runs them in order on each deployment, usually to copy files into public_html.
Does DirectAdmin support Git deployment?
Yes. Git Manager, added in 1.63.2 and included in all current licences, can clone a remote repository, check out a chosen branch into a folder and deploy on a webhook. It does not run build commands.
Can I run Node.js on cPanel?
Yes, through Application Manager with Passenger, through CloudLinux's Node.js Selector if your host uses CloudLinux, or through AI App Hosting in version 138, which runs each app in its own container.
Does ZoPanel's Git deploy need a paid plan?
No. Git deploy, push webhooks and rollback work on the Free plan within its limits (10 websites). Triggering deploys from CI with an API token needs Pro.
Install ZoPanel free
One command on a fresh Ubuntu or Debian server. Up and running in minutes.
Install in 5 minutesKeep reading

Coolify vs a hosting control panel: which one do you need?
Coolify vs cPanel-style hosting panels: what Coolify, Dokploy and CapRover do, what a panel does, and how to choose for Docker apps, PHP sites and email.

Laravel Forge and Ploi alternatives on your own VPS
Looking for a Laravel Forge alternative? Compare Forge, Ploi and a self-hosted panel for deploys, queues, scheduler and cost on your own VPS.

MariaDB vs MySQL vs PostgreSQL for web hosting in 2026
MariaDB vs MySQL vs PostgreSQL in 2026: licenses, LTS versions and end-of-life dates, WordPress and Laravel support, distro defaults and migration.