Blog

Alternatif PocketBase dengan dukungan PostgreSQL

Cari alternatif PocketBase dengan dukungan PostgreSQL? Kanesh adalah backend self-hosted kecil yang jalan di SQLite, PostgreSQL, atau MySQL.

Kalau kamu suka PocketBase tapi butuh PostgreSQL, Kanesh adalah backend self-hosted kecil yang memakai SQLite secara default dan pindah ke PostgreSQL cukup dengan dua environment variable. Kanesh masih baru di rilis stabil pertamanya, jadi belum menggantikan PocketBase kalau kamu butuh realtime, login OAuth2, atau hook sekarang juga.

Kelebihan PocketBase

PocketBase adalah satu executable dengan database SQLite tertanam. Fiturnya mencakup realtime, login OAuth2, penyimpanan file lokal atau S3, serta hook Go atau JavaScript, dengan lisensi MIT. Satu instance menjalankan satu aplikasi. Kalau itu sudah cocok dengan proyekmu, PocketBase pilihan yang bagus dan tidak perlu pindah.

Yang perlu dicek adalah databasenya. PocketBase memakai SQLite tertanam, jadi kalau timmu sudah menjalankan, mem-backup, dan memantau PostgreSQL, kamu akan menambah satu jenis database lagi untuk dioperasikan.

Kenapa tim mencari PostgreSQL

  • Databasenya sudah ada, lengkap dengan backup dan aturan akses yang dipercaya tim.
  • Data ada di host terpisah dari aplikasi, sehingga container aplikasi bebas diganti.
  • Layanan atau laporan lain perlu membaca tabel yang sama.
  • Kamu ingin foreign key sungguhan antar tabel, bukan sekadar field relasi.

Cara Kanesh jalan di PostgreSQL

Kanesh menyimpan setiap koleksi sebagai tabel SQL asli. Pilih databasenya dengan dua variable:

docker run -p 127.0.0.1:8080:8080 -v kanesh-data:/data \
  -e DATABASE_DRIVER=postgres \
  -e DATABASE_URL="postgres://kanesh:secret@db.internal:5432/kanesh?sslmode=require" \
  kanesh

Di SQLite dan PostgreSQL, relasi (N:1, 1:N, dan N:N dengan tabel junction) memakai foreign key asli, dan kamu bisa menambah index terkelola hingga empat field, opsional unik. Kalau kamu memilih database eksternal lalu gagal terhubung, Kanesh berhenti dengan pesan error. Kanesh tidak pernah diam-diam pindah ke file SQLite lokal, jadi data produksi tidak tersimpan di tempat yang salah.

Sisanya tetap kecil. Kanesh adalah satu binary Go dengan Studio tertanam dan tanpa server Node saat runtime. Image Docker-nya sekitar 8,9 MB (arm64, diukur 2026-10-04). Kamu membangun image dari repositori dengan docker build -t kanesh ..

PocketBase dan Kanesh berdampingan

KaneshPocketBase
BentukSatu image Docker, satu binary GoSatu executable
DatabaseSQLite, PostgreSQL, MySQLSQLite tertanam
Proyek per instalasiBanyak workspace terpisahSatu aplikasi per instance
APIREST, GraphQL, ekspor OpenAPI 3.1REST
RealtimeBelumAda
Login OAuth2BelumAda
Penyimpanan fileDatabase atau penyimpanan kompatibel S3 (S3, MinIO, R2)Lokal atau S3
HookBelumGo dan JavaScript
AI agentEndpoint MCP read-only (opt-in)Tidak bawaan
KematanganBaru, rilis stabil pertamaBanyak dipakai
LisensiInti AGPL-3.0; 1 workspace gratis, workspace tanpa batas + asisten AI $9/bulan per instalasiMIT

Yang belum ada

Lihat kekurangannya dulu sebelum pindah. Kanesh belum punya realtime, OAuth atau SSO, hook, maupun SDK, dan realtime serta login OAuth atau SSO ada di roadmap. Lisensinya juga berbeda: PocketBase memakai MIT, sedangkan inti Kanesh AGPL-3.0 dan workspace tanpa batas dan asisten AI butuh lisensi Pro seharga $9 per bulan. Kalau salah satunya penting untuk proyekmu, tetap pakai PocketBase atau tunggu dulu.

FAQ

Apakah Kanesh mendukung PostgreSQL sepenuhnya?

Ya, untuk fitur yang sudah dimiliki Kanesh. Relasi memakai foreign key asli dan index terkelola tersedia di PostgreSQL, dan MySQL juga didukung. Lihat setup database untuk flag lengkapnya.

Bisakah saya memindahkan data dari PocketBase ke Kanesh?

Kanesh bisa mengimpor dan mengekspor CSV dan JSON dengan ukuran terbatas. Buat koleksi dengan tipe field yang sesuai, lalu impor file hasil ekspor dari backend lamamu. Kode klienmu perlu pindah ke API REST atau GraphQL Kanesh karena endpointnya berbeda.

Apakah Kanesh siap untuk produksi?

Kanesh ada di rilis stabil pertamanya. Ia lebih baru dari PocketBase dan pengalamannya di lapangan lebih singkat, dan realtime, login OAuth2, serta hook belum ada. Uji dengan datamu sendiri, lalu cek apa yang masih tertunda sebelum kamu bergantung padanya.

Langkah berikutnya

Ikuti Memulai untuk menjalankan Kanesh dalam beberapa menit, atau baca perbandingan lengkap Kanesh vs PocketBase.

Traktir kopi