Lewati ke isi

Server & Infrastruktur

Panduan Lengkap Self-Hosting Aplikasi untuk Bisnis

Kapan self-hosting lebih masuk akal dari SaaS, cara memilih server, domain, reverse proxy, HTTPS, update, backup, keamanan, dan menghitung biaya totalnya.

Terbit 8 menit baca

Jawaban singkat

Self-hosting berarti menjalankan aplikasi open-source di server milikmu sendiri. Pilihan ini cocok bila kamu butuh kontrol data, kustomisasi, atau biaya yang tidak naik per pengguna, asalkan ada orang yang sanggup merawat update, backup, dan keamanan secara rutin.

Daftar isi
  1. Apa sebenarnya yang kamu ambil alih saat self-hosting?
  2. Kapan self-hosting lebih baik dari SaaS?
  3. Memilih server dan ukurannya
  4. Satu server atau dipisah?
  5. Domain, reverse proxy, dan HTTPS
  6. Update: rutinitas yang tidak boleh dilewatkan
  7. Backup dan pemulihan
  8. Keamanan dasar aplikasi self-hosted
  9. Menghitung total biaya kepemilikan
  10. Kesalahan umum saat mulai self-hosting
  11. Pertanyaan yang sering diajukan

Self-hosting artinya menjalankan aplikasi di server yang kamu kendalikan sendiri, alih-alih berlangganan versi SaaS dari vendornya. Untuk bisnis, pilihan ini masuk akal ketika kontrol data, kebebasan kustomisasi, atau biaya per pengguna jadi pertimbangan utama. Syaratnya cuma satu, dan sering diremehkan: harus ada yang bertanggung jawab merawatnya.

Panduan ini untuk pemilik usaha, manajer operasional, dan tim IT kecil yang sedang menimbang apakah aplikasi seperti n8n, Nextcloud, Odoo, atau Vaultwarden sebaiknya dijalankan sendiri. Isinya membahas keputusan awal sampai rutinitas setelah aplikasi berjalan.

Apa sebenarnya yang kamu ambil alih saat self-hosting?

Saat berlangganan SaaS, vendor mengurus server, update, backup, keamanan, dan pemulihan bencana. Kamu membayar biaya bulanan dan tinggal memakai. Saat self-hosting, semua pekerjaan itu pindah ke tanganmu. Aplikasinya mungkin gratis karena open-source, tapi waktu dan tanggung jawabnya tidak.

Sebagai gantinya, kamu mendapat beberapa hal yang sulit didapat dari SaaS: data tersimpan di server pilihanmu, tidak ada batas jumlah pengguna dari vendor, bisa dimodifikasi atau diintegrasikan sesukamu, dan tidak bergantung pada perubahan harga atau kebijakan pihak lain.

Kapan self-hosting lebih baik dari SaaS?

Tidak ada jawaban yang berlaku untuk semua aplikasi. Keputusan yang sehat biasanya diambil per aplikasi, bukan sekaligus untuk semuanya. Tabel ini membantu menimbangnya.

PertimbanganCondong ke SaaSCondong ke self-hosting
Tim teknisTidak ada yang paham serverAda minimal satu orang yang paham Linux
Jumlah penggunaSedikit dan stabilBanyak atau terus bertambah, padahal SaaS dihitung per pengguna
Sensitivitas dataData umumData yang wajib tetap di bawah kendali sendiri
KustomisasiFitur standar sudah cukupButuh integrasi atau modifikasi khusus
Kritis bagi operasionalSangat kritis dan tidak boleh downBisa diterima ada jeda singkat saat perawatan
PemakaianRinganIntensif, misalnya ribuan eksekusi otomasi per hari

Pola yang sering terlihat di bisnis kecil adalah kombinasi. Email dan dokumen inti tetap memakai SaaS yang mapan, sementara alat internal seperti otomasi, dashboard, atau password manager tim dijalankan sendiri. Contoh aplikasinya bisa kamu lihat di aplikasi open-source 1 klik.

Memilih server dan ukurannya

Ada tiga pilihan umum: VPS, dedicated server, atau server fisik di kantor. Untuk kebanyakan bisnis, VPS jadi titik awal paling praktis karena bisa dinaikkan spesifikasinya saat dibutuhkan dan tidak bergantung pada listrik atau internet kantor. Server di kantor menarik karena terasa gratis, tapi biaya tersembunyinya besar: listrik, pendingin, koneksi dengan IP publik, dan risiko saat terjadi pemadaman.

Ukuran server ditentukan oleh aplikasi yang paling berat, bukan jumlahnya. Database, aplikasi berbasis Java, dan AI lokal cenderung boros RAM. Aplikasi ringan seperti password manager atau pemantau uptime hampir tidak terasa. Mulailah dari spesifikasi sedang, pantau pemakaian selama beberapa minggu, lalu sesuaikan. Angka dari grafik pemakaian nyata lebih bisa dipercaya daripada tebakan di awal.

Satu server atau dipisah?

Menaruh semua aplikasi di satu server menghemat biaya dan memudahkan perawatan. Risikonya, satu masalah bisa menjatuhkan semua aplikasi. Kompromi yang wajar: pisahkan aplikasi yang paling kritis atau paling berat ke server sendiri, dan kumpulkan sisanya.

Domain, reverse proxy, dan HTTPS

Setiap aplikasi sebaiknya punya subdomain sendiri, misalnya otomasi.namabisnis.com dan file.namabisnis.com. Semuanya bisa diarahkan ke satu IP server dengan record DNS tipe A. Di server, reverse proxy menerima semua permintaan di port 443, membaca nama domain yang diminta, lalu meneruskannya ke aplikasi yang tepat.

Reverse proxy juga menjadi tempat sertifikat HTTPS dipasang. Dengan protokol ACME, sertifikat dari otoritas seperti Let's Encrypt bisa diterbitkan dan diperpanjang otomatis. Otomatisasi ini makin penting karena masa berlaku maksimal sertifikat publik sedang dipangkas bertahap, seperti dibahas di masa berlaku SSL makin pendek. Konsep dasarnya ada di apa itu reverse proxy.

  1. Siapkan server dan lakukan pengamanan dasar: user non-root, login SSH dengan key, firewall yang hanya membuka port yang perlu.
  2. Pasang Docker dan Docker Compose, karena sebagian besar aplikasi open-source modern menyediakan image resmi.
  3. Arahkan subdomain ke IP server lewat record DNS.
  4. Pasang reverse proxy dengan HTTPS otomatis.
  5. Jalankan aplikasi pertama, simpan datanya di volume, dan uji dari luar jaringan kantor.
  6. Atur backup harian ke lokasi terpisah, lalu lakukan uji pemulihan sebelum aplikasi dipakai serius.
  7. Pasang pemantauan uptime agar kamu tahu lebih dulu sebelum pengguna mengeluh.

Update: rutinitas yang tidak boleh dilewatkan

Aplikasi self-hosted yang tidak pernah diperbarui adalah sasaran empuk. Celah keamanan pada aplikasi populer biasanya diumumkan secara terbuka, dan pelaku otomatis memindai internet untuk mencari server yang belum ditambal.

Buat jadwal yang realistis. Sistem operasi diperbarui rutin untuk tambalan keamanan. Aplikasi diperbarui setelah membaca catatan rilis, terutama untuk versi mayor yang sering membawa perubahan database. Selalu backup sebelum update, dan simpan versi image lama agar bisa kembali bila ada masalah. Berlangganan pengumuman rilis atau keamanan dari proyek yang kamu pakai membantu kamu tahu kapan harus bertindak cepat.

Backup dan pemulihan

Aturan yang sudah lama dipakai di dunia IT tetap relevan: simpan beberapa salinan data, di media berbeda, dengan satu salinan di lokasi lain. Untuk self-hosting, minimalnya berarti dump database dan salinan folder data dikirim setiap hari ke penyimpanan di luar server utama, misalnya object storage.

Backup yang tidak pernah diuji pulih belum bisa disebut backup. Jadwalkan uji pemulihan, misalnya setiap beberapa bulan, ke server terpisah. Catat langkahnya agar orang lain di tim bisa melakukannya saat kamu tidak ada. Prinsip lengkapnya ada di backup website otomatis, dan pilihan tempat menyimpannya dibahas di apa itu object storage S3.

Keamanan dasar aplikasi self-hosted

Banyak insiden pada server kecil berasal dari hal sederhana: password lemah, panel admin terbuka ke internet, atau software usang. Beberapa kebiasaan berikut mengurangi banyak risiko itu.

  • Batasi yang terbuka ke publik. Panel admin, database, dan dashboard internal sebaiknya hanya bisa diakses lewat VPN atau daftar IP tertentu.
  • Aktifkan autentikasi dua faktor di setiap aplikasi yang mendukungnya.
  • Pakai SSH key, bukan password, untuk login server, karena key jauh lebih sulit ditebak atau dicuri lewat serangan tebak password.
  • Pisahkan akun per orang. Hindari satu akun admin yang dipakai bersama, agar akses mudah dicabut saat ada karyawan keluar.
  • Simpan log dan periksa secara berkala, atau kirim ke sistem pemantauan.

Langkah awal pengamanan server ada di cara mengamankan VPS baru.

Menghitung total biaya kepemilikan

Membandingkan harga langganan SaaS dengan harga VPS saja akan menyesatkan. Biaya total self-hosting terdiri dari beberapa komponen.

Komponen biayaSelf-hostingSaaS
Lisensi aplikasiUmumnya gratis untuk versi open-sourceTermasuk dalam langganan
ServerBiaya VPS atau dedicated per bulanTermasuk
Penyimpanan backupBiaya tambahan untuk lokasi terpisahBiasanya termasuk
Waktu perawatanUpdate, pemantauan, troubleshooting oleh tim sendiriDitangani vendor
Risiko downtimeDitanggung sendiriDiatur dalam ketentuan layanan vendor
Biaya per pengguna tambahanHampir nol sampai kapasitas server habisBertambah sesuai paket

Komponen yang paling sering dilupakan adalah waktu. Kalau seseorang di tim menghabiskan beberapa jam setiap bulan untuk merawat server, waktu itu punya nilai. Self-hosting jadi hemat ketika jumlah pengguna atau pemakaiannya besar, sehingga biaya per pengguna SaaS menumpuk. Untuk tim yang sangat kecil dengan pemakaian ringan, SaaS sering kali tetap lebih murah secara total.

Ada juga jalan tengah: layanan hosting aplikasi terkelola, di mana aplikasi open-source dipasang dan dirawat pihak penyedia di server terpisah. Kamu tetap mendapat kebebasan aplikasi open-source tanpa harus mengurus semua detail server.

Kesalahan umum saat mulai self-hosting

Beberapa pola muncul berulang. Pertama, memasang terlalu banyak aplikasi sekaligus, lalu kewalahan merawatnya. Mulailah dari satu aplikasi yang paling memberi manfaat. Kedua, hanya satu orang yang tahu cara kerja server, sehingga semuanya macet saat orang itu cuti atau resign. Dokumentasikan setiap aplikasi: lokasi data, cara backup, cara update, dan kredensial yang disimpan di password manager tim.

Ketiga, menunda backup sampai "nanti kalau sudah stabil". Insiden tidak menunggu sistem stabil. Keempat, membuka semua layanan langsung ke internet demi kemudahan, padahal banyak alat internal cukup diakses lewat VPN.

Pertanyaan yang sering diajukan

Apakah self-hosting pasti lebih murah dari SaaS?

Tidak pasti. Self-hosting cenderung lebih hemat saat jumlah pengguna atau pemakaian besar, tapi untuk tim kecil dengan pemakaian ringan, biaya server ditambah waktu perawatan bisa lebih mahal dari langganan.

Bisakah self-hosting dilakukan tanpa tim IT?

Bisa untuk aplikasi sederhana bila ada satu orang yang mau belajar dasar Linux dan Docker. Untuk aplikasi kritis, pertimbangkan layanan terkelola atau bantuan pihak yang paham server.

Apakah server di kantor lebih baik dari VPS?

Server kantor cocok untuk kebutuhan jaringan lokal, tapi untuk aplikasi yang diakses dari luar, VPS biasanya lebih praktis karena tidak bergantung pada listrik, internet, dan IP publik kantor.

Seberapa sering aplikasi self-hosted perlu diperbarui?

Tambalan keamanan sebaiknya dipasang secepatnya setelah diumumkan. Update fitur bisa dijadwalkan rutin, misalnya bulanan, setelah membaca catatan rilis dan membuat backup.

Apa yang harus dilakukan bila server self-hosted diretas?

Batasi akses publik, simpan bukti dan log, ganti semua kredensial, cari celahnya, lalu pulihkan dari backup yang dibuat sebelum peretasan terjadi.

Bagaimana memastikan data tidak hilang?

Backup harian ke lokasi terpisah, simpan beberapa versi ke belakang, dan uji pemulihan secara berkala ke server lain.

Baca juga