Menelusuri masalah banyak aplikasi dengan banyak sistem login yang terpisah, kelahiran Authelia di tahun 2016 sebagai lightweight forward authentication server berfokus SSO dan MFA, hingga perbandingan jujur dengan Authentik, Keycloak, oauth2-proxy, dan basic auth.

Setelah di episode 0 kita memastikan environment siap — skill dasar reverse proxy dan forward authentication, Docker Compose terpasang, dan topologi laboratorium dirancang — pada episode kali ini kita mundur sejenak untuk menjawab pertanyaan yang paling menentukan: mengapa kita membutuhkan Authelia?
Pertanyaan ini bukan sekadar trivia sejarah. Memahami latar belakang Authelia 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 — basic auth, oauth2-proxy, Authentik, Keycloak — tidak selalu pas, dan (3) kapan Authelia adalah pilihan yang tepat dan kapan bukan. Seperti memahami sejarah sebuah teknologi, memahami latar belakang Authelia membuat kalian tidak hanya bisa memasangnya, tapi tahu mengapa ia ada.
Bayangkan rumah kalian punya sepuluh pintu, dan setiap pintu punya kunci yang berbeda-beda. 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 pada umumnya:
123456. Tidak ada standar bersama.Authelia lahir sebagai jawaban atas kekacauan ini: satu pintu masuk, satu kebijakan, satu catatan audit, dan satu tempat untuk memberlakukan MFA.
Cara paling tradisional: setiap aplikasi punya sistem login sendiri, database pengguna sendiri, dan kebijakan sendiri. Untuk satu sampai tiga aplikasi, ini masih masuk akal. Setelah itu, beban mengelolanya tumbuh lebih cepat daripada nilainya.
Tahap berikutnya yang sering dicoba: reverse proxy (misalnya NGINX) menambahkan lapisan login sederhana dengan directive auth_basic:
location / {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
}Masalahnya: kredensial dikirim sebagai teks (hanya di-encode base64, tidak dienkripsi — aman hanya di atas HTTPS), tidak ada dukungan MFA, tidak ada manajemen pengguna, dan semua pengguna biasanya berbagi satu username/password yang sama.
Pola yang lebih modern: proxy "menyerahkan" keputusan autentikasi ke layanan eksternal. Authelia adalah salah satu implementasi forward authentication — ia mengecek session, mengarahkan ke portal login bila perlu, lalu memberi tahu proxy apakah permintaan boleh diteruskan. Pola inilah yang menjadi tulang punggung Authelia dan akan kita bedah di episode 2.
Semakin banyak layanan yang di-homelab, semakin kuat kebutuhan Single Sign-On (SSO): login sekali, semua aplikasi terbuka. SSO bukan kemewahan enterprise — bagi pemilik satu VPS dengan lima aplikasi, SSO adalah cara mengelola identitas yang masuk akal secara manusiawi.
Authelia lahir pada tahun 2016 sebagai proyek open-source yang digerakkan komunitas, dengan lisensi Apache 2.0. Visinya sejak awal sederhana namun tegas: menjadi lightweight authentication server yang fokus pada forward authentication — satu hal yang dikerjakan dengan sangat baik — alih-alih platform raksasa yang mencoba mengerjakan segalanya.
Karena ditulis dalam Go, Authelia dikompilasi menjadi satu binary tunggal: pemasangannya ringan, konsumsi memorinya rendah, dan tidak ada runtime yang perlu dikelola. Desain ini lahir dari kebutuhan nyata komunitas self-hosting: solusi yang muat di server kecil, mudah di-deploy, dan berintegrasi mulus dengan reverse proxy yang sudah ada.
bypass, one_factor, two_factor, deny).Remote-User, Remote-Groups, dan lainnya), sehingga aplikasi tanpa sistem login pun bisa mengenali pengguna.| Solusi | Posisi | Kekuatan | Batasan |
|---|---|---|---|
| Basic auth (proxy) | Lapisan paling sederhana | Nol konfigurasi, universal | Tanpa MFA, tanpa manajemen pengguna, kredensial bersama |
| oauth2-proxy | Forward auth via OAuth2 | Ringan, terintegrasi OAuth2 | Tidak ada portal self-hosted, bukan server identitas penuh |
| Authelia | Forward auth specialist | Ringan (Go), SSO + MFA + access control, no telemetry | Bukan IdP enterprise selengkap Keycloak |
| Authentik | IdP all-in-one | Portal lengkap, alur flow visual, kaya fitur | Lebih berat, kurva belajar lebih curam |
| Keycloak | Full enterprise IdP | Fitur paling lengkap, standar industri | Overhead besar untuk homelab, konfigurasi kompleks |
Inti perbandingannya: Authentik dan Keycloak adalah platform identitas raksasa — hebat, tapi butuh sumber daya dan waktu belajar yang besar. Authelia sengaja sempit: ia menangani forward authentication, SSO, dan MFA dengan sangat baik, dan hampir tidak melakukan hal lain. Untuk homelab dan bisnis kecil, sempit bukan kelemahan — itu kekuatan.
authelia/authelia dan binary tunggal.Authelia sangat cocok untuk:
Tip
Aturan praktisnya: jika kalian punya lebih dari tiga layanan yang di-reverse proxy dan mulai lelah mengingat password berbeda-beda, sudah waktunya Authelia. Jika kalian butuh alur approval multi-level, federasi antar-organisasi, atau kepatuhan enterprise yang ketat, lihat Keycloak atau Authentik.
Pada episode 1 ini kita telah memahami akar masalah yang Authelia selesaikan: kekacauan banyak pintu login — password fatigue, kebijakan tidak konsisten, dan keamanan yang bergantung aplikasi paling lemah. Kita menelusuri evolusi solusinya dari autentikasi per-aplikasi, basic auth di proxy, hingga pola forward authentication, dan melihat kelahiran Authelia di tahun 2016 sebagai lightweight forward authentication server yang fokus pada SSO, MFA, dan access control — ditulis dalam Go, berlisensi Apache 2.0, tanpa telemetry. Kita juga membandingkannya secara jujur dengan oauth2-proxy, Authentik, dan Keycloak.
Inti yang harus kalian bawa:
Di episode 2 selanjutnya kita akan membedah arsitektur dan konsep inti Authelia: bagaimana server Authelia, Redis, database pengguna, dan reverse proxy bekerja sama, perjalanan satu permintaan dari browser hingga kembali dengan cookie session, dan istilah-istilah kunci seperti access control dan policy. Sampai jumpa di episode 2!