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.

Key takeaways
- Laravel Forge and Ploi are hosted services that provision and manage your VPS over SSH or an agent, and you pay them every month on top of the server.
- Both give you zero-downtime deploys, managed queue workers and cloud provisioning; Forge now includes zero-downtime deploys without Envoyer for single-server sites.
- A self-hosted panel such as ZoPanel runs on the server itself, adds email, DNS and per-account isolation, and has no monthly fee, but it does not provision cloud servers or manage long-running queue workers.
- Pick Forge or Ploi for many servers and heavy queues; pick a self-hosted panel when you want one server to run Laravel apps, client sites and email without a subscription.
The main Laravel Forge alternatives are Ploi, another hosted server manager with a free tier and similar Laravel tooling, and self-hosted control panels such as ZoPanel that run on your VPS and deploy Laravel from Git without a monthly service fee. Forge and Ploi are strongest when you provision many servers across cloud providers and run heavy queue workers. A self-hosted panel fits better when one or a few servers must host your Laravel apps alongside client websites, email and DNS, and you would rather not pay a subscription per month.
Below we compare releases, .env, migrations, queues and the scheduler, with sourced prices and where Forge and Ploi are better. For 3-year cost across 1, 5 and 20 servers, see our RunCloud alternative comparison.
What Laravel Forge and Ploi actually do
Both are server management as a service: the dashboard runs on the vendor's infrastructure, you connect a cloud account or your own server, and the service installs the stack and deploys your code from Git.
Laravel Forge is built by the Laravel team. According to its server providers docs, it can create servers on Laravel VPS (its own managed servers), DigitalOcean, Akamai/Linode, Vultr, AWS and Hetzner, or on any other machine through "Custom VPS". A custom server needs a fresh Ubuntu 24.04 or 26.04 x64 install with root SSH, and Forge manages every server over SSH (introduction). Its pricing FAQ says it also supports plain PHP, WordPress, Statamic, Node.js, Nuxt and Next.js.
Ploi works the same way. Its homepage lists UpCloud, DigitalOcean, Linode, Hetzner, Vultr, AWS EC2 and Scaleway, and a custom server works on any provider that can install Ubuntu, by running Ploi's command as root (Ploi docs). Marking a project as Laravel unlocks "queue workers, scheduler, octane and tuned Nginx".
What they do well
- Provisioning across clouds. Pick a provider, region and size, and the server is created and configured for you.
- Zero-downtime deploys. Forge clones each deploy into a
releasesfolder and switches acurrentsymlink only when every step succeeds, keeping the last 4 releases for rollback. On Ploi, zero-downtime deployments are listed from the Pro plan (pricing). - Envoyer is no longer required on Forge. The Forge FAQ says all new Forge subscriptions include zero-downtime deployments for a single server. Envoyer is still needed to deploy one project to multiple servers.
- Real queue workers. Forge's queue workers are monitored by Supervisor, restarted if they crash and started on boot. Horizon runs as a Forge daemon. Ploi says it "manages your queue workers automatically".
- Teams and many servers in one dashboard, with role-based access on Forge.
Where they cost you
- A recurring fee on top of the VPS, for as long as you use the service.
- A third party with root access. Forge needs root SSH; Ploi's install command runs as root. Many teams accept that, but it is a trust decision.
- App hosting, not web hosting. Neither pricing page lists a mail server, DNS hosting or hosting accounts with per-customer limits.
Prices at the time of writing (October 2026)
Prices in USD, read from each vendor's pricing page in October 2026. Check before you buy.
| Service | Plan | Servers | Price | Notable limits |
|---|---|---|---|---|
| Laravel Forge | Hobby | Unlimited Laravel VPS, 1 external server | $12/month | Community support |
| Laravel Forge | Growth | Unlimited | $19/month | 5% off Laravel VPS, standard support |
| Laravel Forge | Business | Unlimited | $39/month | 15% off Laravel VPS, advanced support |
| Ploi | Free | 1 (1 site) | $0 | 5 deployments a month, no zero-downtime |
| Ploi | Basic | 5 | $10/month or $108/year | No zero-downtime, no backups |
| Ploi | Pro | 10 | $16/month or $172.80/year | Zero-downtime, backups, monitoring |
| Ploi | Unlimited | Unlimited | $36/month or $388.80/year | Adds team management |
| ZoPanel | Free | Per server | $0 | 3 accounts, 10 websites, 10 databases |
| ZoPanel | Pro | Per server | $49/year or $199 once | Unlimited websites |
Forge also offers annual billing, but we could not read those amounts from its page, so only monthly prices are shown. Hobby allows one server outside Laravel VPS; a second one of your own means Growth. On monthly billing, Forge Hobby is 12 × $12 = $144 a year and Growth is 12 × $19 = $228 a year, before the cost of the servers.
Laravel on Forge, Ploi and ZoPanel compared
| Task | Laravel Forge | Ploi | ZoPanel |
|---|---|---|---|
| Create the server | From the dashboard on 6 providers, or Custom VPS | From the dashboard on 7 providers, or custom | You create the VPS, then run one install command |
| Supported OS | Ubuntu 24.04/26.04 (custom VPS) | Ubuntu | Ubuntu 22.04/24.04/26.04, Debian 12/13, x86-64 and ARM64 |
| Deploy from Git | Yes, push to deploy | Yes | Yes, webhook on push or API from CI |
| Zero-downtime releases | Yes, keeps 4 | Pro plan and up | Yes, keeps 5, one-click rollback |
| Queue workers | Supervisor-managed, Horizon as daemon | Managed workers | sync by default, or queue:work from cron |
| Scheduler | Built-in scheduler page | Yes | Cron job running schedule:run |
| Multi-server deploy of one app | With Envoyer | Not listed on pricing page | No |
| Email and DNS for your domains | Not listed | Not listed | Yes (mail server, PowerDNS with DNSSEC) |
| Client hosting accounts with limits | Not listed | Not listed | Yes, own Linux user, PHP-FPM pool, CPU/RAM limits |
| Where the dashboard runs | Forge's cloud | Ploi's cloud | On your server |
How ZoPanel runs a Laravel app
ZoPanel runs on the server itself. Laravel runs as a PHP website: nginx serves public and PHP runs in the account's own PHP-FPM pool. There are two ways in (Laravel docs).
One-click install creates a new laravel/laravel project and database, writes .env, and runs key:generate, migrate and storage:link.
Git deploy is the Forge-style workflow. Choose Git deploy in Websites → New website, enter the repository and branch, and ZoPanel detects Laravel. It proposes composer install --no-dev --optimize-autoloader, caches config, routes and views, adds npm run build for Vite assets, and picks the PHP version from require.php in composer.json.
What it sets up for Laravel:
.envfrom the panel. Environment variables you set in the panel are merged into a persistentshared/.envon every deploy. Lines you added by hand survive.APP_KEYgenerated once and kept, plusAPP_ENV=production,APP_DEBUG=falseand the rightAPP_URL.- Redis for sessions and cache automatically, when the account's private Redis is available.
- Persistent
storageand.envshared across releases, so uploads and logs are not lost.
How a release goes live
The code is fetched into releases/<timestamp>, install and build commands run as the hosting account inside its CPU and memory limits, then current is switched in one step and PHP-FPM is reloaded gracefully. If the build fails, current does not change and the old release keeps serving. The Releases card keeps the last 5 builds, and Rollback switches back (the database is not rolled back). Push webhooks for GitHub, GitLab and Gitea and deploy keys are in the Git deploy docs; the mechanics are explained in auto deploy from GitHub.
Migrations are not run automatically. You append php artisan migrate --force to the build command, and it runs before the new release goes live, so write migrations the running release can tolerate.
Scheduler and queues: the honest gap
This is where Forge and Ploi are clearly ahead. ZoPanel has no Supervisor-style page for long-running PHP queue workers or Horizon. Instead:
- the scheduler runs from a Cron Job every minute:
cd /home/alice/domains/example.com/current && /usr/bin/php8.3 artisan schedule:run; - Git deploy sets
QUEUE_CONNECTION=sync, so jobs run inside the request. That needs no worker and suits light jobs; - for background jobs, switch to the
databaseorredisqueue and runqueue:work --stop-when-empty --max-time=55from a cron job every minute.
That covers emails and notifications for a typical business app. If you depend on Horizon or jobs that must start within a second, Forge or Ploi serve you better today.
Other limits to know before switching
- No cloud provisioning. You create the VPS yourself, then run
curl -fsSL https://get.zopanel.net | sudo bash. - One panel per server. The fleet feature gives one controller view of your servers, but each server needs its own licence.
- No multi-server deploy of one app behind a load balancer.
- Octane is not covered in ZoPanel's Laravel docs; the documented path is PHP-FPM.
What you gain: the panel lives on your server with no subscription, and the same box can host WordPress sites, email and DNS. Each hosting account gets its own Linux user, PHP-FPM pool and CPU, RAM and process limits, so a runaway job in one app cannot starve the others. Running several Laravel apps on different PHP versions is covered in multiple PHP versions on one server. If you are also weighing CloudPanel, which is free but has no mail server, see CloudPanel alternatives.
Moving a Laravel app off Forge or Ploi
- Inventory environment variables, deploy script steps, queue workers and scheduled jobs.
- Install ZoPanel on a fresh VPS, never over a Forge or Ploi server.
- Create the database and import a
mysqldumpfrom the old server. - Create a Git deploy website, use Paste .env, and keep the same
APP_KEY: a new key signs every user out and makes encrypted data unreadable. - Add migrations to the build command and recreate scheduler and queue cron jobs.
- Copy uploads to
shared/storageover SFTP, test with yourhostsfile, then switch DNS.
Conclusion
Laravel Forge and Ploi remain excellent if you provision many servers across clouds, run Horizon or heavy queues, or need team access across a fleet; Ploi's free tier is also a fair way to try one small site. A self-hosted panel is the better Laravel Forge alternative when one or a few VPS run your Laravel apps next to client websites, email and DNS, and you want zero-downtime Git deploys without a monthly fee. Try it on a test VPS first: ZoPanel's Free plan gives you 3 hosting accounts, 10 websites and 10 databases with no time limit, enough to deploy a real Laravel app from Git and compare.
Frequently asked questions
Is there a free alternative to Laravel Forge?
Yes. Ploi's free plan covers 1 server and 1 site with 5 deployments a month. ZoPanel Free (10 websites, 10 databases) includes Git deploy. GitHub Actions over SSH is also free, but you maintain the scripts.
Do I still need Envoyer with Laravel Forge?
For most single-server sites, no. Forge's FAQ says new subscriptions include zero-downtime deployments for one server. Envoyer is still useful if you deploy one project to several servers at once.
Can I use Laravel Forge with my own VPS?
Yes, through the Custom VPS option. The server must run a fresh Ubuntu 24.04 or 26.04 x64 install, be reachable from the internet and allow root SSH. On the Hobby plan, only one such external server is included.
How do I run Laravel queues without Forge?
On a plain VPS, Supervisor or a systemd service keeps queue:work running. On ZoPanel, keep QUEUE_CONNECTION=sync for light jobs or run queue:work --stop-when-empty --max-time=55 from a cron job every minute.
Is Ploi cheaper than Forge?
On list prices, yes for small setups: Ploi Basic is $10 a month for 5 servers, while Forge Hobby is $12 a month with one external server. Zero-downtime deploys on Ploi start at Pro ($16 a month), and Forge includes them on every plan, so compare the plan that has the features you need.
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.

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.

RunCloud alternative without a monthly fee per server
Looking for a RunCloud alternative? Compare RunCloud, Ploi and ServerAvatar with self-hosted panels over 3 years, and learn how to move your sites off.