Kenalan dengan VitoDeploy: Alternatif Self-Hosted Laravel Forge yang Gratis
DevOps Tutorial Self-Hosting #vitodeploy #self-hosted #server-management #laravel

Kenalan dengan VitoDeploy: Alternatif Self-Hosted Laravel Forge yang Gratis

A
Abd. Asis
4 min read
Bagikan:

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.

AspekVitoDeployLaravel ForgeCoolify
Model hostingSelf-hostedSaaSSelf-hosted
BiayaGratis$12–$29/bulanGratis
Fokus stackPHP/LaravelPHP/LaravelMulti-stack (Docker)
Pendekatan deploymentTraditional (nginx + PHP-FPM)TraditionalContainer-based
Open sourceYa (AGPL-3.0)TidakYa

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.

Referensi

  1. 1VitoDeploy Documentation — Introduction & Getting Started
  2. 2vitodeploy/vito — GitHub Repository
  3. 310 Tools to Deploy Laravel Projects to Server — Laravel Daily
  4. 4Vitodeploy: Self hosted Laravel Forge alternative — Hacker News Discussion

Tentang Penulis

Abd. Asis

Abd. Asis

Software Developer dan Laravel Programmer dari Madura, Indonesia. Passionate tentang PHP, Laravel, dan teknologi web modern.

Komentar

Artikel Terkait

Artikel lain yang mungkin menarik untuk kamu