3 poin oleh GN⁺ 2025-11-29 | 1 komentar | Bagikan ke WhatsApp
  • PocketBase adalah backend open source berbentuk satu file yang mencakup database, autentikasi, penyimpanan file, dan dasbor admin
  • Struktur database bawaan berperforma tinggi dengan schema builder, validasi data, langganan real-time, dan REST API
  • Menyederhanakan pengelolaan pengguna dengan dukungan login email/kata sandi serta OAuth2 login (Google, Facebook, GitHub, GitLab)
  • Menyimpan file dengan aman di penyimpanan lokal atau S3, serta dapat menghubungkan media ke record database untuk pembuatan thumbnail otomatis
  • Dapat digunakan sebagai aplikasi mandiri atau framework yang dapat diperluas dengan Go·JavaScript, sehingga berguna untuk membangun backend ringan yang kustom

Ikhtisar PocketBase

  • PocketBase adalah platform backend open source yang berjalan sebagai satu file executable
    • Mengintegrasikan database, autentikasi, penyimpanan file, dan dasbor admin
    • Struktur yang dapat dijalankan dengan cepat tanpa konfigurasi server terpisah

Fitur database

  • Termasuk database bawaan yang mendukung schema builder, validasi data, langganan real-time, dan REST API
    • Menyediakan deteksi perubahan data secara real-time dan fitur langganan
    • Melalui REST API, data dapat dengan mudah dibaca, dibuat, diubah, dan dihapus
    Iklan

Autentikasi pengguna

  • Mendukung pengelolaan pengguna aplikasi dan login berbasis email/kata sandi
  • Melalui autentikasi OAuth2, pengguna dapat mendaftar dan login dengan akun Google, Facebook, GitHub, dan GitLab

Penyimpanan file

  • File dapat disimpan dengan aman di penyimpanan lokal atau S3
    • File media dapat dilampirkan ke record database
    • Menyediakan fitur pembuatan thumbnail otomatis saat upload
Iklan

Ekstensibilitas dan dukungan pengembang

  • PocketBase dapat digunakan sebagai aplikasi mandiri atau sebagai framework yang dapat diperluas melalui hook Go dan JavaScript
    • Pengembang dapat menambahkan logika mereka sendiri untuk membuat backend yang kustom

Contoh JavaScript SDK

  • JavaScript SDK memungkinkan interaksi dengan server PocketBase
    • Kode contoh menunjukkan fungsi untuk mengambil daftar record dari koleksi example, mengambil satu record, menghapus, membuat, berlangganan real-time, dan berhenti berlangganan
    • Menyediakan metode seperti pb.collection('example').getList(), getOne(), create(), delete(), subscribe()

1 komentar

 
GN⁺ 2025-11-29
Komentar Hacker News
  • Ungkapan “SQLite tidak skalabel” kebanyakan adalah ilusi optimasi prematur
    Pada praktiknya jarang sekali benar-benar menabrak batas kontensi WAL, dan kesederhanaan satu biner menurut saya jauh lebih baik daripada kompleksitas sistem terdistribusi
    Sekarang bahkan proyek kecil pun dianggap wajar memasang klaster DB dan cache Redis, tetapi Pocketbase menunjukkan bahwa pada 99% aplikasi CRUD, bottleneck-nya bukan DB melainkan latensi jaringan dan waktu pengelolaan dari developer

    • Bagi kebanyakan aplikasi, bottleneck yang lebih sulit daripada bottleneck teknis adalah mendapatkan pengguna
    • Saya menjalankan blog pribadi di droplet DigitalOcean termurah dan memakai SQLite
      Saya mengujinya dengan benchmark Rust CLI, dan performanya lebih baik daripada MySQL atau Postgres di mesin yang sama
      Untuk proyek skala seperti ini, SQLite adalah pilihan optimal
    • Namun, karena tidak ada tipe decimal, SQLite sulit dipakai untuk perhitungan finansial
      Semua perhitungan harus ditangani di sisi aplikasi, jadi merepotkan
  • Kalau melihat Pocketbase, saya langsung klik upvote
    Saya memakainya di beberapa aplikasi produksi dan sangat stabil
    Kadang ada perubahan yang breaking, tetapi secara keseluruhan sangat bagus dan juga cukup skalabel
    Saat fitur yang dibutuhkan tidak ada, memang agak merepotkan, tetapi developer berpengalaman tetap bisa mengatasinya

    • Saya sangat suka kalimat FAQ yang berbunyi, “kalau Anda bahkan tidak punya waktu membaca dokumentasi dan hanya mau bergantung pada alat AI, jangan pakai Pocketbase”
    • Saya juga berpikir begitu. Saya pernah memperluasnya dengan JS dan hasilnya bekerja sangat baik
      Hanya saja developernya sendirian, jadi saya khawatir soal maintenance ke depan
      Meski begitu, ini benar-benar pilihan bagus saat perlu memisahkan front-end dan back-end
    • Saya penasaran jenis aplikasi produksi apa yang dijalankan dengan Pocketbase
  • Saya sangat sering memakai Pocketbase untuk proyek pribadi dan tool internal
    Jika dipakai bersama PocketPages, file-based routing dan template bisa digunakan dengan mudah
    Berkat fitur migrasi DB otomatis, perubahan skema bisa dimasukkan ke version control
    Saya bahkan menghubungkan server protokol Gemini untuk menjelajahi grafik pengetahuan pribadi lewat Lagrange

    • Saya ingin meng-host-nya di Raspberry Pi 5; penasaran seperti apa kebutuhan performanya dan apakah ada batasan khas dibanding Supabase
    • Saya tidak tahu apa itu Lagrange. Tidak terlihat seperti proyek terkait LLM atau knowledge graph
  • Pocketbase adalah server backend yang bisa dikonfigurasi lewat GUI
    Karena bisa membuat backend yang berjalan nyaris tanpa kode, ini cocok untuk prototipe, MVP, dan aplikasi sederhana
    Konsep seperti ini dipopulerkan oleh Firebase

    • Saya penasaran secara spesifik ia melakukan apa
      Backend yang saya tulis biasanya butuh ratusan sampai ribuan baris kode, jadi saya ingin tahu bagaimana itu bisa menggantikannya
      Saya juga penasaran rentang aplikasi seperti apa yang bisa dibuat dengan tool seperti ini
    • Dari contoh di homepage, ini mengingatkan saya pada Parse
  • Saya pernah memakai Pocketbase di side project dan benar-benar terkesan
    Saya sudah lama bekerja dengan Django, tetapi untuk proyek kecil hingga menengah, Pocketbase jauh lebih cocok daripada membangun backend tradisional sendiri
    Kalau ada pertanyaan, saya dengan senang hati akan menjawab

    • Integrasi GIS di Django sangat bagus; saya penasaran bagaimana dengan Pocketbase
      Dan apakah ia juga mendukung PostgreSQL, atau hanya khusus SQLite
    • Saya juga penasaran seberapa mudah migrasi dari backend lama berbasis SQLite
    • Saya juga pernah memakainya di proyek pribadi, tetapi LLM terus-menerus bingung saat berinteraksi dengan Pocketbase
      Jadi saya membuat Claude Skill; penasaran apakah ada yang punya pengalaman serupa
  • Trailbase adalah versi dengan konsep yang sama yang diimplementasikan dalam Rust

    • Ada halaman perbandingan
    • Saya suka karena di contohnya mereka tidak menghilangkan perintah curl, jadi saya jadi tertarik pada Trailbase
    • Pocketbase memang berbasis SQLite, tetapi tidak mendukung kolom NULLABLE sehingga terasa kurang nyaman
      Karena itu saya pindah ke Trailbase
    • Trailbase bisa menjalankan JS di endpoint
      Artinya, ia juga bisa meng-host seluruh aplikasi
      Tautan panduan
    • Kalau melihat hal-hal seperti ini, justru Pocketbase mungkin terasa lebih menarik
  • Saya memakai Pocketbase sebagai lapisan autentikasi untuk side project
    Berjalan di kavla.dev, dan sistem hook-nya sangat bagus
    Berkat dokumentasi Go event hook, otomatisasi infrastruktur juga bisa diimplementasikan dengan mudah

  • Saya sempat cepat membuat MVP dengan SQLite dan DuckDB, tetapi belakangan menyesal saat masuk tahap backup dan persiapan produksi
    Sepertinya akan lebih mudah kalau sejak awal mulai dengan Supabase

  • Saya membuat OpenSOHO dengan Pocketbase, dan itu sangat menghemat waktu pengembangan
    Saya sedikit memodifikasinya agar backend bisa dipakai ulang, tetapi itu tidak sulit
    Hanya dari screenshot saja jejak Pocketbase langsung terlihat
    Tautan GitHub

  • Karena khawatir soal backup SQLite di Pocketbase, saya sendiri membuat alat sqlrsync.com yang bisa melakukan backup dengan sqlite3_rsync bahkan saat aplikasi sedang berjalan
    MVP-nya sudah berfungsi, dan karena berbasis Cloudflare Durable Objects, ini cepat dan stabil
    Masukan sangat diterima

    • Saya juga suka SQLite. Saya memakai replikasi berkelanjutan dengan litestream; apakah Anda kebetulan menggunakan SQLite rsync?
    • Saya penasaran apakah Anda pernah mencoba online backup API milik SQLite. Rasanya lebih baik menghindari akses file mentah
    • Saya ingin tahu apa perbedaan sqlrsync dan litestream