# Thay thế Laravel Forge và Ploi ngay trên VPS của bạn

> Tìm giải pháp thay thế Laravel Forge? So sánh Forge, Ploi và panel tự host về deploy, queue, scheduler và chi phí trên VPS của bạn.

Source: https://zopanel.net/vi/blog/laravel-forge-alternative  
Updated: 2026-10-21

## Ý chính

- Laravel Forge và Ploi là dịch vụ quản lý server từ xa qua SSH hoặc agent, bạn trả phí hàng tháng ngoài tiền VPS.
- Cả hai có deploy không downtime, queue worker được quản lý và tạo server trên nhiều nhà cung cấp cloud; Forge nay đã kèm deploy không downtime cho một server mà không cần Envoyer.
- Panel tự host như ZoPanel chạy ngay trên server, có thêm email, DNS, cách ly theo tài khoản và không thu phí hàng tháng, nhưng không tạo server cloud và không quản lý queue worker chạy liên tục.
- Chọn Forge hoặc Ploi khi có nhiều server và queue nặng; chọn panel tự host khi một server cần chạy ứng dụng Laravel, website khách hàng và email mà không phải trả subscription.

Các giải pháp thay thế Laravel Forge chính là Ploi, một dịch vụ quản lý server khác có gói miễn phí và công cụ Laravel tương tự, và các control panel tự host như ZoPanel, chạy ngay trên VPS và deploy Laravel từ Git mà không mất phí dịch vụ hàng tháng. Forge và Ploi mạnh nhất khi bạn tạo nhiều server trên nhiều nhà cung cấp cloud và chạy queue worker nặng. Panel tự host hợp hơn khi một vài server phải chạy ứng dụng Laravel cùng website khách hàng, email và DNS, và bạn không muốn trả subscription mỗi tháng.

Bài này so sánh cách từng lựa chọn xử lý release, `.env`, migration, queue và scheduler, kèm bảng giá có nguồn và những điểm Forge, Ploi làm tốt hơn. Nếu bạn cần tính chi phí 3 năm cho 1, 5 và 20 server, xem bài [thay thế RunCloud](/vi/blog/runcloud-alternative).

## Laravel Forge và Ploi thực chất làm gì?

Cả hai đều là **dịch vụ quản lý server (SaaS)**: dashboard chạy trên hạ tầng của nhà cung cấp, bạn kết nối tài khoản cloud hoặc server riêng, dịch vụ cài web stack và deploy code từ Git cho bạn.

**Laravel Forge** do chính đội Laravel làm. Theo [tài liệu server provider](https://laravel.com/forge/docs/server-providers.md), Forge tạo được server trên Laravel VPS (server do Laravel quản lý), DigitalOcean, Akamai/Linode, Vultr, AWS và Hetzner, hoặc trên bất kỳ máy nào khác qua tuỳ chọn "Custom VPS". Server tự mang đến phải cài mới Ubuntu 24.04 hoặc 26.04 x64 và mở SSH bằng root; Forge quản lý mọi server qua SSH ([giới thiệu](https://laravel.com/forge/docs/introduction.md)). Theo [FAQ trang giá](https://laravel.com/forge/pricing), Forge cũng hỗ trợ PHP thuần, WordPress, Statamic, Node.js, Nuxt và Next.js.

**Ploi** hoạt động tương tự. [Trang chủ Ploi](https://ploi.io/) liệt kê UpCloud, DigitalOcean, Linode, Hetzner, Vultr, AWS EC2 và Scaleway; với server riêng, bạn chạy lệnh Ploi cung cấp bằng user root trên bất kỳ nhà cung cấp nào cài được Ubuntu ([tài liệu Ploi](https://ploi.io/documentation/server/how-do-i-install-a-custom-server)). Nghĩa là VPS mua ở nhà cung cấp trong nước, miễn cài được Ubuntu, cũng dùng được. Đánh dấu project là Laravel sẽ mở "queue workers, scheduler, octane and tuned Nginx".

### Điểm mạnh

- **Tạo server trên nhiều cloud.** Chọn nhà cung cấp, khu vực, cấu hình, server được tạo và cấu hình sẵn.
- **Deploy không downtime.** Forge [clone mỗi lần deploy vào thư mục `releases`](https://laravel.com/forge/docs/sites/deployments.md) và chỉ đổi symlink `current` khi mọi bước thành công, giữ 4 release gần nhất để rollback. Với Ploi, deploy không downtime có từ gói Pro ([bảng giá](https://ploi.io/pricing)).
- **Forge không còn bắt buộc Envoyer.** FAQ của Forge cho biết mọi subscription Forge mới đã có deploy không downtime cho một server. Envoyer vẫn cần khi deploy một project lên nhiều server.
- **Queue worker thực thụ.** [Queue worker của Forge](https://laravel.com/forge/docs/sites/queues.md) được Supervisor giám sát, tự khởi động lại khi lỗi và khi server reboot. Horizon chạy dưới dạng daemon của Forge. Ploi cho biết họ "manages your queue workers automatically".
- **Một dashboard cho nhiều server và cả team,** có phân quyền theo vai trò trên Forge.

### Điểm phải trả giá

- **Phí định kỳ ngoài tiền VPS,** trả suốt thời gian dùng.
- **Bên thứ ba có quyền root.** Forge cần SSH root; lệnh cài của Ploi chạy bằng root. Nhiều team chấp nhận điều này, nhưng đó là một quyết định về độ tin cậy.
- **Hosting ứng dụng, không phải web hosting.** Trang giá của cả hai không liệt kê mail server, DNS hosting hay tài khoản hosting có giới hạn theo khách hàng.

## Bảng giá tại thời điểm viết bài (10/2026)

Giá tính bằng USD, đọc từ trang giá của từng hãng vào tháng 10/2026. Hãy kiểm tra lại trước khi mua.

| Dịch vụ | Gói | Số server | Giá | Giới hạn đáng chú ý |
| --- | --- | --- | --- | --- |
| [Laravel Forge](https://laravel.com/forge/pricing) | Hobby | Laravel VPS không giới hạn, 1 server bên ngoài | 12 USD/tháng | Hỗ trợ cộng đồng |
| Laravel Forge | Growth | Không giới hạn | 19 USD/tháng | Giảm 5% Laravel VPS, hỗ trợ tiêu chuẩn |
| Laravel Forge | Business | Không giới hạn | 39 USD/tháng | Giảm 15% Laravel VPS, hỗ trợ nâng cao |
| [Ploi](https://ploi.io/pricing) | Free | 1 (1 website) | 0 | 5 lần deploy/tháng, không có deploy không downtime |
| Ploi | Basic | 5 | 10 USD/tháng hoặc 108 USD/năm | Không có deploy không downtime, không backup |
| Ploi | Pro | 10 | 16 USD/tháng hoặc 172,80 USD/năm | Deploy không downtime, backup, giám sát |
| Ploi | Unlimited | Không giới hạn | 36 USD/tháng hoặc 388,80 USD/năm | Thêm quản lý team |
| [ZoPanel](/vi/pricing) | Free | Theo server | 0 | 3 tài khoản, 10 website, 10 database |
| ZoPanel | Pro | Theo server | 49 USD/năm hoặc 199 USD trọn đời | Website không giới hạn |

Forge có thanh toán theo năm, nhưng chúng tôi không đọc được số tiền năm trên trang của họ, nên bảng chỉ ghi giá tháng. Gói Hobby chỉ cho một server ngoài Laravel VPS; server riêng thứ hai nghĩa là phải lên Growth. Trả theo tháng, Forge Hobby là 12 × 12 = 144 USD/năm và Growth là 12 × 19 = 228 USD/năm, chưa tính tiền server.

## So sánh chạy Laravel trên Forge, Ploi và ZoPanel

| Việc cần làm | Laravel Forge | Ploi | ZoPanel |
| --- | --- | --- | --- |
| Tạo server | Từ dashboard trên 6 nhà cung cấp, hoặc Custom VPS | Từ dashboard trên 7 nhà cung cấp, hoặc server riêng | Bạn tự tạo VPS, rồi chạy một lệnh cài |
| Hệ điều hành | Ubuntu 24.04/26.04 (Custom VPS) | Ubuntu | Ubuntu 22.04/24.04/26.04, Debian 12/13, x86-64 và ARM64 |
| Deploy từ Git | Có, push là deploy | Có | Có, webhook khi push hoặc API từ CI |
| Release không downtime | Có, giữ 4 bản | Từ gói Pro | Có, giữ 5 bản, rollback một chạm |
| Queue worker | Supervisor quản lý, Horizon chạy dạng daemon | Worker được quản lý | Mặc định `sync`, hoặc `queue:work` qua cron |
| Scheduler | Trang scheduler riêng | Có | Cron job chạy `schedule:run` |
| Deploy một app lên nhiều server | Qua Envoyer | Không ghi trên trang giá | Không |
| Email và DNS cho domain | Không liệt kê | Không liệt kê | Có (mail server, PowerDNS có DNSSEC) |
| Tài khoản hosting cho khách, có giới hạn | Không liệt kê | Không liệt kê | Có, user Linux, pool PHP-FPM, giới hạn CPU/RAM riêng |
| Dashboard chạy ở đâu | Cloud của Forge | Cloud của Ploi | Trên server của bạn |

## ZoPanel chạy ứng dụng Laravel thế nào?

ZoPanel chạy ngay trên server. Laravel chạy như một website PHP: nginx phục vụ thư mục `public`, PHP chạy trong pool PHP-FPM riêng của tài khoản. Có hai cách cài ([tài liệu Laravel](/vi/docs/laravel)).

**Cài một chạm** tạo project `laravel/laravel` mới cùng database, viết `.env`, rồi chạy `key:generate`, `migrate` và `storage:link`.

**Git deploy** là quy trình kiểu Forge. Chọn **Git deploy** ở **Websites → New website**, nhập repository và branch, ZoPanel tự nhận ra Laravel. Panel đề xuất `composer install --no-dev --optimize-autoloader`, cache config, route và view, thêm `npm run build` cho asset Vite, và chọn phiên bản PHP theo `require.php` trong `composer.json`.

ZoPanel thiết lập sẵn cho Laravel:

- **`.env` từ panel.** Biến môi trường đặt trong panel được gộp vào file `shared/.env` dùng chung ở mỗi lần deploy. Các dòng bạn tự thêm vẫn được giữ.
- **`APP_KEY` tạo một lần và giữ nguyên**, cùng `APP_ENV=production`, `APP_DEBUG=false` và `APP_URL` đúng domain.
- **Redis cho session và cache** tự động, khi Redis riêng của tài khoản đang có.
- **`storage` và `.env` được giữ** qua các release, nên file upload và log không bị mất.

### Một release lên sóng thế nào?

Code được tải vào `releases/<timestamp>`, lệnh install và build chạy bằng user của tài khoản hosting trong giới hạn CPU và RAM, sau đó `current` được chuyển trong một bước và PHP-FPM reload nhẹ nhàng. Nếu build lỗi, `current` giữ nguyên và release cũ tiếp tục phục vụ. Thẻ **Releases** giữ 5 bản build gần nhất, nút **Rollback** chuyển về bản cũ (database không được rollback). Webhook cho GitHub, GitLab, Gitea và deploy key cho repo private có trong [tài liệu Git deploy](/vi/docs/git-deploy); cơ chế chi tiết xem bài [tự động deploy từ GitHub](/vi/blog/git-auto-deploy).

Migration không tự chạy. Bạn thêm `php artisan migrate --force` vào cuối lệnh build; lệnh chạy trước khi release mới lên sóng, nên hãy viết migration mà bản đang chạy vẫn chịu được.

### Scheduler và queue: điểm còn thiếu

Ở phần này Forge và Ploi rõ ràng hơn. ZoPanel chưa có trang kiểu Supervisor để quản lý queue worker PHP chạy liên tục hay Horizon. Thay vào đó:

- scheduler chạy bằng **Cron Job** mỗi phút: `cd /home/alice/domains/example.com/current && /usr/bin/php8.3 artisan schedule:run`;
- Git deploy đặt `QUEUE_CONNECTION=sync`, job chạy ngay trong request, không cần worker, hợp với job nhẹ;
- với job nền, chuyển sang queue `database` hoặc `redis` và chạy `queue:work --stop-when-empty --max-time=55` bằng cron mỗi phút.

Cách này đủ cho gửi email, thông báo của một ứng dụng doanh nghiệp thông thường. Nếu bạn phụ thuộc Horizon hoặc job phải chạy trong vòng một giây, hiện tại Forge hoặc Ploi phù hợp hơn.

## Các hạn chế khác cần biết trước khi chuyển

- **Không tạo server cloud.** Bạn tự tạo VPS, rồi chạy `curl -fsSL https://get.zopanel.net | sudo bash`.
- **Mỗi server một panel.** Tính năng [fleet](/vi/docs/fleet) cho một server điều khiển xem được các server khác, nhưng mỗi server vẫn cần license riêng.
- **Không deploy một app lên nhiều server** sau load balancer.
- **Octane không có trong tài liệu Laravel** của ZoPanel; cách được hướng dẫn là PHP-FPM.

Bù lại: panel nằm trên server của bạn, không có subscription, và cùng một máy có thể chạy website WordPress, email và DNS. Mỗi tài khoản hosting có user Linux, pool PHP-FPM và giới hạn CPU, RAM, tiến trình riêng, nên một job chạy quá tải ở app này không kéo sập app khác. Nếu chạy nhiều app Laravel trên các phiên bản PHP khác nhau, xem [nhiều phiên bản PHP trên một server](/vi/blog/multiple-php-versions). Nếu bạn đang cân nhắc cả CloudPanel (miễn phí nhưng không có mail server), xem [thay thế CloudPanel](/vi/blog/cloudpanel-alternative).

## Chuyển ứng dụng Laravel khỏi Forge hoặc Ploi

1. **Kiểm kê** biến môi trường, các bước trong deploy script, queue worker và scheduled job.
2. **Cài ZoPanel trên VPS mới**, không cài đè lên server Forge hay Ploi.
3. **Tạo database** và import bản `mysqldump` từ server cũ.
4. **Tạo website Git deploy,** dùng **Paste .env** và giữ nguyên `APP_KEY`: key mới sẽ đăng xuất mọi người dùng và làm dữ liệu mã hoá không đọc được.
5. **Thêm migration** vào lệnh build và tạo lại cron cho scheduler, queue.
6. **Copy file upload** vào `shared/storage` qua SFTP, test bằng file `hosts`, rồi đổi DNS.

## Kết luận

Laravel Forge và Ploi vẫn rất tốt nếu bạn tạo nhiều server trên nhiều cloud, chạy Horizon hoặc queue nặng, hay cần team cùng quản lý cả cụm server; gói Free của Ploi cũng là cách hợp lý để thử một website nhỏ. Panel tự host là giải pháp thay thế Laravel Forge tốt hơn khi một vài VPS chạy ứng dụng Laravel cùng website khách hàng, email và DNS, và bạn muốn deploy Git không downtime mà không trả phí hàng tháng. Hãy thử trên một VPS test trước: [gói Free của ZoPanel](/vi/pricing) có 3 tài khoản hosting, 10 website và 10 database, không giới hạn thời gian, đủ để deploy một ứng dụng Laravel thật từ Git và so sánh.

## Câu hỏi thường gặp

### Có giải pháp miễn phí thay thế Laravel Forge không?

Có. Gói Free của Ploi cho 1 server, 1 website và 5 lần deploy mỗi tháng. ZoPanel Free (10 website, 10 database) có sẵn Git deploy. GitHub Actions qua SSH cũng miễn phí, nhưng bạn phải tự bảo trì script.

### Dùng Laravel Forge có còn cần Envoyer không?

Với đa số website chạy trên một server, không cần. FAQ của Forge cho biết subscription mới đã có deploy không downtime cho một server. Envoyer vẫn hữu ích nếu bạn deploy một project lên nhiều server cùng lúc.

### Có dùng Laravel Forge với VPS riêng được không?

Được, qua tuỳ chọn Custom VPS. Server phải cài mới Ubuntu 24.04 hoặc 26.04 x64, truy cập được từ internet và cho phép SSH bằng root. Gói Hobby chỉ gồm một server bên ngoài như vậy.

### Chạy queue Laravel không có Forge thế nào?

Trên VPS thường, Supervisor hoặc một service systemd giữ `queue:work` luôn chạy. Trên ZoPanel, giữ `QUEUE_CONNECTION=sync` cho job nhẹ, hoặc chạy `queue:work --stop-when-empty --max-time=55` bằng cron mỗi phút.

### Ploi có rẻ hơn Forge không?

Theo giá niêm yết, với hệ thống nhỏ thì có: Ploi Basic 10 USD/tháng cho 5 server, còn Forge Hobby 12 USD/tháng với một server bên ngoài. Nhưng deploy không downtime trên Ploi bắt đầu từ gói Pro (16 USD/tháng), còn Forge có ở mọi gói, nên hãy so sánh gói có đúng tính năng bạn cần.
