Oktober 2, 2025
Home » Cara Install Supabase di NAT VPS
Thumbnail-natvps.id-30.png

NATVPS.id – Supabase adalah open-source Backend-as-a-service (BaaS) yang menyediakan serangkaian alat untuk membantu developer mengembangkan aplikasi web dan seluler. Supabase menyediakan satu set layanan dalam satu tempat, seperti databasestorage, dan autentikasi.

Artikel ini membahas mengenai langkah-langkah instalasi Supabase di NAT VPS menggunakan Docker, beserta konfigurasi NGINX untuk reverse-proxy. Artikel ini menggunakan Ubuntu 22.04 sebagai acuan, namun Anda dapat menggunakan distribusi lain seperti Debian dan CentOS. Pastikan OS yang digunakan mendukung Docker.

Contents

Konfigurasi Port Forwarding

Mengingat kita menggunakan NAT, kita perlu menambahkan 2 konfigurasi port forwarding pada panel Virtualizor (atau panel VPS lain sesuai provider), yaitu port forwarding HTTP dan HTTPS untuk domain Supabase.

Sebagai contoh, pada artikel ini akan menggunakan domain supabase.tutorial.mdinata.my.id untuk mengakses Supabase. Anda bebas mengganti domain sesuai pilihan Anda. Catat port dan domain ini, karena kita akan menggunakannya lagi pada proses instalasi.

Jangan lupa untuk menambahkan DNS record yang menuju ke IP publik NAT VPS Anda, seperti ini:

Jika bingung, silahkan membaca artikel kami mengenai domain forwarding di sini: Penjelasan Domain Forwarding di NAT VPS.

Install Docker

Kita akan menggunakan Docker dan Docker Compose untuk deploy Supabase.

Pertama, Install curl menggunakan perintah:

apt update && apt install curl -y

Kemudian, jalankan script instalasi otomatis dari Docker dengan memasukkan:

curl -fsSL get.docker.com | sh

Tunggu hingga proses instalasi selesai.

Install Supabase

Pertama, clone repositori Git Supabase

git clone  --depth 1 /opt/supabase

Buat folder baru untuk project Supabase:

mkdir /opt/supabase-project1
cd /opt/supabase-project1

Salin semua file Docker dan ENV dari repositori Supabase:

cp -rf /opt/supabase/docker/* /opt/supabase-project1
cp /opt/supabase/docker/.env.example /opt/supabase-project1/.env

Sebelum menjalankan Supabase, edit ENV terlebih dahulu menggunakan Nano:

apt install nano -y # Jika belum
nano .env

Beberapa konfigurasi yang perlu diperhatikan:

  • JWT_SECRET: Private key sepanjang >= 32 karakter untuk autentikasi. Untuk membuatnya, masukkan perintah pwgen -s 40 1. WAJIB DIISI.
  • POSTGRES_PASSWORD: Password PostgreSQL. WAJIB DIISI.
  • DASHBOARD_USERNAME: Username untuk login ke dashboard Supabase. WAJIB DIISI.
  • DASHBOARD_PASSWORD: Password untuk login ke dashboard Supabase. WAJIB DIISI.
  • JWT_SECRET: Encryption key sepanjang >= 32 karakter untuk database secrets. Untuk membuatnya, masukkan perintah pwgen -s 40 1. WAJIB DIISI.

Simpan file tersebut dengan Ctrl-X, y, kemudian Enter.

Terakhir, jalankan Supabase:

docker compose up -d

Tunggu hingga proses deploy selesai. Deploy pertama kali dapat memakan waktu beberapa menit karena harus mengunduh seluruh image komponen Supabase dan mengonfigurasinya dari awal.

Konfigurasi NGINX (Reverse Proxy)

Agar kita dapat mengakses URL melalui domain seperti supabase.tutorial.mdinata.my.id, kita dapat menggunakan reverse proxy seperti NGINX.

Pertama, install NGINX melalui perintah:

# Hapus Apache2 dan pendukungnya (biasanya terpasang secara bawaan di VPS OpenVZ)
apt purge apache2* -y

# Install NGINX
apt install nginx -y

Buat konfigurasi host baru khusus untuk Supabase:

nano /etc/nginx/sites-available/supabase

Kemudian tempelkan konfigurasi berikut:

# 

server {
        server_name supabase.tutorial.mdinata.my.id;
        listen 80;
        listen [::]:80;

	location / {
            proxy_pass 
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
	}
}

Ganti supabase.tutorial.mdinata.my.id dengan domain Anda.

Aktifkan konfigurasi tersebut dengan:

ln -sf /etc/nginx/sites-available/supabase /etc/nginx/sites-enabled/supabase

systemctl restart nginx # Restart NGINX

Generate Sertifikat SSL (Let’s Encrypt)

Agar domain kita dapat diakses melalui HTTPS, kita perlu membuat sertifikat SSL. Kita dapat menggunakan sertifikat SSL gratis dari Let’s Encrypt melalui Certbot.

Install Certbot dan plugin NGINX nya menggunakan perintah:

apt install python3-certbot python3-certbot-nginx

Lalu, generate sertifikat melalui Certbot dengan perintah

certbot --nginx -d supabase.tutorial.mdinata.my.id

Ganti supabase.tutorial.mdinata.my.id dengan domain Anda.

Selamat! Supabase Anda saat ini dapat diakses melalui koneksi aman HTTPS.

Mengakses Supabase Studio (Dashboard)

Supabase dapat diakses melalui domain Anda sebelumnya. Contoh: https://supabase.tutorial.mdinata.my.id.

Penutup

Demikianlah artikel ini mengenai langkah-langkah install Supabase di NAT VPS. Jika bingung atau ragu, jangan sungkan untuk bertanya di grup Telegram @IPv6Indonesia. Terima kasih!

Pusat Informasi Terkini

Berita Olahraga

News

Berita Terkini

Berita Terbaru

Berita Teknologi

Seputar Teknologi

Drama Korea

Resep Masakan

Pendidikan

Berita Terbaru

Berita Terbaru

Berita Terbaru

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *