Skip to content

Deploy ด้วยคลิกเดียว ​

หน้านี้สอนอะไร

เปิดเว็บพร้อมหน้า admin บน Vercel หรือ Netlify ได้ในไม่กี่คลิก และสิ่งที่ควรทำต่อ

ควรอ่านก่อน: ไม่ต้อง ถ้าต้องการเพิ่ม Easy CMS เข้าแอปของคุณเอง ดู เริ่มต้นใช้งาน

Deploy with VercelDeploy to Netlify

ปุ่มทั้งสองคัดลอก starter ไปเป็น repository ใหม่ของคุณแล้ว deploy ให้ ได้บล็อก Next.js พร้อมหน้า admin (บทความ หมวดหมู่ สื่อ SEO บทบาท และ audit log) และมีบทความตัวอย่าง

ได้อะไรบ้าง ​

VercelNetlify
ฐานข้อมูลNeon Postgres ที่ปุ่มสร้างให้Netlify Database (Postgres) สร้างตอน deploy ครั้งแรก
ไฟล์อัปโหลดVercel Blob ที่ปุ่มสร้างให้Netlify Blobs สร้างตอนใช้ครั้งแรก
สิ่งที่ต้องกรอกรหัส setupรหัส setup

สิ่งเดียวที่ต้องกรอกคือ รหัส setup (EASY_CMS_SETUP_CODE) จะเป็นข้อความอะไรก็ได้ที่คุณเลือก เว็บที่เพิ่ง deploy ใครเปิด /admin ก่อนก็ตั้งตัวเองเป็น admin ได้ รหัสนี้ทำให้มีแต่คุณที่ทำได้

หลัง deploy ​

  1. เปิด /admin ของเว็บใหม่
  2. สร้าง admin คนแรก: ชื่อ อีเมล รหัสผ่าน และรหัส setup
  3. แก้หรือลบบทความตัวอย่าง แล้วเขียนของคุณเอง เชิญทีมได้ที่ ตั้งค่า → ผู้ใช้

ถ้ามีบางอย่างไม่ทำงาน ​

อัปโหลดไม่ได้ และมีข้อความให้ connect Blob store (Vercel) แปลว่า deployment นั้นไม่มี BLOB_READ_WRITE_TOKEN อาจเพราะไม่ได้เพิ่ม Blob store ในฟอร์ม deploy หรือเชื่อมหลังจาก deploy เริ่มไปแล้ว

  1. ในโปรเจกต์บน Vercel เปิดแท็บ Storage ถ้ายังไม่มี Blob store ให้กด Create → Blob และเลือก Public
  2. ที่ store นั้นกด Connect Project เลือกโปรเจกต์นี้และทุก environment
  3. Settings → Environment Variables จะมี BLOB_READ_WRITE_TOKEN ขึ้นมาเอง อย่านำค่านี้ไปใส่ที่อื่น ใครได้ไปจะแก้ไฟล์ ของคุณได้
  4. Deployments → ⋯ → Redeploy เพราะ environment variable ใหม่มีผลกับ deployment ใหม่เท่านั้น

เว็บล้มพร้อมข้อความ "No database" แปลว่าแพลตฟอร์มไม่ได้ให้ URL ฐานข้อมูล บน Netlify ฐานข้อมูล Netlify Database จะถูกสร้างตอน deploy ครั้งแรกเพราะ starter ติดตั้ง @netlify/database ไว้ ต้องใช้แพ็กเกจแบบ credit-based และดูได้ที่ Data & Storage → Database เว็บเก่าที่สร้างจาก starter ใช้ Netlify DB (beta) ซึ่งสร้างใหม่ไม่ได้แล้ว ให้อัปเดต package.json และ easy-cms.config.ts ตาม starter หรือตั้ง DATABASE_URL เป็น Postgres ใดก็ได้ แล้ว redeploy

/admin ไม่ถามรหัส setup แปลว่ายังไม่ได้ตั้ง EASY_CMS_SETUP_CODE ให้เพิ่มใน environment variable ของโปรเจกต์ แล้ว redeploy ก่อนที่จะมีใครสร้าง admin คนแรก

เมื่อใช้งานจริง ​

  • ตั้ง EASY_CMS_SECRET ใน environment variable ของโปรเจกต์ (openssl rand -hex 32) แล้ว deploy ใหม่ ระหว่างนี้ starter สร้างค่าให้จาก URL ฐานข้อมูล การ deploy คลิกเดียวจึงใช้ได้ทันที ความลับเท่ากับรหัสผ่านฐานข้อมูล และ จะเปลี่ยนถ้ารหัสนั้นเปลี่ยน
  • เปลี่ยนโครงสร้างเนื้อหา ใน easy-cms.config.ts ของ repository ใหม่ สร้าง migration (npx easy-cms migrate:create <name>) แล้ว push ทุกการ deploy จะรัน easy-cms migrate ก่อน
  • อีเมล สำหรับคำเชิญและลืมรหัสผ่าน ดู อีเมล
  • โดเมนของคุณ ตั้งที่แพลตฟอร์ม และตั้ง serverURL ใน config

ทำงานอย่างไร ​

ขั้น build รัน easy-cms migrate ใส่บทความตัวอย่างเมื่อฐานข้อมูลยังไม่มีบทความ แล้วจึง next build config เลือกฐาน ข้อมูลจาก DATABASE_URL (Vercel) หรือ NETLIFY_DB_URL (Netlify Database ซึ่ง Netlify สร้างให้เพราะ starter ติดตั้ง @netlify/database ต้องใช้แพ็กเกจ Netlify แบบ credit-based) และเลือกที่เก็บไฟล์จาก BLOB_READ_WRITE_TOKEN (@easy-cms/storage-vercel-blob) หรือ Netlify (@easy-cms/storage-netlify-blobs) ถ้าไม่มีจะใช้ PGlite และโฟลเดอร์ uploads สำหรับตอนพัฒนา

ฐานข้อมูลอื่นก็ใช้ได้ เช่น Supabase หรือ Postgres ใดๆ ผ่าน DATABASE_URL หรือ Turso กับ @easy-cms/db-sqlite ดู ฐานข้อมูล

ขั้นต่อไป ​

เผยแพร่ภายใต้สัญญาอนุญาต MIT