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.

Table comparing Laravel Forge, Ploi and a self-hosted panel for deploying Laravel apps

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 releases folder and switches a current symlink 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:

  • .env from the panel. Environment variables you set in the panel are merged into a persistent shared/.env on every deploy. Lines you added by hand survive.
  • APP_KEY generated once and kept, plus APP_ENV=production, APP_DEBUG=false and the right APP_URL.
  • Redis for sessions and cache automatically, when the account's private Redis is available.
  • Persistent storage and .env shared 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 database or redis queue and run queue:work --stop-when-empty --max-time=55 from 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

  1. Inventory environment variables, deploy script steps, queue workers and scheduled jobs.
  2. Install ZoPanel on a fresh VPS, never over a Forge or Ploi server.
  3. Create the database and import a mysqldump from the old server.
  4. 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.
  5. Add migrations to the build command and recreate scheduler and queue cron jobs.
  6. Copy uploads to shared/storage over SFTP, test with your hosts file, 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.