โลโก้ Payload CMS
CMS และเว็บไซต์MIT (โอเพนซอร์ส)

Payload CMS คืออะไร และวิธีติดตั้งบน Cloud Server

Payload CMS คือ Headless CMS สำหรับทีมที่เขียน TypeScript โครงสร้างข้อมูลทั้งหมดประกาศเป็นโค้ด จึงตรวจสอบด้วยตัวคอมไพเลอร์ได้และเก็บเป็นเวอร์ชันใน Git เหมือนโค้ดส่วนอื่นของโครงการ

ติดตั้งบนเซิร์ฟเวอร์เองได้
ได้
สเปกเริ่มต้นที่แนะนำ
2 vCPU · RAM 4 GB
ไลเซนส์
MIT (โอเพนซอร์ส)
เว็บทางการ
เปิดเว็บไซต์
สร้าง Cloud Server เดี๋ยวนี้
  • ISO/IEC 27001
  • ISO 22301
  • ISO 20000-1
  • CSA-STAR

Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย

Payload CMS คืออะไร

ต่างจาก Headless CMS ที่ให้สร้างโครงสร้างข้อมูลผ่านหน้าเว็บ Payload ให้ประกาศทุกอย่างเป็นไฟล์ TypeScript ผลคือโครงสร้างข้อมูลถูกตรวจตั้งแต่ตอนคอมไพล์ และการเปลี่ยนแปลงทุกครั้งผ่านการรีวิวเหมือนโค้ดปกติ

ระบบสร้างหน้าจอจัดการและ API ให้อัตโนมัติจากสิ่งที่ประกาศไว้ พร้อมระบบสิทธิ์ที่เขียนเป็นฟังก์ชันได้ จึงกำหนดเงื่อนไขซับซ้อนอย่างให้ผู้ใช้เห็นเฉพาะข้อมูลของหน่วยงานตัวเองได้ไม่ยาก

จุดที่ต้องพิจารณาคือทีมต้องมีนักพัฒนาที่ดูแลต่อได้ เพราะการเพิ่มชนิดเนื้อหาใหม่ต้องแก้โค้ดและ Deploy ใหม่ ต่างจาก CMS ที่ทีมคอนเทนต์เพิ่มฟิลด์เองได้จากหน้าเว็บ

แผนผังการวางระบบ Payload CMS บน Cloud Server หนึ่งเครื่องที่ Data Center ในประเทศไทย ผู้ใช้เข้าถึงผ่านไฟร์วอลล์ที่เปิดเฉพาะพอร์ต 443, 3000 ตัว Payload CMS และข้อมูลอยู่บนเครื่องเดียวกัน เริ่มต้นที่ 2 vCPU แรม 4 GB และมีสำเนาสำรองเขียนออกไปเก็บอีกไซต์หนึ่ง
Payload CMS ทำงานบน Cloud Server เครื่องเดียวได้ครบ เปิดเฉพาะพอร์ตที่จำเป็น ข้อมูลและสำเนาสำรองอยู่ใน Data Center ในประเทศไทย

ความสามารถเด่นของ Payload CMS

ประกาศโครงสร้างเป็น TypeScript

ตรวจความถูกต้องได้ตั้งแต่ตอนคอมไพล์และเก็บประวัติใน Git

ได้ API และหน้าจอจัดการอัตโนมัติ

สร้าง REST และ GraphQL พร้อมหน้าหลังบ้านให้จากโครงสร้างที่ประกาศไว้

สิทธิ์แบบเขียนเป็นโค้ด

กำหนดเงื่อนไขการเข้าถึงที่ซับซ้อนได้ เช่น เห็นเฉพาะข้อมูลของหน่วยงานตัวเอง

ทำงานเข้ากับ Next.js ได้ดี

ฝังในโปรเจกต์เดียวกันได้ ทำให้ Deploy ทั้งหน้าบ้านและหลังบ้านพร้อมกัน

จัดการไฟล์สื่อในตัว

อัปโหลดและปรับขนาดรูปอัตโนมัติ พร้อมต่อกับ Object Storage ได้

ใช้ Payload CMS ทำอะไรได้บ้าง

  • เว็บที่ทีมพัฒนาใช้ TypeScript ทั้งหน้าบ้านและหลังบ้าน
  • ระบบที่ต้องการเงื่อนไขสิทธิ์การเข้าถึงข้อมูลที่ซับซ้อน
  • โครงการที่ต้องการให้โครงสร้างข้อมูลผ่านการรีวิวเหมือนโค้ด
  • เว็บองค์กรที่ทำด้วย Next.js และต้องการหลังบ้านในโปรเจกต์เดียว

สเปก Cloud Server ที่แนะนำ

แผนภาพเทียบสเปก Cloud Server สำหรับ Payload CMS 3 ระดับ เริ่มจาก 2 vCPU แรม 4 GB ดิสก์ NVMe 40 GB ไปจนถึง 8 vCPU แรม 16 GB ดิสก์ NVMe 160 GB โดยเทียบขนาดแยกตามแต่ละคอลัมน์
เริ่มจากระดับที่ตรงกับการใช้งานตอนนี้ แล้วเพิ่ม CPU และ RAM ทีหลังได้บนเครื่องเดิม
ระดับการใช้งานvCPURAMDisk
เริ่มต้นโครงการเดียว ทราฟฟิกไม่สูง2 vCPU4 GBNVMe 40 GB
แนะนำProduction ที่มีผู้ใช้ประจำและสื่อจำนวนมาก4 vCPU8 GBNVMe 80 GB
ระบบใหญ่แยกฐานข้อมูลและใช้ Object Storage เก็บไฟล์8 vCPU16 GBNVMe 160 GB

ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ

วิธีติดตั้ง Payload CMS บน Cloud Server ของ THAI DATA CLOUD

ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server

สิ่งที่ต้องเตรียม

  • Node.js รุ่น LTS ที่ Payload รองรับ
  • MongoDB หรือ PostgreSQL ตามที่เลือกใช้
  • PM2 หรือ systemd สำหรับรันเป็นบริการ
  • Nginx สำหรับ Reverse Proxy และ HTTPS

ทดสอบบน Ubuntu Server 24.04 LTS

  1. 1

    ติดตั้ง Node.js และฐานข้อมูล

    curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
    sudo apt -y install nodejs postgresql nginx
  2. 2

    สร้างโปรเจกต์

    ตัวช่วยสร้างจะถามชนิดฐานข้อมูลและเทมเพลตเริ่มต้นที่ต้องการ

    cd /var/www
    npx create-payload-app@latest cms
  3. 3

    ตั้งค่าตัวแปรสภาพแวดล้อม

    กำหนดที่อยู่ฐานข้อมูล คีย์ลับ และที่อยู่เว็บจริง โดยเก็บไว้ในไฟล์ .env ที่จำกัดสิทธิ์

    DATABASE_URI=postgres://payload:[email protected]:5432/payload
    PAYLOAD_SECRET=PasteALongRandomStringHere
    PUBLIC_SERVER_URL=https://cms.example.com
  4. 4

    บิลด์และรันเป็นบริการ

    cd /var/www/cms
    npm ci
    npm run build
    sudo npm install -g pm2
    pm2 start npm --name payload -- run start
    pm2 startup systemd && pm2 save
  5. 5

    ตั้ง Nginx เป็น Reverse Proxy

    server {
      listen 443 ssl;
      server_name cms.example.com;
      client_max_body_size 200M;
    
      location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
      }
    }

เก็บค่า PAYLOAD_SECRET ไว้ให้ดีและอย่าเปลี่ยนหลังใช้งานจริง เพราะใช้เข้ารหัสข้อมูลบางส่วนรวมถึงเซสชันของผู้ใช้

พอร์ตที่ต้องเปิดบน Firewall

พอร์ตโปรโตคอลใช้ทำอะไร
443TCPHTTPS ผ่าน Reverse Proxy
3000TCPพอร์ตภายในของแอป

สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ

  • ให้แอปฟังเฉพาะภายในเครื่องและเปิดสู่ภายนอกผ่าน Nginx
  • เก็บ Secret ทั้งหมดในไฟล์ .env ที่ไม่ขึ้น Git
  • กำหนดสิทธิ์การเข้าถึงข้อมูลในโค้ดให้ครอบคลุมทุกชนิดเนื้อหา
  • สำรองฐานข้อมูลและไฟล์สื่อตามรอบ

ทำไมควรรัน Payload CMS บน Cloud Server ของ THAI DATA CLOUD

Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง

เป็นแอป Node.js ที่ต้องรันเป็นบริการตลอดเวลา จึงต้องใช้ Cloud Server ที่ควบคุมกระบวนการเองได้

ต่อกับฐานข้อมูลในวง Private Network ในไทยได้ทั้งเร็วและปลอดภัย

เก็บไฟล์สื่อบน Object Storage เพื่อให้เปลี่ยนหรือขยายเครื่องได้โดยไม่ต้องย้ายไฟล์

คำถามที่พบบ่อยเกี่ยวกับ Payload CMS

Payload เหมาะกับทีมแบบไหน

เหมาะกับทีมที่มีนักพัฒนาและใช้ TypeScript อยู่แล้ว เพราะโครงสร้างข้อมูลทั้งหมดเป็นโค้ด ถ้าต้องการให้ทีมคอนเทนต์เพิ่มฟิลด์เองได้จากหน้าเว็บ Strapi หรือ Directus จะตรงกว่า

ใช้ฐานข้อมูลอะไรได้บ้าง

รองรับทั้ง MongoDB และฐานข้อมูลเชิงสัมพันธ์อย่าง PostgreSQL การเลือกควรอิงมาตรฐานที่องค์กรใช้อยู่และลักษณะข้อมูลของโครงการ

Deploy รวมกับ Next.js ได้ไหม

ได้ และเป็นรูปแบบที่นิยม เพราะรันทั้งหน้าบ้านและหลังบ้านในโปรเจกต์เดียว ลดจำนวนบริการที่ต้องดูแลลงและ Deploy พร้อมกันได้

ให้เราติดตั้ง Payload CMS ให้ฟรี บน Cloud Server ในไทย

แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด