Logto CLI
Logto CLI มอบวิธีที่สะดวกในการติดตั้ง ดูแล และอัปเดต Logto instance ของคุณโดยไม่ต้องจัดการเรื่องเทคนิคที่น่าเบื่อเหล่านั้นด้วยตนเอง
ขณะนี้เรายังไม่ได้จัดส่งไฟล์ไบนารี ดังนั้นจึงต้องใช้ Node.js ^18.12.0 ในสภาพแวดล้อม
ติดตั้ง CLI ทั่วโลก
ติดตั้งผ่านตัวจัดการแพ็กเกจที่คุณชื่นชอบเพื่อใช้คำสั่ง logto ได้ทั่วโลก:
- npm
- Yarn
- pnpm
npm i @logto/cli -g
yarn global add @logto/cli
pnpm add -g @logto/cli
คุณสามารถเติม --help ต่อท้ายเพื่อแสดงข้อมูลช่วยเหลือของแต่ละคำสั่งได้เสมอ:
logto --help
logto db seed --help
CLI แบบโลคอล
CLI เวอร์ชันในตัวจะถูกรวมมากับทุก Logto release ตั้งแต่ v1.0.0-beta.11 สมมติว่าคุณมี Logto instance อยู่ใน ~/logto แล้ว คุณสามารถรันคำสั่งด้านล่างนี้ได้:
cd ~/logto
npm run cli # เรียกใช้ CLI แบบโลคอล
โปรดทราบว่าหากคุณต้องการรันพร้อมออปชัน คุณต้องเติม -- ไว้ข้างหน้าออปชันสำหรับ Logto CLI เช่น:
npm run cli db seed -- --db-url postgresql://your-database-url
ใช้ CLI ด้วย npx
อีกวิธีหนึ่งในการใช้ Logto CLI คือ npx ซึ่งสามารถรันแพ็กเกจได้โดยไม่ต้องติดตั้ง
npx @logto/cli
วิธีนี้จะมีประโยชน์สำหรับการเรียกใช้งานแบบครั้งเดียว เช่น:
npx @logto/cli db seed --db-url postgresql://your-database-url
Seed สำหรับการติดตั้งแบบ air-gapped หรือออฟไลน์
ตั้งแต่ Logto v1.40.0 ทั้งคำสั่ง init (ติดตั้ง) และ db seed รองรับแฟล็กเพิ่มเติมสำหรับสภาพแวดล้อมที่ไม่สามารถเชื่อมต่ออินเทอร์เน็ตสาธารณะระหว่างการติดตั้ง:
--disable-admin-pwned-password-check, --dapc
เมื่อกำหนดแฟล็กนี้ นโยบายรหัสผ่านที่ seed ให้กับ ผู้เช่าแอดมิน (admin tenant) จะปิดการตรวจสอบรหัสผ่านรั่วไหลผ่าน Have I Been Pwned (HIBP) โดยอัตโนมัติ ซึ่งหมายความว่าการสร้างแอดมินเริ่มต้นจากหน้า Welcome จะไม่ค้างเมื่อ api.pwnedpasswords.com ไม่สามารถเข้าถึงได้ (เช่น ในดาต้าเซ็นเตอร์ air-gapped หรือหลังไฟร์วอลล์ที่เข้มงวด)
แฟล็กนี้มีผลเฉพาะกับผู้เช่าแอดมินเท่านั้น นโยบายรหัสผ่านของผู้เช่าหลัก (default tenant) จะไม่ถูกเปลี่ยนแปลง และคุณสามารถควบคุมได้เองผ่าน Admin Console > ประสบการณ์การลงชื่อเข้าใช้ > นโยบายรหัสผ่าน หลังจากแอดมินคนแรกลงชื่อเข้าใช้แล้ว
ติดตั้งแบบขั้นตอนเดียว (แนะนำสำหรับการติดตั้ง Logto OSS ใหม่):
- CLI
- npm
- npx
logto init --disable-admin-pwned-password-check
npm init @logto@latest -- --disable-admin-pwned-password-check
npx @logto/cli init --disable-admin-pwned-password-check
Seed ฐานข้อมูลที่มีอยู่แล้ว (เมื่อ Logto ถูกแตกไฟล์แล้ว หรือเมื่อ re-seed):
- CLI
- npm
- npx
logto db seed --disable-admin-pwned-password-check
npm run cli db seed -- --disable-admin-pwned-password-check
npx @logto/cli db seed --disable-admin-pwned-password-check
--dapc และ --disable-admin-pwned-password-check เป็น alias ใช้ตัวใดก็ได้