PocketBase คืออะไร และวิธีติดตั้งบน Cloud Server
PocketBase คือหลังบ้านสำเร็จรูปที่รวมทุกอย่างไว้ในไฟล์เดียว ทั้งฐานข้อมูล ระบบผู้ใช้ พื้นที่เก็บไฟล์ และหน้าจอผู้ดูแล ติดตั้งได้ในไม่กี่นาทีโดยไม่ต้องพึ่งบริการอื่นเลย
- หมวดหมู่
- ภาษาโปรแกรมและ Framework
- ติดตั้งบนเซิร์ฟเวอร์เองได้
- ได้
- สเปกเริ่มต้นที่แนะนำ
- 1 vCPU · RAM 1 GB
- ไลเซนส์
- MIT (โอเพนซอร์ส)
- เว็บทางการ
- เปิดเว็บไซต์
- ISO/IEC 27001
- ISO 22301
- ISO 20000-1
- CSA-STAR
Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย
PocketBase คืออะไร
หลังบ้านสำเร็จรูปทั่วไปมีหลายองค์ประกอบที่ต้องรันพร้อมกัน ทั้งฐานข้อมูล คิวงาน และบริการย่อย ซึ่งใช้ทรัพยากรมากเกินจำเป็นสำหรับโครงการเล็ก
PocketBase เลือกอีกทางคือรวมทุกอย่างไว้ในไฟล์เดียวที่รันได้ทันที ใช้ SQLite เป็นฐานข้อมูล และมีหน้าจอผู้ดูแลมาให้ ทำให้ติดตั้งเสร็จในไม่กี่นาทีและใช้หน่วยความจำน้อยมาก
ข้อจำกัดที่ตามมาคือรองรับได้ในระดับหนึ่งเท่านั้น เพราะ SQLite เขียนได้ทีละรายการ ระบบที่มีผู้ใช้เขียนข้อมูลพร้อมกันจำนวนมากจึงควรใช้ Supabase หรือหลังบ้านที่ใช้ฐานข้อมูลแบบเซิร์ฟเวอร์แทน
ความสามารถเด่นของ PocketBase
รวมทุกอย่างไว้ในไฟล์เดียว
ติดตั้งเสร็จในไม่กี่นาทีโดยไม่ต้องพึ่งบริการอื่น
ใช้ทรัพยากรน้อยมาก
รันบน Cloud Server สเปกเล็กที่สุดได้
มีหน้าจอผู้ดูแลมาให้
จัดการข้อมูลและผู้ใช้ได้จากเบราว์เซอร์ทันที
ระบบผู้ใช้และสิทธิ์ในตัว
กำหนดกฎการเข้าถึงข้อมูลได้จากหน้าจอ
ต่อยอดด้วยโค้ดได้
ใช้เป็นไลบรารีในโปรเจกต์ Go เพื่อเพิ่มตรรกะเฉพาะ
ใช้ PocketBase ทำอะไรได้บ้าง
- ต้นแบบผลิตภัณฑ์ที่ต้องทำให้เห็นภาพเร็ว
- แอปภายในองค์กรที่มีผู้ใช้ไม่มาก
- โครงการส่วนตัวหรือเครื่องมือเล็กที่ต้องมีหลังบ้าน
- ระบบที่ต้องการหลังบ้านโดยใช้ทรัพยากรน้อยที่สุด
สเปก Cloud Server ที่แนะนำ
| ระดับการใช้งาน | vCPU | RAM | Disk |
|---|---|---|---|
| เริ่มต้นต้นแบบหรือเครื่องมือภายในที่ผู้ใช้ไม่มาก | 1 vCPU | 1 GB | NVMe 20 GB |
| แนะนำแอปที่มีผู้ใช้ระดับหลักร้อย | 2 vCPU | 4 GB | NVMe 60 GB |
| เมื่อเริ่มไม่พอถึงจุดนี้ควรพิจารณาย้ายไปหลังบ้านที่ใช้ฐานข้อมูลแบบเซิร์ฟเวอร์ | 4 vCPU | 8 GB | NVMe 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
ดาวน์โหลดและวางไฟล์
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
ตั้งให้รันเป็นบริการ
# /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
ตั้ง 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
สร้างบัญชีผู้ดูแลและคอลเลกชัน
เข้าหน้าจอผู้ดูแลเพื่อสร้างบัญชีแรก แล้วสร้างคอลเลกชันพร้อมกำหนดกฎการเข้าถึงข้อมูลว่าใครอ่านหรือเขียนได้
- 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
ตั้งการสำรองข้อมูล
สำรองทั้งไฟล์ฐานข้อมูลและโฟลเดอร์ไฟล์ที่ผู้ใช้อัปโหลด ซึ่งทำได้ง่ายมากเพราะทุกอย่างอยู่ในโฟลเดอร์เดียว
0 3 * * * tar czf /var/backups/pb-$(date +\%F).tar.gz /opt/pocketbase/pb_data
ตั้งกฎการเข้าถึงข้อมูลของทุกคอลเลกชันให้ชัดเจน เพราะถ้าปล่อยเปิดไว้ ใครก็ตามที่รู้ที่อยู่ API จะอ่านหรือแก้ข้อมูลได้
พอร์ตที่ต้องเปิดบน Firewall
| พอร์ต | โปรโตคอล | ใช้ทำอะไร |
|---|---|---|
| 443 | TCP | HTTPS สำหรับ API และหน้าจอผู้ดูแล |
| 8090 | TCP | พอร์ตภายในของแอป |
สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ
- ตั้งกฎการเข้าถึงข้อมูลของทุกคอลเลกชันให้ชัดเจน
- จำกัดการเข้าถึงหน้าจอผู้ดูแลไว้เฉพาะไอพีที่กำหนดถ้าทำได้
- ใช้ 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
แอปอื่นในหมวด ภาษาโปรแกรมและ Framework
บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง
ให้เราติดตั้ง PocketBase ให้ฟรี บน Cloud Server ในไทย
แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด