โลโก้ PocketBase
ภาษาโปรแกรมและ FrameworkMIT (โอเพนซอร์ส)

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

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

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

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

PocketBase คืออะไร

หลังบ้านสำเร็จรูปทั่วไปมีหลายองค์ประกอบที่ต้องรันพร้อมกัน ทั้งฐานข้อมูล คิวงาน และบริการย่อย ซึ่งใช้ทรัพยากรมากเกินจำเป็นสำหรับโครงการเล็ก

PocketBase เลือกอีกทางคือรวมทุกอย่างไว้ในไฟล์เดียวที่รันได้ทันที ใช้ SQLite เป็นฐานข้อมูล และมีหน้าจอผู้ดูแลมาให้ ทำให้ติดตั้งเสร็จในไม่กี่นาทีและใช้หน่วยความจำน้อยมาก

ข้อจำกัดที่ตามมาคือรองรับได้ในระดับหนึ่งเท่านั้น เพราะ SQLite เขียนได้ทีละรายการ ระบบที่มีผู้ใช้เขียนข้อมูลพร้อมกันจำนวนมากจึงควรใช้ Supabase หรือหลังบ้านที่ใช้ฐานข้อมูลแบบเซิร์ฟเวอร์แทน

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

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

รวมทุกอย่างไว้ในไฟล์เดียว

ติดตั้งเสร็จในไม่กี่นาทีโดยไม่ต้องพึ่งบริการอื่น

ใช้ทรัพยากรน้อยมาก

รันบน Cloud Server สเปกเล็กที่สุดได้

มีหน้าจอผู้ดูแลมาให้

จัดการข้อมูลและผู้ใช้ได้จากเบราว์เซอร์ทันที

ระบบผู้ใช้และสิทธิ์ในตัว

กำหนดกฎการเข้าถึงข้อมูลได้จากหน้าจอ

ต่อยอดด้วยโค้ดได้

ใช้เป็นไลบรารีในโปรเจกต์ Go เพื่อเพิ่มตรรกะเฉพาะ

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

  • ต้นแบบผลิตภัณฑ์ที่ต้องทำให้เห็นภาพเร็ว
  • แอปภายในองค์กรที่มีผู้ใช้ไม่มาก
  • โครงการส่วนตัวหรือเครื่องมือเล็กที่ต้องมีหลังบ้าน
  • ระบบที่ต้องการหลังบ้านโดยใช้ทรัพยากรน้อยที่สุด

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

แผนภาพเทียบสเปก Cloud Server สำหรับ PocketBase 3 ระดับ เริ่มจาก 1 vCPU แรม 1 GB ดิสก์ NVMe 20 GB ไปจนถึง 4 vCPU แรม 8 GB ดิสก์ NVMe 100 GB โดยเทียบขนาดแยกตามแต่ละคอลัมน์
เริ่มจากระดับที่ตรงกับการใช้งานตอนนี้ แล้วเพิ่ม CPU และ RAM ทีหลังได้บนเครื่องเดิม
ระดับการใช้งานvCPURAMDisk
เริ่มต้นต้นแบบหรือเครื่องมือภายในที่ผู้ใช้ไม่มาก1 vCPU1 GBNVMe 20 GB
แนะนำแอปที่มีผู้ใช้ระดับหลักร้อย2 vCPU4 GBNVMe 60 GB
เมื่อเริ่มไม่พอถึงจุดนี้ควรพิจารณาย้ายไปหลังบ้านที่ใช้ฐานข้อมูลแบบเซิร์ฟเวอร์4 vCPU8 GBNVMe 100 GB

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

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

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

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

  • Ubuntu Server 24.04 LTS
  • Nginx พร้อมใบรับรอง SSL
  • พื้นที่ดิสก์สำหรับฐานข้อมูลและไฟล์ที่ผู้ใช้อัปโหลด
  • ระบบสำรองข้อมูลของไฟล์ฐานข้อมูล

ทดสอบบน Ubuntu Server 24.04 LTS

  1. 1

    ดาวน์โหลดและวางไฟล์

    sudo apt update && sudo apt -y install unzip nginx
    mkdir -p /opt/pocketbase && cd /opt/pocketbase
    curl -LO https://github.com/pocketbase/pocketbase/releases/latest/download/pocketbase_linux_amd64.zip
    unzip pocketbase_linux_amd64.zip
    chmod +x pocketbase
  2. 2

    ตั้งให้รันเป็นบริการ

    # /etc/systemd/system/pocketbase.service
    [Unit]
    Description=PocketBase
    After=network.target
    
    [Service]
    User=pocketbase
    WorkingDirectory=/opt/pocketbase
    ExecStart=/opt/pocketbase/pocketbase serve --http=127.0.0.1:8090
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
  3. 3

    ตั้ง Nginx และ HTTPS

    ต้องตั้งให้รองรับการเชื่อมต่อแบบยาวเพราะระบบส่งข้อมูลอัปเดตแบบทันทีให้แอป

    location / {
      proxy_pass http://127.0.0.1:8090;
      proxy_http_version 1.1;
      proxy_set_header Connection "";
      proxy_buffering off;
      proxy_read_timeout 300s;
    }
  4. 4

    สร้างบัญชีผู้ดูแลและคอลเลกชัน

    เข้าหน้าจอผู้ดูแลเพื่อสร้างบัญชีแรก แล้วสร้างคอลเลกชันพร้อมกำหนดกฎการเข้าถึงข้อมูลว่าใครอ่านหรือเขียนได้

  5. 5

    เชื่อมกับแอป

    import PocketBase from "pocketbase"
    const pb = new PocketBase("https://api.example.com")
    await pb.collection("users").authWithPassword("[email protected]", "password")
    const records = await pb.collection("notes").getList(1, 20)
  6. 6

    ตั้งการสำรองข้อมูล

    สำรองทั้งไฟล์ฐานข้อมูลและโฟลเดอร์ไฟล์ที่ผู้ใช้อัปโหลด ซึ่งทำได้ง่ายมากเพราะทุกอย่างอยู่ในโฟลเดอร์เดียว

    0 3 * * * tar czf /var/backups/pb-$(date +\%F).tar.gz /opt/pocketbase/pb_data

ตั้งกฎการเข้าถึงข้อมูลของทุกคอลเลกชันให้ชัดเจน เพราะถ้าปล่อยเปิดไว้ ใครก็ตามที่รู้ที่อยู่ API จะอ่านหรือแก้ข้อมูลได้

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

พอร์ตโปรโตคอลใช้ทำอะไร
443TCPHTTPS สำหรับ API และหน้าจอผู้ดูแล
8090TCPพอร์ตภายในของแอป

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

  • ตั้งกฎการเข้าถึงข้อมูลของทุกคอลเลกชันให้ชัดเจน
  • จำกัดการเข้าถึงหน้าจอผู้ดูแลไว้เฉพาะไอพีที่กำหนดถ้าทำได้
  • ใช้ HTTPS เสมอเพราะมีการส่งข้อมูลยืนยันตัวตน
  • สำรองโฟลเดอร์ข้อมูลทุกวันเพราะทุกอย่างอยู่ในนั้น

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

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

รันบน Cloud Server สเปกเล็กที่สุดได้ จึงเป็นหลังบ้านที่ต้นทุนต่ำที่สุด

ข้อมูลผู้ใช้อยู่ในเซิร์ฟเวอร์ในไทยและสำรองได้ง่ายเพราะอยู่ในโฟลเดอร์เดียว

เมื่อระบบโตจนต้องเปลี่ยน ย้ายไป Supabase บน Cloud Server ได้

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

PocketBase เหมาะกับระบบขนาดไหน

เหมาะกับต้นแบบ เครื่องมือภายใน และแอปที่มีผู้ใช้ระดับหลักร้อย เพราะใช้ SQLite ซึ่งเขียนได้ทีละรายการ ระบบที่มีผู้ใช้เขียนข้อมูลพร้อมกันจำนวนมากควรใช้หลังบ้านที่ใช้ฐานข้อมูลแบบเซิร์ฟเวอร์

ต่างจาก Supabase อย่างไร

PocketBase เบากว่ามากและติดตั้งง่ายกว่าเพราะเป็นไฟล์เดียว ส่วน Supabase ใช้ PostgreSQL จึงรองรับผู้ใช้ได้มากกว่าและมีความสามารถครบกว่า แลกกับทรัพยากรที่ต้องใช้สูงกว่ามาก

ย้ายไประบบอื่นภายหลังได้ไหม

ได้เพราะข้อมูลอยู่ใน SQLite ซึ่งส่งออกเป็นรูปแบบมาตรฐานได้ แต่กฎการเข้าถึงและตรรกะที่ตั้งไว้ต้องทำใหม่บนระบบปลายทาง จึงควรวางแผนตั้งแต่ต้นถ้าคาดว่าระบบจะโตเร็ว

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

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