เซิร์ฟเวอร์เฉพาะ: ตั้งค่า Supabase บน Windows
คู่มือนี้ถูกสร้างขึ้นด้วยผลิตภัณฑ์ดังต่อไปนี้:
(รายละเอียดอาจแตกต่างกันไปตามผลิตภัณฑ์จากผู้ให้บริการต่างๆ แต่แนวคิดหลักยังคงเหมือนเดิม)
แนะนำ
Supabase คือแพลตฟอร์มพัฒนา Postgres แบบโอเพนซอร์สที่ให้ฐานข้อมูล Postgres ครบชุด พร้อมระบบยืนยันตัวตน, API ทันที, เรียลไทม์ และพื้นที่เก็บข้อมูล ทำให้เป็นทางเลือกโอเพนซอร์สแทน Firebase
กำลังคิดจะเช่าเซิร์ฟเวอร์เกมนี้เองใช่ไหม? เราจะพาคุณผ่านทุกขั้นตอนการตั้งค่าและกำหนดค่า พร้อมทุกสิ่งที่คุณต้องรู้เพื่อให้บริการเสถียรและราบรื่น
ข้อกำหนดเบื้องต้น
ก่อนติดตั้ง Supabase ให้แน่ใจว่าสภาพแวดล้อมเช่าเซิร์ฟเวอร์เกมของคุณตรงตามข้อกำหนดต่อไปนี้ เพื่อรับประกันการติดตั้งที่ราบรื่นและประสิทธิภาพที่ดีที่สุด
| ฮาร์ดแวร์ | ขั้นต่ำ | คำแนะนำจาก ZAP-Hosting |
|---|---|---|
| CPU | 1 คอร์ CPU | 4 คอร์ CPU |
| RAM | 4 GB | 8 GB |
| พื้นที่ดิสก์ | 25 GB | 25 GB |
ซอฟต์แวร์ต้องการให้ติดตั้ง dependencies ที่จำเป็นทั้งหมดและรันบนระบบปฏิบัติการที่รองรับ ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ของคุณตรงตามข้อกำหนดเหล่านี้ก่อนเริ่มติดตั้ง:
Dependencies: Git, Docker (Engine และ Compose)
ระบบปฏิบัติการ: เวอร์ชันล่าสุดของ Ubuntu/Debian ที่รองรับ Docker 2
ตรวจสอบให้แน่ใจว่าติดตั้ง dependencies ครบและใช้ระบบปฏิบัติการเวอร์ชันที่ถูกต้องเพื่อหลีกเลี่ยงปัญหาความเข้ากันได้ระหว่างการติดตั้ง Supabase
การเตรียมตัว
ก่อนตั้งค่า Supabase คุณต้องเตรียมระบบของคุณก่อน ซึ่งรวมถึงการอัปเดตระบบปฏิบัติการเป็นเวอร์ชันล่าสุดและติดตั้ง dependencies ที่จำเป็นทั้งหมด การเตรียมตัวเหล่านี้ช่วยให้สภาพแวดล้อมเสถียรและป้องกันปัญหาระหว่างหรือต่อหลังการติดตั้ง
อัปเดตระบบ
เพื่อให้แน่ใจว่าระบบของคุณรันด้วยซอฟต์แวร์และการปรับปรุงความปลอดภัยล่าสุด คุณควรอัปเดตระบบก่อนเสมอ ซึ่งจะช่วยให้ระบบของคุณมีแพตช์ความปลอดภัยและเวอร์ชันซอฟต์แวร์ล่าสุดก่อนดำเนินการต่อ
ติดตั้ง dependencies
เมื่ออัปเดตเสร็จแล้ว ก็สามารถติดตั้ง dependencies ต่อได้
Git
ข้อมูล Supabase จะถูกดาวน์โหลดผ่าน GitHub ซึ่งต้องติดตั้ง Git ก่อน ให้ติดตั้ง Git สำหรับ Windows บนเซิร์ฟเวอร์ของคุณ
Docker
Supabase จะถูกดีพลอยและรันบนเครื่องของคุณผ่านคอนเทนเนอร์ Docker ซึ่งต้องติดตั้ง Docker ก่อน ให้ติดตั้ง Docker Desktop บนเซิร์ฟเวอร์ของคุณ
คู่มือการติดตั้งและวิธีใช้ Docker แบบเต็มมีให้ใน คู่มือ Docker ของเรา
การติดตั้ง
เมื่อคุณเตรียมทุกอย่างครบและตรงตามข้อกำหนดแล้ว ก็สามารถติดตั้งแอป Supabase ได้ เปิด command prompt ดึง repository ของ Supabase สร้างไดเรกทอรีโปรเจกต์เฉพาะ และคัดลอกไฟล์ Docker และไฟล์ตัวอย่าง environment ลงไป
git clone --depth 1 https://github.com/supabase/supabase
mkdir .\supabase-project
Copy-Item .\supabase\docker\* -Destination .\supabase-project -Recurse -Force
Copy-Item .\supabase\docker\.env.example -Destination .\supabase-project\.env -Force
เปลี่ยนไปยังไดเรกทอรีโปรเจกต์ ดึงอิมเมจคอนเทนเนอร์ล่าสุด และรันสแตกในโหมด detached
cd supabase-project
docker compose pull
docker compose up -d
ตอนนี้คุณสามารถเข้าถึง Supabase Studio ผ่าน http://<your-ip>:8000 ระบบจะขอชื่อผู้ใช้และรหัสผ่าน ค่าเริ่มต้นคือ:
- ชื่อผู้ใช้:
supabase - รหัสผ่าน:
this_password_is_insecure_and_should_be_updated
แอปของคุณกำลังรันด้วยข้อมูลเข้าสู่ระบบเริ่มต้น รีบตั้งค่าความปลอดภัยให้บริการของคุณโดยเร็วที่สุดตามคำแนะนำด้านล่าง
การกำหนดค่า
อย่าดีพลอยด้วยค่าตัวอย่างหรือค่าเริ่มต้นเด็ดขาด คุณควรเปลี่ยนทุกตัวแปรเป็นความลับที่แข็งแรงและไม่ซ้ำกัน ตรวจสอบการตั้งค่าตามข้อกำหนดความปลอดภัยของคุณ และรีสตาร์ทบริการทั้งหมดเพื่อให้การเปลี่ยนแปลงมีผล
สร้าง API keys ที่ปลอดภัยก่อนเปิดเผยบริการ เริ่มจากเลือก JWT secret ความยาว 40 ตัวอักษร คุณสามารถใช้ค่าที่ให้มา หรือสร้างเอง เก็บความลับนี้ไว้ในที่ปลอดภัยในเครื่องของคุณ ห้ามแชร์หรือคอมมิตลง version control ใช้ความลับนี้สร้าง JWT แล้วสร้าง anon และ service API keys ตามฟอร์มในเอกสาร Supabase: https://supabase.com/docs/guides/self-hosting/docker#generate-api-keys
รันฟอร์มสองครั้งเพื่อสร้างทั้งสองคีย์ อัปเดตไฟล์ ./docker/.env ด้วย:
ANON_KEY: คีย์ anonSERVICE_ROLE_KEY: คีย์ service
อัปเดตความลับที่จำเป็นใน ./docker/.env ค่าต่อไปนี้ต้องตั้งเพื่อให้ดีพลอยทำงานได้:
POSTGRES_PASSWORD: รหัสผ่านสำหรับ rolepostgresJWT_SECRET: ใช้โดย PostgREST และ GoTrueSITE_URL: URL หลักของเว็บไซต์คุณSMTP_*: ข้อมูลรับรองเซิร์ฟเวอร์เมลPOOLER_TENANT_ID: tenant id ที่ใช้โดย Supavisor pooler
ปกป้องแดชบอร์ดด้วยข้อมูลเข้าสู่ระบบใหม่ก่อนใช้งานจริง แก้ไข ./docker/.env:
DASHBOARD_USERNAME: ผู้ใช้แดชบอร์ดDASHBOARD_PASSWORD: รหัสผ่านแดชบอร์ด
คุณสามารถกำหนดผู้ใช้แดชบอร์ดหลายคนใน ./docker/volumes/api/kong.yml:
basicauth_credentials:
- consumer: DASHBOARD
username: user_one
password: password_one
- consumer: DASHBOARD
username: user_two
password: password_two
ถ้าต้องการเปิดใช้ฟีเจอร์แดชบอร์ดทั้งหมดนอก localhost ให้ตั้งค่า SUPABASE_PUBLIC_URL ใน ./docker/.env เป็น URL หรือ IP ที่คุณจะใช้เข้าถึงแดชบอร์ด
ใช้การเปลี่ยนแปลงโดยการรีสตาร์ทสแตก:
docker compose down
docker compose up -d
สรุปและแหล่งข้อมูลเพิ่มเติม
ยินดีด้วย! ตอนนี้คุณติดตั้งและกำหนดค่า Supabase บนเซิร์ฟเวอร์เฉพาะของคุณเรียบร้อยแล้ว เรายังแนะนำให้ดูแหล่งข้อมูลต่อไปนี้ ซึ่งจะช่วยให้คุณได้รับคำแนะนำและความช่วยเหลือเพิ่มเติมระหว่างการตั้งค่าเซิร์ฟเวอร์
- Supabase.com - เว็บไซต์ทางการ
- Supabase.com/docs/guides/self-hosting - เอกสาร Supabase
มีคำถามเฉพาะที่ไม่ได้กล่าวถึงที่นี่ไหม? หากต้องการคำถามเพิ่มเติมหรือความช่วยเหลือ อย่าลังเลที่จะติดต่อทีมซัพพอร์ตของเรา ซึ่งพร้อมช่วยเหลือคุณทุกวัน! 🙂