Google Cloud Storage

Google Cloud Storage ใช้สำหรับเก็บไฟล์ที่อัพโหลด เช่น รูปโปรไฟล์, เอกสาร ฯลฯ ผ่าน Google Cloud Project สามารถใช้ Project เดียวกับการ Setup Google Cloud OAuth ได้เลย

💡 หมายเหตุ: GCS เป็น optional — ถ้ายังไม่ต้องการระบบอัพโหลดไฟล์ สามารถข้ามบทนี้ได้


ขั้นตอนที่ 1: ตั้งค่า Billing Account

GCS ต้องมี Billing Account แม้ว่าจะมี free tier ก็ตาม

  1. ไปที่เมนู Billing ใน sidebar
  1. ถ้ายังไม่มี billing account จะเห็นข้อความแจ้งเตือน ให้คลิก Link a billing account
  1. คลิก Create billing account เพื่อสร้างใหม่ (ต้องใส่ข้อมูลบัตรเครดิต)
  1. หลังจากสร้างเสร็จ จะเห็นหน้า Billing Overview พร้อม Free trial credit ถ้าหากยังไม่เคยใช้บริการ Google Cloud มาก่อน

💡 Free Trial: Google Cloud ให้ credit ฟรี ~$300 สำหรับ 90 วันแรก


ขั้นตอนที่ 2: สร้าง Storage Bucket

  1. ไปที่เมนู Cloud Storage (1) > Buckets (2)
  1. คลิก Create เพื่อสร้าง bucket ใหม่
  1. กรอกข้อมูล:
    • Name — ตั้งชื่อ bucket (ต้อง unique ทั่วโลก)
    • Location — เลือก asia-southeast3 (Bangkok) สำหรับผู้ใช้ในไทย
    • Storage class — เลือก Standard
    • ค่าอื่นๆ ใช้ default ได้
  1. คลิก Create แล้วรอสักครู่

ขั้นตอนที่ 3: สร้าง Service Account

Service Account ใช้สำหรับให้ app เข้าถึง GCS

  1. ไปที่เมนู IAM & Admin (1) > Service Accounts (2)
  1. คลิก Create service account

Step 1: Service Account Details

กรอกชื่อ (1) แล้วคลิก Create and continue (2)

Step 2: Grant Access

เลือก Role เป็น Storage Object User (1) แล้วคลิก Continue (2)

💡 Storage Object User ให้สิทธิ์ create, read, update, delete objects ใน GCS

Step 3: Done

คลิก Done (1) เพื่อสร้าง service account


ขั้นตอนที่ 4: สร้าง JSON Key

  1. ในรายการ service accounts คลิก ⋮ แล้วเลือก Manage keys
  1. คลิก Add key > Create new key
  1. เลือก JSON (1) แล้วคลิก Create (2)
  1. ไฟล์ JSON จะถูกดาวน์โหลดอัตโนมัติ

⚠️ สำคัญ: เก็บไฟล์นี้ไว้อย่างปลอดภัย! ห้าม commit ลง Git


ขั้นตอนที่ 5: นำไปใช้ใน npm run setup

เมื่อรัน npm run setup จะถูกถามค่า:

ค่าที่มา
GCS_BUCKETชื่อ bucket ที่สร้าง (เช่น vibe-coding-storage-2026)
GCS_PROJECT_IDดูได้จาก JSON key ในฟิลด์ project_id
GCS_CREDENTIALSเนื้อหาทั้งหมดของไฟล์ JSON

เปิดไฟล์ JSON ที่ดาวน์โหลดมา:

แล้ว copy เนื้อหาทั้งหมด paste ลงใน terminal ตอนที่ถาม GCS_CREDENTIALS

💡 Setup wizard จะจัดการ format ให้อัตโนมัติ สามารถ paste แบบ one-line หรือไม่ก็ได้

ตัวอย่างไฟล์ที่อัปโหลดใน Storage

ตัวอย่างไฟล์ที่อัปโหลดใน Storage Bucket

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

ตัวอย่าง Path ของการอัปโหลดภาพ uploads/user_id/file_name.png


สรุป

ขั้นตอนสิ่งที่ต้องทำ
1. ตั้งค่า Billingสร้าง billing account (ได้ free credit $300)
2. สร้าง Bucketตั้งชื่อ, เลือก region: Bangkok
3. สร้าง Service Accountตั้งชื่อ, เลือก role: Storage Object User
4. สร้าง JSON Keyดาวน์โหลดและเก็บไว้อย่างปลอดภัย
5. ใช้ใน setupใส่ bucket name, project ID, และ JSON credentials