Technology newsroom
ติดตั้ง Authentik บน UGREEN NAS: สร้างระบบ Single Sign-On (SSO) ส่วนตัวด้วย Docker 🔐
เรียนรู้วิธีการติดตั้ง Authentik ระบบ Identity Provider แบบ Open-Source บน UGREEN NAS เพื่อสร้างระบบ Single Sign-On (SSO) ส่วนตัวสำหรับจัดการการเข้าถึงแอปพลิเคชันต่างๆ ผ่าน Docker และ Dockhand
📌 สรุปประเด็นสำคัญ:
- Authentik คือระบบ Identity Provider แบบ Open-Source สำหรับทำ Single Sign-On (SSO) เพื่อรวมศูนย์การยืนยันตัวตนสำหรับทุกแอปพลิเคชัน
- บทความนี้จะสอนวิธีการติดตั้ง Authentik บน UGREEN NAS อย่างละเอียดทีละขั้นตอน โดยใช้ Docker และเครื่องมือช่วยอย่าง Dockhand
- การติดตั้งจำเป็นต้องมีการตั้งค่าพื้นฐานหลายอย่าง เช่น DDNS, Reverse Proxy (Nginx Proxy Manager), และ SMTP เพื่อให้ระบบทำงานได้อย่างสมบูรณ์
UGREEN NAS ไม่ได้เป็นเพียงอุปกรณ์จัดเก็บข้อมูลอีกต่อไป แต่ยังสามารถเป็นเซิร์ฟเวอร์ที่ทรงพลังสำหรับรันบริการต่างๆ ได้หลากหลาย วันนี้เราจะมาดูวิธีการติดตั้ง Authentik ซึ่งเป็น Identity Provider แบบ Open-Source ที่จะช่วยให้เราสร้างระบบ Single Sign-On (SSO) ส่วนตัวขึ้นมาใช้งานเองได้ ทำให้การล็อกอินเข้าสู่แอปพลิเคชันต่างๆ ของเราเป็นเรื่องง่ายและปลอดภัยในที่เดียว
Authentik ทำหน้าที่เป็นศูนย์กลางในการยืนยันตัวตนและจัดการสิทธิ์การเข้าถึง (Authorization) รองรับมาตรฐานสมัยใหม่มากมาย เช่น OpenID Connect, SAML, LDAP ไปจนถึง RADIUS ทำให้สามารถเชื่อมต่อกับระบบที่หลากหลายได้ เหมาะสำหรับผู้ที่ต้องการควบคุมข้อมูลและความเป็นส่วนตัวของตัวเองโดยไม่ต้องพึ่งพาบริการจากค่ายใหญ่
⚙️ การเตรียมตัวก่อนการติดตั้ง
ก่อนจะเริ่มติดตั้ง Authentik บน UGREEN NAS ของคุณ มีสิ่งที่ต้องเตรียมการหลายอย่าง เริ่มตั้งแต่การติดตั้ง Dockhand ซึ่งเป็นเครื่องมือจัดการ Docker บน UGREEN NAS, การเปิดใช้งาน HTTPS เพื่อความปลอดภัย, การตั้งค่า DDNS (เช่น ผ่าน No-IP) เพื่อให้สามารถเข้าถึง NAS จากภายนอกได้, และการตั้งค่าสิทธิ์ Read & Write ให้กับโฟลเดอร์ Docker
จากนั้น ให้สร้างโฟลเดอร์สำหรับ Authentik ภายในโฟลเดอร์ Docker และสร้างโฟลเดอร์ย่อยอีก 5 โฟลเดอร์ ได้แก่ certs, data, db, redis, และ templates เพื่อใช้เก็บข้อมูลส่วนต่างๆ ของระบบ นอกจากนี้ การตั้งค่า SMTP (เช่น การใช้ Gmail SMTP) ก็เป็นสิ่งจำเป็นเพื่อให้ Authentik สามารถส่งอีเมลแจ้งเตือนต่างๆ ได้
🚀 ขั้นตอนการติดตั้งผ่าน Dockhand
การติดตั้งจะทำผ่านการสร้าง Stack ใหม่ใน Dockhand โดยใช้ Docker Compose Code ที่ทาง MariusHosting ได้เตรียมไว้ให้ ซึ่งในโค้ดจะประกอบไปด้วย Service ที่จำเป็น 4 ตัว คือ db (PostgreSQL), redis, server (Authentik Backend) และ worker (Authentik Background Tasks)
สิ่งสำคัญที่สุดในขั้นตอนนี้คือการแก้ไขค่าต่างๆ ในโค้ด Compose ให้เป็นข้อมูลของคุณเอง 🔧 ไม่ว่าจะเป็น UID และ GID ของผู้ใช้งาน, รหัสผ่านสำหรับ Redis, AUTHENTIK_SECRET_KEY ที่ต้องสร้างขึ้นมาใหม่, AUTHENTIK_BOOTSTRAP_PASSWORD สำหรับการล็อกอินครั้งแรก, ข้อมูล SMTP ของคุณ และที่สำคัญคือ AUTHENTIK_HOST (ชื่อโดเมน DDNS ของคุณ) และ AUTHENTIK_WEB__BASE_URL (URL เต็มพร้อม https://) เมื่อแก้ไขค่าทั้งหมดเรียบร้อยแล้ว ก็สามารถกด Create & Start เพื่อเริ่มการติดตั้งได้เลย
🔐 การตั้งค่า Reverse Proxy และการใช้งานเบื้องต้น
หลังจากที่ Container ทั้งหมดทำงานเรียบร้อยแล้ว ขั้นตอนต่อไปคือการตั้งค่า Reverse Proxy ผ่าน Nginx Proxy Manager เพื่อทำการผูกโดเมนที่คุณสร้างไว้กับ IP และ Port ของ Authentik (Port 9700) พร้อมทั้งขอ SSL Certificate เพื่อให้การเชื่อมต่อเป็น HTTPS ซึ่งเป็นขั้นตอนที่ขาดไม่ได้เพื่อความปลอดภัย
เมื่อตั้งค่า Proxy เสร็จสิ้น คุณจะสามารถเข้าสู่หน้าเว็บ Authentik ผ่านโดเมนของคุณได้แล้ว โดยใช้ Username เริ่มต้นคือ akadmin และรหัสผ่านคือค่า AUTHENTIK_BOOTSTRAP_PASSWORD ที่คุณตั้งไว้ในไฟล์ Compose จากนั้นระบบจะให้คุณเข้าไปตั้งค่าพื้นฐานใน Admin Interface เช่นการเปลี่ยน Username, Email และการตั้งค่า Base URL ให้ถูกต้อง เพียงเท่านี้ระบบ Authentik บน UGREEN NAS ของคุณก็พร้อมใช้งานแล้ว
💬 มีใครกำลังมองหาระบบ SSO แบบ Self-Hosted ไปใช้งานกับ Service ต่างๆ ที่รันบน NAS อยู่บ้างครับ? มาแชร์กันหน่อยว่าสนใจนำไปใช้กับแอปพลิเคชันตัวไหนกันบ้าง