Menelusuri masalah banyak aplikasi dengan banyak sistem login yang terpisah, lanskap identity provider dari Okta hingga Keycloak, kelahiran Authentik oleh proyek goauthentik, hingga perbandingan jujur dengan Keycloak, Authelia, dan Zitadel.

Setelah di episode 0 kita memastikan environment siap — skill dasar protokol identitas, Docker Compose terpasang, dan topologi laboratorium dirancang — pada episode kali ini kita mundur sejenak untuk menjawab pertanyaan yang paling menentukan: mengapa kita membutuhkan Authentik?
Pertanyaan ini bukan sekadar trivia sejarah. Memahami latar belakang menjawab tiga pertanyaan praktis: (1) apa sebenarnya masalah dari "banyak aplikasi, banyak sistem login" yang selama ini kita terima sebagai hal normal, (2) mengapa solusi yang ada — Okta, Keycloak, Authelia — tidak selalu pas untuk kebutuhan kalian, dan (3) kapan Authentik adalah pilihan yang tepat dan kapan bukan. Seperti memahami sejarah sebuah teknologi, memahami latar belakang membuat kalian tidak hanya bisa memasangnya, tapi tahu mengapa ia ada.
Bayangkan rumah kalian punya sepuluh pintu, dan setiap pintu punya kunci yang berbeda. Tamu yang sama harus membawa sepuluh kunci berbeda, dan kalian harus mengingat sepuluh aturan berbeda tentang siapa boleh lewat pintu mana. Itulah keadaan server self-hosted maupun kantor pada umumnya:
123456. Tidak ada standar bersama.Authentik lahir sebagai jawaban atas kekacauan ini: satu pintu masuk, satu kebijakan, satu catatan audit, dan satu tempat untuk memberlakukan MFA.
Okta, Auth0, dan Microsoft Entra ID (dulu Azure AD) mendominasi pasar Identity-as-a-Service. Kekuatannya: dikelola vendor, SLA terjamin, integrasi enterprise luas, dan fitur lengkap. Harganya mengikuti — biasanya per pengguna per bulan, dan biaya membengkak seiring fitur (MFA, passwordless, lifecycle management) dan volume pengguna. Untuk perusahaan besar, ini wajar. Untuk homelab, VPS pribadi, atau startup kecil, biaya bulanan berulang sering terasa tidak proporsional.
Di sisi open source, dua nama terbesar adalah Keycloak (didukung Red Hat, ditulis dalam Java) dan Authentik (proyek goauthentik, ditulis dalam Python). Keduanya bisa di-self-host dengan biaya server saja. Perbedaannya menentukan pilihan kalian, dan akan kita bedah di bagian perbandingan.
Untuk series ini kita fokus pada self-hosted lewat Docker Compose — pola paling umum di ekosistem Authentik dan paling mudah dipraktikkan.
Garis besarnya: solusi komersial bisa menghabiskan ratusan juta rupiah per tahun untuk ratusan pengguna, sedangkan Authentik self-hosted di VPS kelas menengah bisa dibilang "gratis" selain biaya server dan waktu. Tapi ingat, self-hosted bukan nol biaya — ada biaya pemeliharaan, upgrade, dan risiko jika salah konfigurasi. Keputusan "komersial vs open source" adalah keputusan bisnis, bukan sekadar preferensi teknis.
Authentik dikembangkan oleh proyek goauthentik dan mulai dikenal luas sejak awal 2020-an. Ia dirancang dari dasar sebagai identity provider modern untuk aplikasi kontemporer — bukan adaptasi dari sistem lama, dan didistribusikan sebagai image Docker seperti ghcr.io/goauthentik/server dan ghcr.io/goauthentik/proxy. Beberapa ciri desainnya:
2021+ Proyek goauthentik mulai dikenal sebagai IdP open-source modern
2023.8 Lisensi berubah dari MIT menjadi BUSL (Business Source License)
sekarang Aktif dikembangkan, komunitas besar, dokumentasi lengkap, Docker-firstInti dari kekuatan Authentik ada di satu ide: semua alur autentikasi dibangun dari blok kecil yang bisa dirangkai. Sebuah stage adalah satu langkah (misalnya "minta username", "minta password", "tampilkan consent"), dan sebuah flow adalah rangkaian stage yang menjalankan satu tujuan (misalnya "login", "daftar", "reset password"). Seperti LEGO: dengan beberapa puluh jenis stage, kalian bisa merakit alur login sederhana maupun alur onboarding perusahaan yang kompleks. Ini akan kita bedah tuntas di episode 4.
| Solusi | Bahasa | Pendekatan | Posisi di Ekosistem |
|---|---|---|---|
| Keycloak | Java | Config-heavy, admin console besar | Full enterprise IdP standar industri |
| Authentik | Python | UI-first, flow & stages | Modern IdP all-in-one, Docker-first |
| Authelia | Go | Lightweight, satu binary | Forward auth specialist, bukan IdP lengkap |
| Zitadel | Go | Cloud-first, single binary | Modern IdP, kuat di fitur cloud, kurva belajar curam |
Ini perbandingan yang paling sering ditanyakan. Keycloak adalah veteran — fitur enterprise paling lengkap dan paling banyak dipakai di perusahaan. Tapi konfigurasinya berat: banyak menu, konsep realm, dan sebagian besar diatur lewat form yang rapat. Authentik menjawabnya dengan pendekatan berbeda: UI yang bersih, konsep flows yang ekspresif, dan deployment Docker yang sederhana. Ditulis dalam Python vs Java, Authentik juga terasa lebih ringan di operasional sehari-hari. Untuk proyek baru yang self-hosted, banyak engineer memilih Authentik demi pengalaman konfigurasi yang lebih manusiawi.
Authelia adalah auth proxy specialist: ia berdiri di depan aplikasi dan menangani forward authentication dengan sangat baik — ringan, satu binary Go, dan konfigurasi berbasis file. Tapi ia bukan identity provider lengkap: OIDC-nya terbatas, dan tidak ada provider SAML atau LDAP outpost. Authentik adalah IdP penuh yang juga punya kemampuan forward auth lewat proxy provider. Jika kalian hanya butuh melindungi beberapa aplikasi dengan SSO + MFA dan ingin yang serba ringan, Authelia cukup. Jika kalian butuh identity platform yang bisa diintegrasikan sebagai OIDC/SAML IdP ke aplikasi lain, Authentik jauh lebih lengkap.
Zitadel adalah pesaing modern berbasis Go yang mengusung desain cloud-first dan fitur-fitur menarik seperti action API dan human-to-machine. Ia kuat di ekosistem cloud dan Kubernetes. Keunggulan Authentik di sini: ekosistem outpost yang memudahkan deployment di luar cluster (Docker standalone, VPS, bare metal), dokumentasi yang lebih berorientasi praktik, dan komunitas self-hosting yang sangat aktif. Keduanya mumpuni; pilihan sering turun ke preferensi deployment dan kedekatan dengan ekosistem Docker klasik.
Tip
Aturan praktis: jika kalian butuh IdP lengkap dengan OIDC dan SAML, integrasi aplikasi, dan forward auth dalam satu produk — dan bersedia memelihara server — Authentik adalah pilihan yang sangat kuat. Jika kalian hanya butuh lapisan login + MFA di depan beberapa aplikasi dan ingin yang paling ringan, Authelia bisa jadi cukup.
Pada episode 1 ini kita telah memahami akar masalah yang Authentik selesaikan: kekacauan banyak pintu login — password fatigue, kebijakan tidak konsisten, dan keamanan yang bergantung aplikasi paling lemah. Kita menelusuri lanskap identity provider dari solusi komersial (Okta, Auth0, Azure AD) hingga alternatif open source, melihat kelahiran Authentik oleh proyek goauthentik — Python-based, cloud-native, UI-first, berlisensi MIT hingga 2023.8 lalu BUSL — dan membandingkannya secara jujur dengan Keycloak, Authelia, dan Zitadel.
Inti yang harus kalian bawa:
Di episode 2 selanjutnya kita akan membedah arsitektur dan konsep inti Authentik: bagaimana server, worker, PostgreSQL, Redis, dan outpost bekerja sama, apa itu tenant, application, provider, flow, stage, dan policy, serta perjalanan satu permintaan dari browser hingga kembali dengan token. Sampai jumpa di episode 2!