Supabase adalah alternatif open-source untuk Firebase yang menyediakan platform backend-as-a-service yang kuat. Menghostingnya di VPS dapat memberi Anda kendali penuh atas data dan konfigurasi Anda. Dalam panduan ini, kami akan memandu Anda melalui proses self-host Supabase di VPS, menggunakan Docker untuk penyebaran yang mudah.
Prasyarat
Sebelum memulai, pastikan Anda memiliki hal berikut:
- VPS (dengan minimal 2 GB RAM dan 1 CPU) dari penyedia seperti DigitalOcean atau Hetzner.
- Pengetahuan dasar tentang Docker dan command-line interface (CLI).
- Klien SSH untuk mengakses VPS Anda.
| Penyedia | Harga Mulai | Spesifikasi Direkomendasikan |
|---|---|---|
| Contabo VPS | 5.99 EUR/bulan | 2 GB RAM, 1 CPU |
| Hetzner Cloud | 4.15 EUR/bulan | 2 GB RAM, 1 CPU |
| DigitalOcean | 6 USD/bulan | 2 GB RAM, 1 CPU |
| Vultr | 6 USD/bulan | 1 GB RAM, 1 CPU |
| Linode (Akamai) | 5 USD/bulan | 2 GB RAM, 1 CPU |
Anda dapat membandingkan lebih banyak opsi VPS di perbandingan VPS lengkap.
Langkah 1: Atur VPS Anda
Pertama, Anda perlu mengatur VPS Anda. Biasanya meliputi:
-
Memilih Sistem Operasi: Kami menyarankan Ubuntu 20.04 LTS agar kompatibel dengan Docker.
-
Mengakses VPS Anda: Gunakan SSH untuk terhubung ke server Anda:
ssh username@your-vps-ip -
Memperbarui Sistem Anda: Pastikan paket Anda terbaru:
sudo apt update sudo apt upgrade -y
Langkah 2: Instal Docker
Untuk menjalankan Supabase, Anda perlu menginstal Docker di VPS Anda. Ikuti perintah berikut:
-
Install dependensi untuk Docker:
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y -
Tambahkan kunci GPG resmi Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - -
Atur repository stabil:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" -
Instal Docker:
sudo apt update sudo apt install docker-ce -y -
Mulai dan aktifkan Docker:
sudo systemctl start docker sudo systemctl enable docker -
Verifikasi instalasi:
docker --version
Langkah 3: Tarik dan Jalankan Docker Images Supabase
Setelah Docker terpasang, Anda bisa menarik Docker images Supabase.
-
Buat direktori untuk proyek Supabase Anda:
mkdir supabase && cd supabase -
Buat file Docker Compose:
Buat file
docker-compose.ymldengan isi berikut:version: '3.8' services: db: image: supabase/postgres environment: POSTGRES_PASSWORD: your_password POSTGRES_USER: your_user POSTGRES_DB: your_db ports: - "5432:5432" auth: image: supabase/gotrue ports: - "9999:9999" realtime: image: supabase/realtime ports: - "4000:4000" studio: image: supabase/studio ports: - "3000:3000"Ganti
your_password,your_user, danyour_dbdengan nilai yang Anda inginkan. -
Mulai layanan Supabase:
Jalankan perintah berikut di direktori yang sama dengan
docker-compose.yml:docker-compose up -d -
Periksa layanan yang berjalan:
Anda dapat memeriksa log menggunakan:
docker-compose logs
Langkah 4: Akses Studio Supabase
Setelah layanan berjalan, Anda dapat mengakses Studio Supabase dengan membuka http://your-vps-ip:3000 di browser Anda. Dari sini, Anda bisa mengelola database, autentikasi, dan lainnya.
FAQ
Q1: Apa manfaat dari self-host Supabase di VPS?
Self-host Supabase di VPS memberi kontrol lebih besar, keamanan yang lebih baik, dan konfigurasi yang dapat disesuaikan. Anda mengelola perangkat keras dan perangkat lunak Anda sendiri, memastikan sesuai dengan kebutuhan kepatuhan Anda. Selain itu, ini bisa lebih hemat biaya dalam jangka panjang, terutama jika Anda mengharapkan penggunaan yang signifikan, karena Anda dapat menghindari vendor lock-in dan memiliki kendali penuh atas data Anda.
Q2: Bisakah saya melakukan skala pada instansi Supabase saya jika membutuhkan lebih banyak sumber daya?
Ya, Anda bisa melakukan skala pada instansi Supabase Anda sesuai kebutuhan. Ini bisa melibatkan peningkatan VPS ke paket yang lebih besar dengan CPU dan RAM lebih banyak, atau mengoptimalkan konfigurasi Docker Anda. Kedua strategi ini memungkinkan dan dapat dilakukan tanpa downtime yang signifikan, sehingga aplikasi Anda tetap tersedia saat Anda menyesuaikan infrastruktur.
Q3: Apa masalah umum yang dihadapi saat self-hosting Supabase?
Masalah umum termasuk kesalahan konfigurasi, sumber daya yang tidak cukup di VPS, dan masalah konektivitas jaringan. Pastikan kontainer Docker Anda dikonfigurasi dengan benar dan VPS Anda memenuhi spesifikasi yang dibutuhkan. Selain itu, konsultasikan dengan komunitas Supabase di r/selfhosted untuk tips troubleshooting dan praktik terbaik dalam self-hosting aplikasi sebagai saran dan solusi.
Dengan mengikuti panduan ini, Anda dapat berhasil melakukan self-host Supabase di VPS, memungkinkan Anda memanfaatkan solusi backend yang kuat tanpa mengorbankan kendali dan privasi.