Berlangganan Laravel Forge atau Ploi memang nyaman — provisioning server otomatis, SSL satu klik, deployment dari Git. Tapi harga bulanannya terasa berat ketika harus mengelola banyak server sekaligus, apalagi untuk proyek freelance atau klien kecil yang marginnya tipis. VPS sudah murah, tapi semua fitur itu harus dibayar lagi ke platform SaaS.
VitoDeploy menawarkan alternatif yang berbeda. Tool open source ini membawa semua kemampuan server management dan PHP deployment ke server milik sendiri — tanpa biaya langganan, tanpa batas jumlah server yang dikelola. Satu instalasi Vito bisa terhubung dan mengelola puluhan server produksi sekaligus dari satu dashboard.
Artikel ini membahas apa yang bisa dilakukan VitoDeploy, bagaimana cara menginstalnya, dan alur kerja dasar dari menambahkan server hingga deploy aplikasi Laravel ke production.
Apa Itu VitoDeploy dan Apa Bedanya dengan Forge
VitoDeploy adalah aplikasi web self-hosted untuk manajemen server dan deployment aplikasi PHP. Cara kerjanya sederhana: Vito diinstal di satu VPS khusus, lalu dari sana ia terhubung ke server-server produksi melalui SSH untuk mengotomatisasi semua pekerjaan sysadmin.
Bedanya dengan Laravel Forge atau Ploi adalah soal kepemilikan. Forge dan Ploi adalah layanan SaaS — data konfigurasi dan akses server ada di infrastruktur mereka. VitoDeploy sepenuhnya berjalan di server sendiri. Tidak ada pihak ketiga yang menyimpan SSH key atau kredensial server.
Posisi VitoDeploy juga berbeda dari Coolify dan Dokploy. Coolify dan Dokploy berorientasi pada container dan Docker, cocok untuk berbagai stack. VitoDeploy justru fokus pada pendekatan tradisional: nginx, PHP-FPM, Supervisor — setup yang sudah familiar bagi developer Laravel yang biasa kerja dengan VPS.
| Aspek | VitoDeploy | Laravel Forge | Coolify |
|---|---|---|---|
| Model hosting | Self-hosted | SaaS | Self-hosted |
| Biaya | Gratis | $12–$29/bulan | Gratis |
| Fokus stack | PHP/Laravel | PHP/Laravel | Multi-stack (Docker) |
| Pendekatan deployment | Traditional (nginx + PHP-FPM) | Traditional | Container-based |
| Open source | Ya (AGPL-3.0) | Tidak | Ya |
Fitur yang Tersedia di VitoDeploy
VitoDeploy hadir dengan fitur yang cukup lengkap untuk kebutuhan deployment sehari-hari.
Server Provisioning dan Manajemen PHP
Dari dashboard, bisa menambahkan server dengan koneksi SSH ke provider mana pun — DigitalOcean, Vultr, Hetzner, atau VPS dari mana saja. Vito kemudian menginstal dan mengkonfigurasi nginx, PHP (bisa pilih versi), Node.js, dan layanan lain yang diperlukan secara otomatis.
Manajemen versi PHP multi-instance juga tersedia. Satu server bisa menjalankan PHP 8.1 dan PHP 8.3 secara bersamaan, dan setiap site bisa dikonfigurasi menggunakan versi yang berbeda.
Database Management
Vito mendukung MySQL, MariaDB, dan PostgreSQL. Bisa membuat database, mengelola user dan permission, serta mengkonfigurasi backup — semuanya tanpa harus masuk ke CLI server. Plugin tambahan untuk database juga tersedia melalui sistem plugin bawaan.
Deployment Aplikasi
Untuk deploy aplikasi Laravel atau PHP lainnya, Vito terhubung ke repository di GitHub, GitLab, atau Bitbucket. Setelah site dikonfigurasi, deployment bisa dipicu manual dari dashboard atau otomatis via webhook saat ada push ke branch tertentu.
Setiap deployment menjalankan script yang bisa dikustomisasi: composer install, php artisan migrate, php artisan config:cache, dan perintah lain yang dibutuhkan. Hasilnya tersimpan sebagai deployment log yang bisa diinspeksi jika ada masalah.
SSL, Firewall, dan Layanan Tambahan
SSL dari Let’s Encrypt bisa diaktifkan satu klik per domain. Manajemen firewall tersedia untuk mengontrol port mana yang terbuka. Untuk aplikasi yang menggunakan Laravel Queue, Vito bisa mengkonfigurasi Supervisor otomatis tanpa perlu edit file konfigurasi secara manual.
Fitur lain yang tersedia: cron job management, Redis, SSH key management, dan monitoring dasar untuk CPU, memori, serta disk.
VitoDeploy juga menyediakan API RESTful yang bisa digunakan untuk mengintegrasikan deployment ke pipeline CI/CD eksternal seperti GitHub Actions atau GitLab CI.
Instalasi VitoDeploy di VPS
VitoDeploy butuh satu VPS khusus sebagai “control plane” — terpisah dari server-server produksi yang akan dikelola. Ini penting karena Vito tidak bisa digunakan untuk mengelola server tempat ia sendiri diinstal.
Persyaratan Sistem
Sebelum mulai instalasi, pastikan memiliki:
- VPS dengan Ubuntu 24.04 LTS (satu-satunya OS yang didukung secara resmi)
- Minimal 1 GB RAM dan 1 CPU core
- Port 80 dan 443 terbuka
- Akses root via SSH
Instalasi via Script
Masuk ke VPS sebagai root, lalu jalankan script instalasi berikut:
bash <(curl -Ls https://raw.githubusercontent.com/vitodeploy/vito/3.x/scripts/install.sh)
Script akan meminta email admin dan password. Proses instalasi mencakup setup PHP, nginx, database, dan konfigurasi aplikasi Vito secara otomatis. Setelah selesai, akses Vito dari browser menggunakan IP server.
Instalasi via Docker
Alternatif lain adalah menggunakan Docker Compose, cocok jika sudah ada lingkungan Docker di server:
# docker-compose.yml
services:
vito:
image: vitodeploy/vito:latest
ports:
- "80:80"
- "443:443"
environment:
APP_KEY: "base64:kunci-enkripsi-32-karakter-disini"
APP_URL: "https://vito.domain-anda.com"
ADMIN_EMAIL: "admin@domain-anda.com"
ADMIN_PASSWORD: "password-aman"
volumes:
- vito_storage:/var/www/html/storage
- vito_plugins:/var/www/html/plugins
volumes:
vito_storage:
vito_plugins:
Jalankan dengan docker compose up -d, lalu akses dashboard dari browser.
Jangan instal aplikasi produksi di server yang sama dengan Vito. Menjalankan keduanya di satu VPS berisiko membuat instance Vito tidak stabil jika beban server naik.
Menghubungkan Server Produksi
Setelah Vito terinstal dan bisa diakses dari browser, langkah berikutnya adalah menghubungkan server produksi.
Menambahkan SSH Key
Buka dashboard Vito, masuk ke menu SSH Keys, dan salin public key yang sudah digenerate oleh Vito. Tambahkan key ini ke file ~/.ssh/authorized_keys di server produksi sebagai user root atau user dengan sudo privileges.
Menambahkan Server
Di menu Servers, klik Add Server dan isi detail koneksi: IP address, port SSH, dan nama server. Vito akan melakukan koneksi test untuk memastikan SSH key sudah terpasang dengan benar.
Setelah server berhasil ditambahkan, Vito bisa memulai provisioning — menginstal nginx, PHP versi yang dipilih, dan layanan lain yang diperlukan secara otomatis di server tersebut.
Deploy Aplikasi Laravel dengan VitoDeploy
Dengan server sudah terhubung, proses menambahkan dan mendeploy aplikasi Laravel bisa dilakukan sepenuhnya dari dashboard.
Menghubungkan Repository Git
Sebelum membuat site, hubungkan akun GitHub, GitLab, atau Bitbucket melalui menu Source Control di pengaturan profil. Vito menggunakan OAuth untuk mendapatkan akses ke repository.
Membuat Site Baru
Di halaman detail server, klik New Site dan isi konfigurasi:
- Domain — nama domain atau subdomain yang akan dipakai
- PHP Version — versi PHP untuk site ini
- Repository — pilih dari daftar repository yang terhubung
- Branch — branch yang akan digunakan untuk production
Vito kemudian mengkonfigurasi nginx virtual host dan mengklon repository ke direktori yang sesuai di server.
Mengkonfigurasi Deployment Script
Setelah site dibuat, buka menu Deployment dan edit script deployment sesuai kebutuhan aplikasi:
cd /var/www/nama-aplikasi
git pull origin main
composer install --no-dev --optimize-autoloader
php artisan migrate --force
php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan queue:restart
Script ini akan dieksekusi setiap kali deployment dipicu — baik secara manual maupun via webhook otomatis.
Mengaktifkan Auto-Deploy via Webhook
Di bagian bawah halaman Deployment, tersedia Webhook URL yang bisa ditambahkan ke repository sebagai webhook. Setiap push ke branch yang dikonfigurasi akan memicu deployment otomatis, tanpa perlu intervensi manual.
Hal yang Perlu Diketahui
Beberapa catatan penting sebelum menggunakan VitoDeploy di production:
- Hanya Ubuntu 24.04 LTS yang didukung secara resmi untuk instalasi di VPS. Menggunakan OS lain bisa berjalan, tapi tidak ada garansi kompatibilitas.
- Backup Vito secara rutin — konfigurasi semua server dan site tersimpan di database Vito. Jika VPS Vito rusak tanpa backup, semua konfigurasi perlu dikonfigurasi ulang manual.
- Plugins dari marketplace masih terbatas. Untuk fitur advanced seperti Laravel Octane atau Laravel Reverb, perlu diinstal lewat sistem plugin bawaan yang cukup mudah, tapi pilihan pluginnya belum sebanyak platform komersial.
- Komunitas masih berkembang — dokumentasi sudah cukup baik untuk kebutuhan dasar, tapi untuk edge case spesifik mungkin perlu eksplor Discord atau membuka issue di GitHub.
Kesimpulan
VitoDeploy mengisi celah yang selama ini butuh kompromi: kalau mau deployment yang nyaman harus bayar Forge atau Ploi, kalau mau gratis harus setup semuanya manual. Dengan VitoDeploy, workflow yang familiar — Git push, auto-deploy, SSL otomatis, manajemen database — bisa dimiliki di infrastruktur sendiri tanpa biaya berlangganan. Untuk developer Laravel yang sudah nyaman dengan pendekatan tradisional berbasis nginx dan PHP-FPM, ini bisa menjadi setup yang cukup memuaskan untuk jangka panjang.