Supabase คืออะไร และวิธีติดตั้งบน Cloud Server
Supabase คือหลังบ้านสำเร็จรูปที่สร้างบน PostgreSQL ให้ทั้ง API อัตโนมัติจากตารางในฐานข้อมูล ระบบผู้ใช้ พื้นที่เก็บไฟล์ และการอัปเดตข้อมูลแบบทันที โดยติดตั้งเองได้
- หมวดหมู่
- ภาษาโปรแกรมและ Framework
- ติดตั้งบนเซิร์ฟเวอร์เองได้
- ได้
- สเปกเริ่มต้นที่แนะนำ
- 4 vCPU · RAM 8 GB
- ไลเซนส์
- Apache License 2.0 (โอเพนซอร์ส)
- เว็บทางการ
- เปิดเว็บไซต์
- ISO/IEC 27001
- ISO 22301
- ISO 20000-1
- CSA-STAR
Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย
Supabase คืออะไร
การสร้างแอปมักต้องเขียนงานเดิมซ้ำทุกโครงการ ทั้งระบบสมัครสมาชิก การเข้าสู่ระบบ API สำหรับอ่านเขียนข้อมูล และการอัปโหลดไฟล์ ซึ่งใช้เวลาไปมากก่อนจะได้เริ่มเขียนสิ่งที่เป็นคุณค่าจริง
Supabase ให้ทุกอย่างนี้พร้อมใช้บน PostgreSQL โดยสร้าง API ให้อัตโนมัติจากตารางที่มี และควบคุมสิทธิ์ด้วยกลไกความปลอดภัยระดับแถวของ PostgreSQL เอง ซึ่งทำให้ปลอดภัยและยืดหยุ่นกว่าการเขียนตรวจสิทธิ์ในโค้ด
จุดที่ต่างจากบริการคล้ายกันคือติดตั้งบนเซิร์ฟเวอร์ของตัวเองได้ทั้งหมด และข้อมูลอยู่ใน PostgreSQL มาตรฐาน จึงย้ายออกได้ทุกเมื่อโดยไม่ติดกับผู้ให้บริการรายใด
ความสามารถเด่นของ Supabase
สร้าง API อัตโนมัติจากตาราง
ได้ API สำหรับอ่านเขียนข้อมูลทันทีโดยไม่ต้องเขียนเอง
ระบบผู้ใช้พร้อมใช้
สมัครสมาชิก เข้าสู่ระบบ และเชื่อมกับผู้ให้บริการภายนอกได้
ควบคุมสิทธิ์ระดับแถว
ใช้กลไกของ PostgreSQL เอง จึงปลอดภัยและยืดหยุ่น
อัปเดตข้อมูลแบบทันที
แอปได้รับข้อมูลใหม่ทันทีเมื่อข้อมูลในฐานเปลี่ยน
พื้นที่เก็บไฟล์ในตัว
จัดการการอัปโหลดและสิทธิ์การเข้าถึงไฟล์ได้
ใช้ Supabase ทำอะไรได้บ้าง
- แอปที่ต้องการหลังบ้านพร้อมใช้โดยไม่เขียนใหม่ทั้งหมด
- ต้นแบบผลิตภัณฑ์ที่ต้องออกให้เร็ว
- ระบบที่ต้องการข้อมูลอัปเดตทันทีบนหลายอุปกรณ์
- องค์กรที่ต้องเก็บข้อมูลไว้ในเซิร์ฟเวอร์ของตัวเองตาม PDPA
สเปก Cloud Server ที่แนะนำ
| ระดับการใช้งาน | vCPU | RAM | Disk |
|---|---|---|---|
| ขั้นต่ำโครงการทดสอบหรือแอปที่ผู้ใช้ไม่มาก | 4 vCPU | 8 GB | NVMe 100 GB |
| แนะนำแอปงานจริงที่มีผู้ใช้ต่อเนื่อง | 8 vCPU | 16 GB | NVMe 250 GB |
| ใช้งานหนักผู้ใช้จำนวนมากและมีไฟล์เยอะ | 16 vCPU ขึ้นไป | 32 GB ขึ้นไป | NVMe 500 GB ขึ้นไป |
ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ
วิธีติดตั้ง Supabase บน Cloud Server ของ THAI DATA CLOUD
ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server
สิ่งที่ต้องเตรียม
- Docker และ Docker Compose
- RAM อย่างน้อย 8 GB เพราะระบบมีหลายองค์ประกอบ
- โดเมนและใบรับรอง SSL
- พื้นที่จัดเก็บสำหรับฐานข้อมูลและไฟล์
ทดสอบบน Ubuntu Server 24.04 LTS ที่ติดตั้ง Docker แล้ว
- 1
ดึงชุดไฟล์ทางการ
git clone --depth 1 https://github.com/supabase/supabase cd supabase/docker cp .env.example .env - 2
สร้างค่าลับทั้งหมด
ต้องเปลี่ยนค่าลับทุกตัวจากค่าตัวอย่าง เพราะค่าเริ่มต้นเป็นค่าที่รู้กันทั่วไปและใครก็เข้าถึงข้อมูลได้
openssl rand -base64 48 # ใช้เป็น JWT_SECRET # แก้ค่าใน .env POSTGRES_PASSWORD=ChangeThisStrongPassword JWT_SECRET=PasteGeneratedSecretHere ANON_KEY=สร้างจาก JWT_SECRET ตามเอกสาร SERVICE_ROLE_KEY=สร้างจาก JWT_SECRET ตามเอกสาร DASHBOARD_PASSWORD=ChangeThisStrongPassword - 3
เริ่มระบบ
docker compose up -d docker compose ps - 4
ตั้ง Nginx และ HTTPS
sudo certbot --nginx -d api.example.com - 5
สร้างตารางและเปิดการควบคุมสิทธิ์ระดับแถว
ขั้นตอนนี้สำคัญที่สุดด้านความปลอดภัย เพราะถ้าไม่เปิดการควบคุมสิทธิ์ระดับแถว ใครที่มีคีย์สาธารณะจะอ่านข้อมูลทั้งตารางได้
CREATE TABLE notes ( id bigserial PRIMARY KEY, user_id uuid REFERENCES auth.users NOT NULL, body text ); ALTER TABLE notes ENABLE ROW LEVEL SECURITY; CREATE POLICY "อ่านได้เฉพาะของตัวเอง" ON notes FOR SELECT USING (auth.uid() = user_id); - 6
เชื่อมกับแอป
import { createClient } from "@supabase/supabase-js" const supabase = createClient("https://api.example.com", "YOUR_ANON_KEY") const { data } = await supabase.from("notes").select("*")
ต้องเปิดการควบคุมสิทธิ์ระดับแถวของทุกตารางที่เปิดผ่าน API เสมอ เพราะถ้าลืม ข้อมูลทั้งตารางจะอ่านได้ด้วยคีย์สาธารณะที่ฝังอยู่ในแอป
พอร์ตที่ต้องเปิดบน Firewall
| พอร์ต | โปรโตคอล | ใช้ทำอะไร |
|---|---|---|
| 443 | TCP | HTTPS สำหรับ API และหน้าจอจัดการ |
| 8000 | TCP | พอร์ตภายในของประตูทางเข้า |
| 5432 | TCP | PostgreSQL (เปิดเฉพาะวงภายใน) |
สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ
- เปลี่ยนค่าลับทุกตัวจากค่าตัวอย่างก่อนเปิดใช้งาน
- เปิดการควบคุมสิทธิ์ระดับแถวของทุกตารางที่เปิดผ่าน API
- ไม่ใช้คีย์ที่มีสิทธิ์เต็มในโค้ดฝั่งเบราว์เซอร์
- จำกัดการเข้าถึงหน้าจอจัดการไว้เฉพาะผู้ดูแล
- สำรองฐานข้อมูลและไฟล์ตามรอบ
ทำไมควรรัน Supabase บน Cloud Server ของ THAI DATA CLOUD
Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง
ข้อมูลผู้ใช้และไฟล์อยู่ในเซิร์ฟเวอร์ในไทย สอดคล้องกับ PDPA
ไม่มีค่าบริการตามจำนวนคำขอหรือจำนวนผู้ใช้
ข้อมูลอยู่ใน PostgreSQL มาตรฐาน จึงย้ายออกได้ทุกเมื่อ
คำถามที่พบบ่อยเกี่ยวกับ Supabase
Supabase ต่างจาก Firebase อย่างไร
Supabase สร้างบน PostgreSQL ซึ่งเป็นฐานข้อมูลมาตรฐาน ข้อมูลจึงย้ายออกได้และใช้ SQL ได้เต็มที่ อีกทั้งติดตั้งบนเซิร์ฟเวอร์ของตัวเองได้ ส่วน Firebase เป็นบริการที่โฮสต์ให้อย่างเดียวและใช้ฐานข้อมูลรูปแบบเฉพาะ
ติดตั้งเองยากไหม
ไม่ยากเพราะมีชุดไฟล์ Docker ให้ แต่ระบบมีหลายองค์ประกอบจึงต้องเผื่อ RAM ไว้อย่างน้อย 8 GB และต้องตั้งค่าลับทุกตัวให้ถูกต้องก่อนเปิดใช้งาน
ปลอดภัยไหมเมื่อแอปมีคีย์ฝังอยู่
ปลอดภัยเมื่อเปิดการควบคุมสิทธิ์ระดับแถวของทุกตาราง เพราะคีย์สาธารณะที่ฝังในแอปถูกออกแบบมาให้เปิดเผยได้ แต่ถ้าลืมเปิดการควบคุมสิทธิ์ ข้อมูลทั้งตารางจะอ่านได้ทันที ซึ่งเป็นข้อผิดพลาดที่พบบ่อยที่สุด
ทางเลือกอื่นที่คล้ายกับ Supabase
แอปอื่นในหมวด ภาษาโปรแกรมและ Framework
บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง
ให้เราติดตั้ง Supabase ให้ฟรี บน Cloud Server ในไทย
แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด