← Semua picks

Tool Review Conditional

Zitadel vs Keycloak vs Supabase Auth vs Clerk: self-hosted auth 2026

self-hosted auth 2026: Zitadel vs Keycloak vs Supabase Auth — kapan pilih mana

6 Agustus 2026 · 8 menit ·Use case: Memilih auth provider untuk product Indonesia: self-hosted vs managed, cost vs DX, compliance vs speed
ZitadelKeycloakSupabase AuthClerk

Konteks: kenapa auth decision lebih penting di 2026

Auth bukan fitur satu kali setup. Di 2026, regulasi data Indonesia (PP 71/2019, UU PDP) mulai diperketat, dan beberapa klien enterprise sudah mulai tanya soal data residency. Bersamaan itu, opsi makin banyak: Keycloak yang mature tapi berat, Zitadel yang modern tapi muda, Supabase Auth yang bundled dan praktis, Clerk yang developer-friendly tapi USD-only.

Pilihan salah di awal product costly: migrasi auth mid-flight artinya reset session semua user, update token format, dan potentially downtime. Artikel ini adalah decision framework, bukan benchmark lab.

Comparison table

KriteriaZitadelKeycloakSupabase AuthClerk
Harga self-hostedGratis (OSS)Gratis (OSS)Gratis (OSS) / Managed mulai $25/blnTidak ada self-hosted
Managed pricingCloud mulai $55/blnRed Hat SSO (enterprise)Free tier 50k MAUFree 10k MAU, $25/bln per 1k setelahnya
Memory footprint~60MB idle~500MB+ idleManaged (tidak relevan)Managed (tidak relevan)
DX setupBaik (Docker single binary)Sedang (XML config, berat)Sangat baik (bundled dengan DB)Sangat baik (hosted + SDK)
SSO / SAML / LDAPYa (SSO, SAML 2.0, LDAP)Ya (paling mature)Terbatas (OAuth/OIDC saja)Ya (SAML add-on, enterprise plan)
Indonesia latencySelf-host Jakarta: optimalSelf-host Jakarta: optimalap-southeast-1 ~15msEdge global, ~20-30ms Jakarta
Data residencyFull control (self-hosted)Full control (self-hosted)Pilih region sendiriTidak ada pilihan region
Cocok untukStartup-mid enterprise, self-hostedEnterprise dengan legacy IAMStartup pakai Supabase stackStartup cepat, product-led growth

Zitadel

Zitadel adalah Go-based IAM open-source yang mulai mature sejak v2. Single binary, event-sourced architecture, dan developer experience yang jauh lebih manusiawi dari Keycloak.

Setup di VPS 1GB RAM berjalan mulus dengan Docker Compose resmi. Tidak perlu cluster, tidak perlu dedicated DBA untuk manage schema — Zitadel pakai CockroachDB atau PostgreSQL standar. Untuk tim yang self-host di IDCloudHost atau Biznet, ini berarti bisa jalan di instance yang sama dengan aplikasi utama tanpa terasa berat.

Kelemahan Zitadel yang perlu diakui: ekosistem lebih muda dari Keycloak. Beberapa edge case enterprise (Kerberos, complex LDAP sync policy, legacy SAML SP yang aneh) belum setangguh Keycloak. Dokumentasi sudah baik tapi komunitas forum/Stack Overflow masih jauh lebih kecil — saat stuck, Anda lebih sering ke GitHub issues langsung.

Untuk product Indonesia yang butuh self-hosted, compliance data residency, dan tidak mau bayar overhead ops Keycloak: Zitadel adalah sweet spot 2026.

Keycloak

Keycloak adalah gold standard IAM open-source selama satu dekade. SAML 2.0, LDAP, Kerberos, custom SPI (Service Provider Interface) — kalau ada usecase IAM eksotis, Keycloak hampir pasti bisa handle.

Tapi jujur: Keycloak berat. Startup time 30-60 detik, idle RAM 500MB+, dan konfigurasi via Realm JSON atau UI yang notoriously kompleks. Tim yang baru pertama kali setup Keycloak hampir pasti butuh 1-3 hari untuk production-ready setup (realm, client, flow, mapper). Upgrade versi Keycloak juga tidak trivial — breaking change di tiap major version, dan migration script kadang ada, kadang perlu manual.

Worth it? Ya, kalau Anda punya enterprise klien yang sudah punya Active Directory, butuh SAML federation dengan partner legacy, atau sudah punya internal Keycloak admin. Tidak worth it kalau Anda startup yang butuh auth cepat dan tidak ada budget dedicated ops.

Untuk VPS Indonesia: Keycloak praktis butuh dedicated instance 2GB RAM minimum agar tidak OOM. Di harga IDR, itu ~Rp 200-400rb/bulan ekstra hanya untuk auth server.

Supabase Auth

Supabase Auth (GoTrue fork) adalah pilihan no-brainer kalau Anda sudah pakai Supabase untuk database. Email/password, magic link, OAuth (Google, GitHub, Facebook, Apple), dan phone OTP sudah bundled. RLS (Row Level Security) di PostgreSQL terintegrasi langsung dengan JWT claims — bisa select * from posts where user_id = auth.uid() tanpa middleware ekstra.

Latency ke Jakarta dari region ap-southeast-1 Singapore konsisten di 15-20ms. Untuk product Indonesia yang user-nya mostly Jabodetabek, ini acceptable. Supabase juga sudah ada klien enterprise Indonesia — data residency bisa di-address dengan dedicated project di region yang sesuai.

Limitasi: Supabase Auth bukan full IAM. Tidak ada SAML, tidak ada LDAP, tidak ada enterprise SSO dari box (butuh add-on). Untuk B2C product Indonesia yang user-nya social login dan email: cukup. Untuk B2B enterprise yang IT admin-nya butuh SSO ke Okta atau Azure AD: kurang.

Managed self-hosted Supabase juga sudah mature — bisa deploy ke VPS sendiri pakai Docker Compose Supabase resmi. Ini pilihan kalau Anda mau data residency lokal tapi tidak mau maintain custom auth server.

Clerk

Clerk adalah managed auth dengan developer experience terbaik di kelasnya. Pre-built UI component (sign-in, sign-up, user profile, org switcher), SDK React/Next.js/Remix yang polished, dan organization management out of the box.

Untuk startup Indonesia yang target market-nya regional Asia atau global, Clerk reasonable. Untuk product yang target SMB lokal dengan budget IDR: pricing perlu dihitung ulang. USD 25/bulan per 1000 MAU di atas free tier bisa jadi line item signifikan kalau product Anda tumbuh ke 20-50k MAU — itu USD 250-500/bulan hanya untuk auth.

Tidak ada self-hosted option. Ini artinya tidak ada kontrol data residency, tidak ada option off-grid kalau Clerk downtime, dan tidak ada exit yang mudah kalau pricing berubah. Untuk startup pre-revenue yang eksperimen cepat: acceptable tradeoff. Untuk product dengan user data sensitif atau compliance lokal: risiko.

Verdict

Pakai Zitadel kalau: self-hosted adalah requirement (data residency, compliance UU PDP), tim comfortable ops Docker, dan Anda tidak butuh LDAP enterprise atau legacy SAML federation. Ini opsi terbaik untuk mid-size product Indonesia yang mau kontrol penuh tanpa overhead Keycloak.

Pakai Keycloak kalau: klien Anda enterprise dengan existing Active Directory, butuh SAML SP federation legacy, atau Anda sudah punya internal expertise Keycloak. Jangan pakai Keycloak untuk greenfield startup — overhead tidak sepadan.

Pakai Supabase Auth kalau: stack Anda sudah Supabase, butuh setup cepat, dan usecase Anda B2C (social login + email). Kalau mau data residency, self-host Supabase stack ke VPS Jakarta. Ini pilihan pragmatis paling umum untuk startup Indonesia 2026.

Pakai Clerk kalau: speed to market adalah prioritas absolut, tim tidak mau maintenance apapun, budget USD tidak jadi masalah, dan product Anda tidak punya compliance constraint soal data residency. Cocok untuk indie hacker atau early-stage startup yang validasi produk dulu.

Untuk sebagian besar product Indonesia mid-career dev yang baca artikel ini: Supabase Auth untuk B2C stack Supabase, Zitadel untuk self-hosted requirement. Keycloak dan Clerk adalah edge case — satu terlalu berat, satu terlalu mahal untuk skala lokal.

Ditulis oleh Asti Larasati

// Pick Tool Review lain


← Semua picks RSS feed