Cara Deploy Website: Panduan Lengkap dari Static sampai Aplikasi
Kamu sudah selesai membuat website di laptop, lalu bagaimana supaya orang lain bisa membukanya? Di sinilah kamu perlu tahu cara deploy website. Deploy artinya memindahkan kode dari komputer lokal ke server yang online 24 jam, lengkap dengan domain dan HTTPS, supaya website bisa diakses siapa saja.
Cara deploy sangat bergantung pada jenis website. HTML statis bisa online gratis dalam beberapa langkah, sedangkan aplikasi Laravel atau Node.js butuh server yang bisa menjalankan kode dan terhubung ke database.
Panduan ini membahas pilihan deploy sesuai jenis website, opsi gratis untuk situs statis, langkah deploy aplikasi di Helipod, rute VPS, dan checklist sebelum website kamu go live.
Baca juga: Deploy Gratis Tanpa Kartu Kredit dan Custom Domain di Helipod
Apa Itu Deploy Website?#
Proses deploy umumnya terdiri dari:
- Build: menyiapkan kode untuk production, misalnya
npm run builduntuk React ataucomposer install --no-devuntuk Laravel. - Upload atau pull: kode atau hasil build dipindahkan ke server.
- Run: server menjalankan aplikasi (untuk website dinamis) atau menyajikan file (untuk website statis).
- Expose: website dihubungkan ke domain dan diberi sertifikat SSL supaya bisa dibuka lewat HTTPS.
Di platform modern, keempat langkah ini bisa berjalan otomatis setiap kali kamu push ke Git.
Cara Deploy Website Sesuai Jenisnya#
| Jenis website | Contoh | Butuh apa | Pilihan deploy |
|---|---|---|---|
| Statis | HTML/CSS, hasil build React, Vue, Astro | Hanya file server | GitHub Pages, Cloudflare Pages, atau PaaS |
| PHP / Laravel | Laravel, aplikasi PHP | PHP runtime, biasanya database | PaaS, VPS, atau shared hosting |
| Aplikasi Node.js / Python | Express, NestJS, Next.js, FastAPI, Django | Proses yang terus berjalan dan mendengarkan port | PaaS atau VPS |
| WordPress | Blog, company profile, toko online | PHP + MySQL/MariaDB | Hosting WordPress, VPS, atau PaaS |
Prinsipnya: kalau website hanya berupa file, pakai hosting statis. Kalau ada kode yang harus jalan di server, kamu butuh PaaS atau VPS.
Opsi Gratis untuk Website Statis#
Untuk website statis, ada pilihan gratis yang bagus dan memang layak dipakai:
- GitHub Pages: gratis untuk repository public, website di
username.github.io, bisa pakai custom domain dengan HTTPS. Cocok untuk portfolio dan dokumentasi. - Cloudflare Pages: paket gratis dengan bandwidth tidak dibatasi dan jumlah build per bulan yang terbatas. Terhubung ke GitHub atau GitLab dan build otomatis setiap push.
Untuk React atau Vue, pastikan kamu deploy folder hasil build (dist atau build), bukan folder src. Keterbatasannya: hosting statis tidak bisa menjalankan backend, jadi API dan database harus ditaruh di tempat lain.
Cara Deploy Website ke Helipod#
Untuk website dinamis (Laravel, Node.js, Python, Go, Ruby) atau website statis yang ingin dikelola bersama backend-nya, berikut langkah di Helipod.
1. Daftar dan Isi Wallet#
Masuk dengan akun Google atau GitHub. Pembayaran memakai saldo wallet dalam Rupiah yang diisi lewat QRIS atau virtual account bank (Mandiri, BRI, BNI, BJB, BSI, CIMB, Permata). Tidak perlu kartu kredit.
2. Hubungkan Repository atau Docker Image#
Buat project dan service baru, lalu pilih sumbernya:
- Repository GitHub atau GitLab, atau
- Docker image yang sudah kamu bangun sendiri.
3. Build Otomatis#
Helipack mendeteksi framework (misalnya Next.js, Laravel, FastAPI, Django) dan membuat Dockerfile secara otomatis. Kalau repository sudah punya Dockerfile, Helipod memakai Dockerfile milikmu. Panduan khusus framework, misalnya Laravel, ada di cara deploy Laravel ke Helipod.
Pastikan aplikasimu mendengarkan port dan memakai 0.0.0.0, bukan localhost. Contoh untuk Express:
const port = process.env.PORT || 3000;
app.listen(port, "0.0.0.0", () => {
console.log(`Server berjalan di port ${port}`);
});
Port dideteksi dari kode atau Dockerfile, dan bisa diatur manual kalau perlu.
4. Atur Environment Variables#
Masukkan konfigurasi seperti APP_KEY, DATABASE_URL, atau API key di menu environment variables dan secrets, bukan di kode. Kalau butuh database, kamu bisa memakai managed Postgres dari Helipod.
5. Pasang Custom Domain dan SSL#
Tambahkan domain kamu di service, lalu arahkan DNS sesuai petunjuk. SSL dipasang otomatis. Belum punya domain? Cek domain murah.
6. Pantau Logs#
Lihat proses build dan output aplikasi lewat real-time logs. Kalau ada error, kamu bisa masuk ke container lewat web terminal, atau minta Heli Crew, asisten AI DevOps bawaan, membaca log dan menjelaskan penyebabnya.
Berapa Biayanya?#
Helipod memakai sistem pay-as-you-go yang ditagih harian dari wallet. Contoh: 0,25 vCPU + 256 MB RAM + 1 GB storage = Rp 775 per hari, sekitar Rp 23.250 per bulan. Ada juga bundle bulanan seperti Nano (1 vCPU, 1 GB RAM, 15 GB, 2 domain). Harga bisa berubah, cek halaman harga untuk angka terbaru di /pricing.
Rute VPS: Kontrol Penuh#
Kalau kamu ingin mengatur server sendiri, VPS adalah pilihannya. Ringkasan langkahnya:
- Sewa VPS Linux (Ubuntu atau Debian) dan login lewat SSH dengan password root.
- Update sistem dan buat user non-root.
- Pasang runtime (Node.js, PHP, Python) atau Docker.
- Pasang Nginx sebagai reverse proxy dan Certbot untuk SSL.
- Jalankan aplikasi dengan process manager seperti PM2 atau systemd, atau dengan Docker Compose.
- Atur firewall dan backup.
VPS memberi kontrol penuh, tapi update keamanan dan backup jadi tanggung jawabmu. Untuk WordPress, VPS dengan aplikasi siap pakai (aaPanel atau WordPress) bisa mempercepat setup. Lihat pilihannya di VPS murah.
Checklist Sebelum Website Go Live#
- Mode debug dimatikan (
APP_DEBUG=falsedi Laravel,DEBUG=Falsedi Django). - Semua secret ada di environment variables, tidak ada password di repository.
- Domain sudah mengarah ke server dan HTTPS aktif.
- Redirect dari HTTP ke HTTPS berjalan.
- Migrasi database sudah dijalankan.
- Ada backup database yang terjadwal.
- Halaman error (404, 500) tidak menampilkan detail teknis.
- Website dicek di HP dan desktop.
- Title, meta description, dan favicon sudah diisi.
- Kamu tahu cara melihat log saat ada masalah.
FAQ#
Cara deploy website gratis bagaimana?#
Untuk website statis, GitHub Pages dan Cloudflare Pages punya paket gratis. Untuk aplikasi dengan backend, biasanya ada biaya server, walaupun beberapa layanan punya paket gratis dengan batasan.
Apa bedanya hosting dan deploy?#
Hosting adalah tempat website berjalan. Deploy adalah proses memindahkan dan menjalankan kode di tempat tersebut.
Apakah harus bisa Docker untuk deploy ke Helipod?#
Tidak. Helipack membuat Dockerfile otomatis untuk framework yang dikenali. Kalau kamu sudah punya Dockerfile, itu juga bisa dipakai.
Kenapa website saya error 502 setelah deploy?#
Biasanya aplikasi tidak mendengarkan port yang benar atau crash saat start. Cek log dan pastikan aplikasi listen di 0.0.0.0 pada port yang sesuai.
Bisakah deploy bot atau worker tanpa server HTTP?#
Di Helipod, aplikasi harus mendengarkan port. Untuk bot atau worker, tambahkan endpoint health HTTP kecil, atau gunakan VPS.
Siap Online?#
Sekarang kamu tahu cara deploy website sesuai jenisnya. Situs statis bisa mulai dari opsi gratis, sedangkan aplikasi dinamis bisa langsung dideploy dari GitHub atau GitLab ke Helipod. Lihat biayanya di halaman harga.