PocketBase adalah solusi backend yang kuat yang memungkinkan pengembang untuk mengelola data dengan mudah saat membangun aplikasi dengan cepat. Self-hosting PocketBase di Virtual Private Server (VPS) memberi Anda kendali penuh atas data Anda dan kemampuan untuk menyesuaikan deploymen Anda. Panduan ini akan memandu Anda melalui proses pengaturan PocketBase di penyedia VPS populer.
Mengapa Self-Host PocketBase?
Self-hosting berarti Anda dapat memastikan privasi data, mengelola pembaruan, dan menyesuaikan aplikasi sesuai kebutuhan. Dibandingkan solusi managed, self-hosting juga dapat menawarkan penghematan biaya, terutama bagi pengembang yang ingin men-scale proyek mereka.
Memilih Penyedia VPS
Berikut perbandingan beberapa penyedia VPS teratas yang cocok untuk hosting PocketBase:
| Penyedia | Harga | Spesifikasi | Link |
|---|---|---|---|
| Contabo VPS | €5.99/bulan | 4 CPU, 8 GB RAM, 200 GB SSD | Contabo |
| Hetzner Cloud | €4.15/bulan | 2 CPU, 8 GB RAM, 20 GB SSD | Hetzner |
| DigitalOcean | $6/bulan | 1 CPU, 1 GB RAM, 25 GB SSD | DigitalOcean |
| Vultr | $6/bulan | 1 CPU, 1 GB RAM, 25 GB SSD | Vultr |
| Linode (Akamai) | $5/bulan | 1 CPU, 2 GB RAM, 25 GB SSD | Linode |
Anda bisa melihat perbandingan VPS lengkap untuk opsi lainnya yang sesuai kebutuhan Anda.
Persyaratan Awal
- VPS dengan Docker Terinstal: Sebagian besar lingkungan yang disebutkan di atas mendukung Docker, yang memudahkan pengembangan PocketBase.
- Pengetahuan Dasar Command Line: Familiaritas dengan perintah terminal sangat dianjurkan.
- Domain (Opsional): Jika Anda berencana mengakses PocketBase dari web, pertimbangkan mendaftarkan domain.
Langkah Instalasi
Langkah 1: Terhubung ke VPS Anda
Mulai dengan menghubungkan ke VPS via SSH. Buka terminal dan masukkan:
ssh username@your_vps_ip_address
Ganti username dan your_vps_ip_address dengan detail login Anda sendiri.
Langkah 2: Instal Docker
Jika Docker belum terinstal di VPS Anda, instal dengan menjalankan perintah berikut:
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install -y docker-ce
Periksa instalasi:
docker --version
Langkah 3: Tarik Image Docker PocketBase
Dengan Docker terinstal, kini tarik image PocketBase dari Docker Hub:
docker pull pocketbase/pocketbase
Langkah 4: Buat Database PocketBase
Buat direktori di VPS Anda untuk menyimpan file database:
mkdir ~/pocketbase
Langkah 5: Jalankan PocketBase
Sekarang jalankan kontainer Docker PocketBase. Sesuaikan perintah sesuai konfigurasi yang diinginkan:
docker run -d -p 8090:8090 -v ~/pocketbase:/pb pocketbase/pocketbase serve --dir /pb
Perintah ini memetakan port 8090 dari kontainer ke VPS Anda dan menyimpan database di direktori ~/pocketbase.
Langkah 6: Akses PocketBase
Anda dapat mengakses PocketBase melalui http://your_vps_ip_address:8090 di browser web Anda. Dari sana, Anda bisa mulai membuat model data dan membangun aplikasi Anda.
Tips Konfigurasi
- Variabel Lingkungan: Untuk konfigurasi yang lebih canggih, Anda mungkin ingin mengatur variabel lingkungan. Cek dokumentasi PocketBase untuk detailnya.
- Keamanan: Selalu ikuti praktik keamanan terbaik. Atur firewall, gunakan SSL (Let’s Encrypt), dan perbarui stack perangkat lunak secara rutin.
- Backup: Pastikan melakukan backup secara teratur pada file database yang disimpan di direktori
~/pocketbase.
FAQ
1. Bagaimana cara mengamankan instance PocketBase saya?
Untuk mengamankan PocketBase, aktifkan firewall dan batasi akses hanya dari IP tertentu jika memungkinkan. Anda juga harus menjalankan instance PocketBase di balik reverse proxy (seperti NGINX) untuk menangani terminasi SSL. Dengan menggunakan Let’s Encrypt, Anda bisa mendapatkan sertifikat SSL gratis untuk meng-enkripsi lalu lintas ke aplikasi Anda. Terakhir, lakukan pembaruan rutin pada kontainer Docker Anda agar patch keamanan selalu terpasang.
2. Bisakah saya menjalankan beberapa instance PocketBase di VPS yang sama?
Ya, Anda bisa menjalankan beberapa instance PocketBase di VPS yang sama dengan memetakan setiap instance ke port berbeda. Misalnya, satu instance di port 8090 dan lainnya di port 8091. Pastikan setiap instance memiliki direktori penyimpanan data sendiri agar tidak terjadi konflik data.
3. Database apa saja yang didukung PocketBase?
PocketBase menggunakan SQLite sebagai mesin penyimpanan defaultnya. Untuk aplikasi self-hosted, ini umumnya sudah cukup, terutama untuk proyek kecil. Jika Anda mengharapkan trafik besar atau memerlukan fitur lanjutan, pertimbangkan mengintegrasikannya dengan sistem manajemen database yang lebih kuat. Anda bisa mengelola database secara langsung melalui antarmuka web yang disediakan PocketBase.
Dengan langkah-langkah di atas, Anda sudah berhasil menjalankan PocketBase di VPS Anda. Apakah membangun proyek pribadi kecil atau aplikasi yang lebih besar, self-hosting memberi Anda fleksibilitas mengelola lingkungan secara efektif. Selamat coding!