โลโก้ Supabase
ภาษาโปรแกรมและ FrameworkApache License 2.0 (โอเพนซอร์ส)

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

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

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

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

Supabase คืออะไร

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

Supabase ให้ทุกอย่างนี้พร้อมใช้บน PostgreSQL โดยสร้าง API ให้อัตโนมัติจากตารางที่มี และควบคุมสิทธิ์ด้วยกลไกความปลอดภัยระดับแถวของ PostgreSQL เอง ซึ่งทำให้ปลอดภัยและยืดหยุ่นกว่าการเขียนตรวจสิทธิ์ในโค้ด

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

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

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

สร้าง API อัตโนมัติจากตาราง

ได้ API สำหรับอ่านเขียนข้อมูลทันทีโดยไม่ต้องเขียนเอง

ระบบผู้ใช้พร้อมใช้

สมัครสมาชิก เข้าสู่ระบบ และเชื่อมกับผู้ให้บริการภายนอกได้

ควบคุมสิทธิ์ระดับแถว

ใช้กลไกของ PostgreSQL เอง จึงปลอดภัยและยืดหยุ่น

อัปเดตข้อมูลแบบทันที

แอปได้รับข้อมูลใหม่ทันทีเมื่อข้อมูลในฐานเปลี่ยน

พื้นที่เก็บไฟล์ในตัว

จัดการการอัปโหลดและสิทธิ์การเข้าถึงไฟล์ได้

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

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

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

แผนภาพเทียบสเปก Cloud Server สำหรับ Supabase 3 ระดับ เริ่มจาก 4 vCPU แรม 8 GB ดิสก์ NVMe 100 GB ไปจนถึง 16 vCPU ขึ้นไป แรม 32 GB ขึ้นไป ดิสก์ NVMe 500 GB ขึ้นไป โดยเทียบขนาดแยกตามแต่ละคอลัมน์
เริ่มจากระดับที่ตรงกับการใช้งานตอนนี้ แล้วเพิ่ม CPU และ RAM ทีหลังได้บนเครื่องเดิม
ระดับการใช้งานvCPURAMDisk
ขั้นต่ำโครงการทดสอบหรือแอปที่ผู้ใช้ไม่มาก4 vCPU8 GBNVMe 100 GB
แนะนำแอปงานจริงที่มีผู้ใช้ต่อเนื่อง8 vCPU16 GBNVMe 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. 1

    ดึงชุดไฟล์ทางการ

    git clone --depth 1 https://github.com/supabase/supabase
    cd supabase/docker
    cp .env.example .env
  2. 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. 3

    เริ่มระบบ

    docker compose up -d
    docker compose ps
  4. 4

    ตั้ง Nginx และ HTTPS

    sudo certbot --nginx -d api.example.com
  5. 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. 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

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

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

  • เปลี่ยนค่าลับทุกตัวจากค่าตัวอย่างก่อนเปิดใช้งาน
  • เปิดการควบคุมสิทธิ์ระดับแถวของทุกตารางที่เปิดผ่าน 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 ให้ฟรี บน Cloud Server ในไทย

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