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

Vendure คือแพลตฟอร์มร้านค้าแบบ Headless ที่เขียนด้วย TypeScript ทั้งระบบและเปิด API เป็น GraphQL เหมาะกับทีมพัฒนาที่ต้องการควบคุมตรรกะธุรกิจของร้านได้ทุกจุดด้วยภาษาที่ตรวจชนิดข้อมูลได้

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

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

Vendure คืออะไร

Vendure ออกแบบให้ทุกส่วนของร้านต่อยอดได้ด้วยปลั๊กอินที่เขียนเป็น TypeScript ตั้งแต่วิธีคิดราคา วิธีคิดค่าจัดส่ง ไปจนถึงขั้นตอนของคำสั่งซื้อ ทีมจึงปรับระบบให้ตรงกับกระบวนการธุรกิจจริงได้โดยไม่ต้องแก้แกนหลัก

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

เช่นเดียวกับ Headless Commerce ตัวอื่น หน้าร้านต้องสร้างเอง ทีมที่ไม่มีนักพัฒนาจึงไม่ควรเลือกสถาปัตยกรรมนี้ แม้ระบบจะมีหน้าจัดการหลังบ้านมาให้พร้อมแล้วก็ตาม

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

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

เขียนด้วย TypeScript ทั้งระบบ

ตรวจชนิดข้อมูลได้ตั้งแต่ตอนคอมไพล์ ลดข้อผิดพลาดในส่วนที่คำนวณเงินและสต็อก

ต่อยอดด้วยปลั๊กอิน

เพิ่มตรรกะธุรกิจของตัวเองได้โดยไม่ต้องแก้แกนหลัก ทำให้อัปเกรดรุ่นได้ต่อเนื่อง

API เป็น GraphQL

แยก API ของหน้าร้านกับของผู้ดูแลออกจากกันอย่างชัดเจน

หน้าจัดการหลังบ้านพร้อมใช้

ทีมงานจัดการสินค้าและคำสั่งซื้อได้ทันทีโดยไม่ต้องสร้างหน้าจอเอง

รองรับหลายช่องทางและหลายภาษา

ตั้งราคาและเนื้อหาแยกตามช่องทางหรือภาษาที่ขาย

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

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

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

แผนภาพเทียบสเปก Cloud Server สำหรับ Vendure 3 ระดับ เริ่มจาก 2 vCPU แรม 4 GB ดิสก์ NVMe 40 GB ไปจนถึง 8 vCPU ขึ้นไป แรม 16 GB ขึ้นไป ดิสก์ NVMe 200 GB ขึ้นไป โดยเทียบขนาดแยกตามแต่ละคอลัมน์
เริ่มจากระดับที่ตรงกับการใช้งานตอนนี้ แล้วเพิ่ม CPU และ RAM ทีหลังได้บนเครื่องเดิม
ระดับการใช้งานvCPURAMDisk
เริ่มต้นร้านทดสอบหรือร้านที่เพิ่งเปิด2 vCPU4 GBNVMe 40 GB
แนะนำร้านงานจริงพร้อมงานเบื้องหลัง4 vCPU8 GBNVMe 100 GB
ร้านใหญ่แยกฐานข้อมูลและรันหลาย Instance หลัง Load Balancer8 vCPU ขึ้นไป16 GB ขึ้นไปNVMe 200 GB ขึ้นไป

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

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

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

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

  • Node.js รุ่น LTS ที่ Vendure รองรับ
  • PostgreSQL หรือ MySQL
  • PM2 หรือ systemd และ Nginx สำหรับ Production
  • พื้นที่จัดเก็บสำหรับรูปสินค้า

ทดสอบบน 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

    สร้างฐานข้อมูล

    sudo -u postgres psql -c "CREATE DATABASE vendure;"
    sudo -u postgres psql -c "CREATE USER vendure WITH PASSWORD 'ChangeThisStrongPassword';"
    sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE vendure TO vendure;"
  3. 3

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

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

    cd /var/www
    npx @vendure/create store
  4. 4

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

    cd /var/www/store
    npm ci
    npm run build
    sudo npm install -g pm2
    pm2 start dist/index.js --name vendure
    pm2 startup systemd && pm2 save
  5. 5

    ตั้ง Nginx เป็น Reverse Proxy

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

    ตั้งค่าที่เก็บรูปสินค้า

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

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

พอร์ตโปรโตคอลใช้ทำอะไร
443TCPHTTPS ของ API และหน้าจัดการ
3000TCPพอร์ตภายในของแอป
5432TCPPostgreSQL (เปิดเฉพาะภายใน)

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

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

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

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

เป็นแอป Node.js ที่ต้องรันตลอดเวลา จึงเหมาะกับ Cloud Server มากกว่าโฮสติ้งแบบแชร์

แยกฐานข้อมูลไปอีกเครื่องในวง Private Network ในไทยได้เมื่อร้านโต

ปรับสเปกได้ตามช่วงแคมเปญโดยไม่ต้องย้ายระบบ

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

Vendure ต่างจาก Medusa อย่างไร

ทั้งคู่อยู่บน Node.js และเป็น Headless เหมือนกัน Vendure เน้น TypeScript และ GraphQL ตั้งแต่แกนหลัก ส่วน Medusa ยืดหยุ่นกว่าในการเลือกรูปแบบ API การเลือกจึงขึ้นกับความถนัดของทีมและปลั๊กอินที่ต้องใช้

มีหน้าร้านสำเร็จรูปให้ไหม

มีตัวอย่างหน้าร้านให้เริ่มต้น แต่คาดหวังว่าทีมจะสร้างหน้าร้านของตัวเอง ซึ่งเป็นเหตุผลหลักที่เลือกสถาปัตยกรรมแบบนี้

ใช้ฟรีเชิงพาณิชย์ได้ไหม

แกนหลักเป็นโอเพนซอร์สภายใต้ใบอนุญาต MIT จึงใช้เชิงพาณิชย์ได้ ส่วนปลั๊กอินระดับองค์กรบางตัวเป็นแบบเสียค่าบริการ ควรตรวจรายการที่จำเป็นก่อนวางงบ

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

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