How to Self-Host a Community Relay in Buzz (Complete Local Setup)
สรุปย่อ
ประเด็นสำคัญจากวิดีโอ
- **ช่อง:** Tonbi's AI Garage · **ความยาว:** ~15 นาที · **ลิงก์:** https://www.youtube.com/watch?v=SSj2J9kfKn8
# สรุป: How to Self-Host a Community Relay in Buzz (Complete Local Setup) - **ช่อง:** Tonbi's AI Garage · **ความยาว:** ~15 นาที · **ลิงก์:** https://www.youtube.com/watch?v=SSj2J9kfKn8 ## ประเด็นหลัก - **โฮสต์เอง vs. ให้ Block โฮสต์:** ความแตกต่างใหญ่คือ "ใครเป็นเจ้าของเครื่องที่ให้บริการ" — keys และ events ยังเป็นของคุณทั้งสองแบบ แต่ custody (ดิสก์/backup/การควบคุม) เปลี่ยนไป - **Community relay คืออะไร:** ใน Buzz, relay ก็คือ community — เป็นเซิร์ฟเวอร์ที่เก็บ signed events, media, และ Git repos - **ข้อดีของ self-hosting:** ควบคุมได้ทุกอย่าง — ตั้งค่า relay-level policy, closed owner mode, moderation dashboard, ข้อมูลทั้งหมดเป็นไฟล์บนดิสก์คุณเอง - **ข้อเสียของ self-hosting:** ต้องดูแล backup เอง, pin เวอร์ชัน, จัดการ TLS และ uptime — มี maintenance เพิ่ม - **รูปแบบการ deploy:** VPS (ออนไลน์ 24/7), PC โลคอล (เฉพาะคุณกับเอเจนต์โลคอล), home box + Tailscale VPN (เฉพาะอุปกรณ์ใน tailnet), Railway (คลิกเดียว แต่ใช้ฮาร์ดแวร์เขา) - **ขั้นตอนตั้งค่าแบบโลคอล:** ต้องมี Docker Desktop, Docker Compose, WSL → clone GitHub repo ของ Buzz → แก้ไขไฟล์ ENV (ตั้ง secrets, pub key, พอร์ต) → รัน `docker compose up` จาก Git Bash - **ทดสอบการทำงาน:** Buzz เชื่อมต่อกับ relay โลคอล → เพิ่มเอเจนต์ → สร้าง channel → ส่งข้อความ/สร้างโปรเจกต์ → ทำงานได้แม้ปิด Wi-Fi - **เครื่องมือตรวจสอบ:** Adminer (ดูฐานข้อมูล Postgres), MinIO console (ดู media storage), Docker logs (ดู signed events) - **ทีเด็ด:** self-hosting skill บน Buzz skills repo — รวม issues และ pitfalls ที่เจอระหว่างทำ ## ความเห็นสรุป วิดีโอนี้สอนวิธี self-host Buzz community relay ได้อย่างครบถ้วนและปฏิบัติได้จริง — ตั้งแต่แนวคิดไปจนถึงมือทำ ผู้พูดอธิบายข้อดีข้อเสียอย่างตรงไปตรงมา พร้อมสาธิตการทำงานแบบออฟไลน์ให้เห็นผลชัดเจน เหมาะสำหรับคนที่อยากควบคุมข้อมูลของตัวเองเต็มที่ แต่ต้องยอมรับภาระ maintenance เพิ่มขึ้นมาบ้าง
คำแปลเต็ม
แปลตามบทสนทนาต้นฉบับ ปรับเป็นภาษาไทยธรรมชาติ
อย่างที่เห็นนะครับ ผมกำลังทำงานอยู่ใน Buzz (แพลตฟอร์มเอเจนต์ AI) กับเอเจนต์ของผม และผมมีสอง community ตรงนี้ที่สร้างไว้ ตอนนี้ผมปิด Wi-Fi แล้วนะครับ — ผมไม่ได้เชื่อมต่ออินเทอร์เน็ตเลย แต่ถึงอย่างนั้น ใน community นี้ผมก็ยังสร้าง channel ใหม่ได้ และทำงานต่อในโปรเจกต์แบบโลคอลได้ตามปกติ
แต่กับอีก community นึง... ไม่ได้ครับ เข้า relay ไม่ได้ ผมลองสร้าง channel แล้วมันแจ้งว่าเชื่อมต่อ relay ไม่ได้ — สร้างไม่ได้เลย ผมเช็คโปรเจกต์ของผม ทุกอันเข้าไม่ได้หมด
แล้วสอง community นี้ต่างกันยังไง? อันนี้คือแบบโฮสต์เอง (self-hosted) ส่วนอันนี้ไม่ได้โฮสต์เอง — Block เป็นคนโฮสต์ให้ครับ
ในวิดีโอนี้ ผมจะแจกแจงความแตกต่างระหว่าง community relay แบบโฮสต์เองกับแบบให้ Block โฮสต์ให้ ผมจะบอกขั้นตอนการตั้งค่าให้ทั้งหมด แล้วเราจะมาลองสำรวจกันว่ามันมีฟีเจอร์อะไรที่แตกต่างกันบ้าง เริ่มกันเลยครับ
และถ้าคุณใช้ Agents Yourself แล้วอยากได้ LM wikis ที่ผมใช้เองสำหรับการทำรีเสิร์ชและสร้างวิดีโอพวกนี้ ลองเข้าไปดูโปรเจกต์ agentwikis.com ของผมได้นะครับ — ผมมี wikis ฟรีให้ในหัวข้อหลากหลายเลย และคุณสมัคร pro account ได้ในราคา $9.99 ต่อเดือน ซึ่งจะทำให้คุณเข้าถึง wikis แบบ supersized ขนาดใหญ่พิเศษที่มีข้อมูลละเอียดกว่าในแต่ละหัวข้อ
กลับมาที่วิดีโอกันครับ
อย่างที่ผมบอกไปก่อนหน้านี้ relay (เซิร์ฟเวอร์รีเลย์สำหรับจัดเก็บและกระจายข้อมูล) ก็คือ community นั่นแหละครับ — คำนี้แหละที่ต้องจำไว้ ให้มองว่าเป็นคนละโลกกันแต่อยู่ในฟิลด์เดียวกัน นี่คือที่อยู่ของ community ส่วนตัวของผมตอนนี้: `ai-garage.communities.buzz.xyz` — นี่คือ tenant บน backend ของ Block ครับ พวกเขาเป็นคนโฮสต์ community นี้ที่ผมสร้างขึ้นมาทดลองเล่น
แต่คุณสามารถโฮสต์เองและใช้โดเมนของคุณเองได้ และนี่คือที่อยู่ของ community ของคุณครับ
การโฮสต์เอง (self-hosting) หมายถึงการตัดสินใจเรื่องเดียว: **เครื่องของใครเป็นคนตอบกลับที่อยู่นั้น?** ตอนนี้ Block เป็นคนโฮสต์ที่อยู่นี้อยู่ แต่ตัวที่เราจะตั้งค่าให้โฮสต์เอง — ผมจะเป็นคนโฮสต์มันเองครับ
สรุปก็คือ binary ตัวเดียวกัน แต่คนดูแลข้อมูล (custodian) ต่างกัน — กุญแจ (keys) ของคุณและ events ที่เซ็นด้วยกุญแจนั้น มันเป็นของคุณในทั้งสองโลกครับ สิ่งที่เปลี่ยนคือ custody — ดิสก์ของใคร, backup ของใคร, ปุ่มควบคุมอยู่ที่ใคร
ตอนนี้เวอร์ชันที่ Block โฮสต์ให้ — Block เป็นคนยื่นมาให้เลย คุณถูกจำกัดไว้แค่ 5 community คุณสร้างเป็นพันเป็นหมื่นไม่ได้ และ events ของคุณยังคงเซ็นด้วย keys ของคุณ Block เก็บไว้ให้บน infrastructure ของเขาและตามตารางของเขา ไม่ต้องดูแลเซิร์ฟเวอร์ (zero ops) ไม่ต้องมีเซอร์วิส — ทำง่ายมาก
แต่ถ้าคุณอยากโฮสต์เอง — มันคือ Buzz Relay binary ตัวเดียวกัน แต่อยู่บนเครื่องที่คุณควบคุม log, media store, Git repos ทุกอย่างเป็นไฟล์บนดิสก์ของคุณ — คุณ backup เอง, เก็บเอง, ตรวจสอบเอง, ย้ายเองได้
นี่คือความแตกต่างระหว่างสองแบบนะครับ:
**Keys และ identity** — เหมือนกันครับ เป็นของคุณทั้งหมด events เซ็นโดยคุณ ไม่มีอะไรเปลี่ยนในส่วนนี้
**ที่เก็บข้อมูล** — แบบที่ Block โฮสต์: เก็บอยู่บน infrastructure ของ Block / แบบโฮสต์เอง: เป็นไฟล์และ volumes บนดิสก์ของคุณ
**Backup และ export** — Block มี backup ของเขาเอง / แบบโฮสต์เอง: คุณต้องจัดการเอง
**Version และ ops** — แบบ Block: zero ops สำหรับคุณ ทุกอย่างเป็นไปตามตารางของ Block / แบบโฮสต์เอง: คุณต้อง pin เวอร์ชัน, จัดการ TLS, อัปเกรด, ดูแล uptime — มี maintenance เพิ่มนิดหน่อย
**การควบคุม** — แบบ Block: คุณควบคุม members, channels, workflows ได้ — เพิ่มคนเข้ากลุ่มได้ / แบบโฮสต์เอง: มีเหมือนกันหมด แถมยังคุมในระดับ relay ได้อีก
นี่คือปุ่มควบคุมเพิ่มเติม ซึ่งอาจจะสำคัญหรือไม่สำคัญกับคุณก็ได้ — แต่นี่คือฟีเจอร์ระดับ operator-only:
- **Closed relay owner mode** — บนแบบโฮสต์เอง คุณบริหาร community ได้ที่นี่ และตัว relay ตอบสนองต่อ pub key ของคุณ - **Relay-side policy** — คุณตั้งค่า auth required, membership enforced, get conformance probes ได้ — ทั้งหมดนี้เป็น toggles ในไฟล์ที่คุณเป็นเจ้าของ - **Moderation dashboard** — admin UI แบบ read-only พร้อมรายงาน - **Op services** — บริการที่คุณเพิ่มและควบคุมได้
แล้วมันต้องแลกกับอะไรบ้าง? Backup เป็นความรับผิดชอบของคุณ คุณต้องทำเองทั้งหมด แต่มันถูกออกแบบให้เล็ก — ใช้แค่ compose file (ไฟล์ Docker Compose) ไฟล์เดียว กับเครื่องเดียว
Postgres, Redis, MinIO และ relay — ขึ้นมาพร้อมกันในสคริปต์เดียวเลยครับ เส้นทาง production ตามเอกสารของ Repose รองรับ community ขนาดเล็ก
นี่คือการตัดสินใจใหญ่ครับ: ถ้า custody ของข้อมูลไม่สำคัญสำหรับคุณ — แบบ Block โฮสต์ให้ก็พอแล้ว แต่ถ้ามันสำคัญ — ก็เลือกแบบโฮสต์เองครับ
คุณรันบน VPS ได้ถ้าอยากให้ออนไลน์ 24/7 แล้วก็เพิ่ม custom domain ได้ด้วย (ไม่จำเป็นต้องมี แต่เป็น path ที่เอกสารแนะนำ) มันจะออนไลน์ 24/7 โดยคุณไม่ต้องกังวล
แต่คุณก็รันบน PC ของตัวเองได้นะครับ — สำหรับแค่ทดลอง community โลคอลของตัวเอง ขอแค่มี Docker (แพลตฟอร์มรันคอนเทนเนอร์) ก็พอแล้ว ในกรณีนี้ มีแค่คุณกับเอเจนต์โลคอลของคุณเท่านั้นที่จะเข้าถึงได้
หรือใช้ home box + VPN — เป็นเครื่องที่เปิดตลอดเวลา แล้วใช้ mesh แบบ Tailscale (บริการ VPN แบบ mesh) แบบนี้ใช้ได้เฉพาะอุปกรณ์ของคุณที่เชื่อมต่อผ่าน tailnet — ไม่มีอะไร public
ที่พูดถึง VPS ไปแล้ว — Railway (แพลตฟอร์มโฮสต์แบบคลิกเดียว) ก็เป็นอีกตัวเลือกนะครับ คลิกเดียว ไม่ต้องดูแลเซิร์ฟเวอร์เอง แต่ก็คืออยู่บนฮาร์ดแวร์ของเขา
เอาล่ะครับ ผมจะทำให้ดูทีละขั้นตอนว่าทำ self-hosting ยังไง ไม่ยากเกินไป แต่มี prerequisites นิดหน่อย:
1. **Docker Desktop** — ลงบนเครื่องของคุณ 2. **Docker Compose** — เวอร์ชันตามที่ระบุ 3. **WSL** (Windows Subsystem for Linux) — ต้องเปิดใช้งานด้วย
จากนั้นก็ clone GitHub repo ของ Buzz แล้วเข้าไปที่ `deploy/compose`
เราจะไปที่ไดเรกทอรีนี้แล้วเราต้องการไฟล์ ENV — นี่คือไฟล์ `ENV` ดีฟอลต์ที่คุณจะเจอ คุณต้องกรอกข้อมูลบางอย่าง บางตัวปล่อยไว้เหมือนเดิมได้
- ใช้ `localhost` เพราะผมจะรันบน PC โลคอล - ตั้งพอร์ตเป็น 3000 หรือ 300 ก็ได้
สิ่งที่ต้องเพิ่มคือ **stable secrets** — คุณ generate ทางฝั่งคุณเอง ไม่ใช่ทางฝั่ง Buzz — ผม blank ไว้ตรงนี้ แต่คุณต้อง generate เอง ทำ random numbers แบบ 32 hex ก็ได้ ถ้าเคย generate secrets แบบนี้มาก่อน นี่คือวิธีทำบน Windows
**Owner pub key** — คือ pub key (กุญแจสาธารณะ) ของคุณเองจาก desktop — ดึงจากในแอป Buzz ได้เลยครับ
ผมกรอก strings ทั้งหมดที่เราเห็นก่อนหน้านี้แล้ว ใส่ pub key ของตัวเองลงใน `relay owner pub key` — ดึงจากโปรไฟล์ของคุณได้เลยนะครับ จำไว้ว่า **public key** เท่านั้น ไม่ใช่ private key!
ยืนยันว่า Docker ทำงานอยู่ แล้วรันคำสั่งถัดไปจาก **Git Bash** (คุณรันจาก PowerShell ไม่ได้นะครับ)
ผมรันแล้ว — จะไม่โชว์ทั้งหมดเพราะมันมี secrets ด้วย แต่มันจะยืนยันว่าข้อมูลทุกอย่างตั้งค่าถูกต้อง ถ้าทำผิด มันจะฟ้องเรื่อง placeholders หรืออะไรทำนองนั้น
ขั้นต่อไป: รันมันเลย — `docker compose up` — มันเริ่ม pull แล้ว เราควรเห็นใน Docker Desktop ว่ามันเริ่มทำงาน พอทุกอย่างขึ้นหมดแล้ว...
เสร็จแล้วครับ — จะเห็นใน Docker ด้านล่าง `buzz-production` ขึ้นและทำงานแล้ว ใช้ `docker compose ps` เช็คได้ครับ — ทุกอย่างโอเค
ลองแก้ไขดูนะครับ — ไปที่ AI Garage, Community Settings ก่อนหน้านี้ผมใช้แบบที่ Block โฮสต์อยู่ — มาลองรันบนโลคอลของผมดู
ตอนนี้ยังไม่มี activity คุณต้องเพิ่มเอเจนต์กลับเข้ามา — นี่คือ pub key ของผม เราสามารถเพิ่มทุกคนได้เลยครับ — เพิ่ม 6 เอเจนต์, ทุกคนเข้าร่วมหมด, ทั้งทีมอยู่พร้อมแล้ว
สร้าง channel ใหม่ — เพิ่มเอเจนต์ลงไป ส่ง "hello" — และเราควรได้การตอบกลับจาก Fizz
เห็นใน channel แล้วนะครับ — ต้องปลุกสองครั้งกว่าจะตื่น แต่ผมส่ง "hello" ไปหา Fizz แล้วเขาก็ตอบกลับมาว่า "Hey again, what's up?"
ลองสร้างโปรเจกต์ดู — Buzz project ต้องมี member repo อย่างน้อยหนึ่งอัน — สร้าง repo ชื่อ "the lab" — เสร็จแล้ว, ลง channel นี้, เช็คโปรเจกต์ — นี่ไงครับ
ใน DM ก็คุยกับเอเจนต์ตัวนึงได้ — ทั้งหมดนี้รันอยู่บน Docker ของผม แทนที่จะเป็น infrastructure ของ Block
ถ้าดูด้านล่าง — Postgres, Redis, MinIO และตัว relay กำลังทำงานอยู่ ถ้าดึงข้อความจาก Docker มาดู ก็จะเห็น messages ที่ผมส่งเลยครับ และถ้าจำได้จากวิดีโอแรกที่ผมพูดถึง "kind" — นี่คือ signed events ครับ มันบอกว่าแต่ละ event เป็น event ประเภทไหน — ทั้งหมดมาจาก Docker ไม่ได้ expose ออกอินเทอร์เน็ตเลย
และเพื่อโชว์ว่าไม่ต้องใช้อินเทอร์เน็ต — ผมจะปิด Wi-Fi ตอนนี้เลย
ไม่มี Wi-Fi แล้วครับ — และแน่นอนว่าผมไม่มี Wi-Fi ก็เลยเชื่อมต่อกับเอเจนต์ไม่ได้เพราะผมยังไม่ได้ตั้งค่า local model — แต่ผมสร้าง channel ใหม่ได้นะครับ! ตั้งชื่อว่า "videos" — อยู่ใน local self-hosted relay ของผม — สร้าง channel ได้ ทำงานต่อได้
แต่ถ้าไปที่ community ที่ Block โฮสต์ไว้ — ชื่อ "Asian Garage" — จะเห็นว่า "can't reach the relay" — ไม่เชื่อมต่อแล้ว ถ้าลองสร้าง channel ใหม่ — "relay unreachable, could not connect to the relay"
นี่คือความแตกต่างที่ใหญ่มากระหว่าง community relay แบบโฮสต์ให้ กับแบบโฮสต์เองครับ
อีกวิธีที่คุณดูได้ว่าเกิดอะไรขึ้นคือ — ตอนนี้ทุกอย่างรันโลคอล — คุณเช็คได้จากพอร์ตโลคอลต่างๆ ครับ (อาจต่างกันไปตามการตั้งค่า)
ถ้าไปที่ **Adminer** (เครื่องมือจัดการฐานข้อมูลผ่านเว็บ) — ไปที่ `localhost:8080` — จะเจอหน้า login: - Username: `buzz` - Password: อันที่คุณตั้งไว้ในไฟล์ ENV variables สำหรับ Postgres - Database: `buzz` (ถ้าคุณตั้งชื่อนั้น)
ทั้งหมดนี้อยู่ใน Postgres ครับ — login เข้าไปแล้วคุณจะเห็นทุกอย่าง
ดู channels — นี่คือข้อมูลทั้งหมดที่วิ่งผ่าน Docker ของคุณแบบโลคอลครับ — เป็นข้อมูลที่เมื่อก่อน Block เป็นคนโฮสต์ให้ ตอนนี้คุณเห็นทุกอย่างเลย: channel IDs, visibility, descriptions...
ดู Events — มี JSON เยอะมาก แต่นี่คือ events ต่างๆ ที่เกิดขึ้น — ดูนี่: ชื่อ Git repo, repo สำหรับโปรเจกต์ "the lab" — ทั้งหมดเก็บอยู่โลคอลครับ เป็น dashboard ให้คุณดูข้อมูลทั้งหมด — เป็นอีกวิธีตรวจสอบข้อมูลของคุณ
**MinIO console** — สำหรับ heavy bytes — พวก media ที่อัปโหลด — events พวกนั้นจะอยู่ที่นี่ครับ
นั่นก็ประมาณนี้ครับ — ผมรู้ว่ามันอาจดูน่ากลัวนิดหน่อย และเพราะ Buzz ยังอยู่ในช่วงแรกๆ มันก็เลยอาจจะ tricky และ buggy นิดหน่อย
ผมเลยเพิ่ม **Buzz self-hosting skill** ลงใน Buzz skills repo ของผม — มันเป็นไกด์ที่เขียนโดยเอเจนต์ของผม จากประสบการณ์ที่ผมลองทำ self-hosting แล้วเจอปัญหาต่างๆ — มีขั้นตอนการตั้งค่าทั้งหมด คุณแค่ส่งให้เอเจนต์ของคุณช่วยตั้งค่าให้
มันไม่ใช่แค่ไกด์เป๊ะๆ แต่มันรวม issues ที่คุณและเอเจนต์อาจจะเจอระหว่างทำ มีพวก Windows-specific ด้วย — มันจะช่วยให้คุณไม่ต้องเจอข้อผิดพลาดแบบที่ผมเจอตอนลองครั้งแรกครับ
จบวิดีโอนี้แล้วนะครับ — หวังว่าคุณจะสนุกนะครับ คอมเมนต์ได้เลยครับ ถามคำถามเกี่ยวกับ self-hosting relays หรือ Buzz ได้เลย ขอบคุณที่รับชมครับ
หมายเหตุการแปล
ความโปร่งใสเกี่ยวกับความไม่แน่นอนในต้นฉบับ
- ## Segments with Uncertain Meaning
อภิธานศัพท์เทคนิค
คำศัพท์และชื่อผลิตภัณฑ์ที่คงรูปภาษาอังกฤษ
| ศัพท์ | คำแปล / คำอธิบาย |
|---|---|
| --- | --- |
| Buzz | แพลตฟอร์มเอเจนต์ AI แบบ decentralized |
| Nostr | โปรโตคอล decentralized สำหรับ social media |
| relay | เซิร์ฟเวอร์รีเลย์ — เก็บและกระจาย signed events ในเครือข่าย Nostr |
| community relay | รีเลย์ที่ใช้สำหรับชุมชน/ทีมใน Buzz |
| self-hosted | โฮสต์เอง — คุณเป็นเจ้าของและดูแลเซิร์ฟเวอร์ |
| hosted (by Block) | ให้ Block (บริษัทผู้พัฒนา Buzz) เป็นคนโฮสต์และดูแลให้ |
| keys | กุญแจเข้ารหัส — public key (กุญแจสาธารณะ) และ private key (กุญแจส่วนตัว) |
| pub key (public key) | กุญแจสาธารณะ — ใช้ระบุตัวตน แชร์ให้ผู้อื่นได้ |
| private key | กุญแจส่วนตัว — ใช้เซ็น events ห้ามแชร์ให้ใคร |
| signed events | events ที่ถูกเซ็นด้วย private key — พิสูจน์ตัวตนผู้สร้าง |
| custody | การดูแลและควบคุมข้อมูล — ใครเก็บ, ใคร backup, ใครควบคุม |
| Docker | แพลตฟอร์มสำหรับรันแอปพลิเคชันในคอนเทนเนอร์ |
| Docker Desktop | แอปพลิเคชัน Docker สำหรับ desktop |
| Docker Compose | เครื่องมือสำหรับรัน multi-container Docker applications |
| WSL | Windows Subsystem for Linux — ชั้นความเข้ากันได้สำหรับรัน Linux บน Windows |
| Git Bash | เทอร์มินัล Git บน Windows — ใช้รันคำสั่ง shell |
| ENV file | ไฟล์ environment variables — ใช้ตั้งค่าคอนฟิกของแอป |
| VPS | Virtual Private Server — เซิร์ฟเวอร์เสมือน เช่าใช้ |
| Tailscale | บริการ VPN แบบ mesh network |
| Railway | แพลตฟอร์มโฮสต์แอปพลิเคชันแบบคลิกเดียว |
| Postgres | ระบบฐานข้อมูล relational (PostgreSQL) |
| Redis | ระบบ caching/in-memory data store |
| MinIO | ระบบ object storage — ใช้เก็บไฟล์/media |
| Adminer | เครื่องมือจัดการฐานข้อมูลผ่านเว็บ |
| signed events kind | ชนิด/ประเภทของ event ที่ถูกเซ็น |
| compose file | ไฟล์คอนฟิกของ Docker Compose |
| owner mode (closed relay) | โหมดปิด — มีแค่เจ้าของ relay เท่านั้นที่บริหารได้ |
| auth required | ต้องยืนยันตัวตนก่อนเข้าใช้ |
| membership enforced | บังคับให้ต้องเป็นสมาชิก |
| Git repo | ที่เก็บโค้ดบน Git |
| AgentWikis.com | โปรเจกต์ wikis สำหรับเอเจนต์ AI |
ซับไตเติ้ลภาษาไทย
ดาวน์โหลดหรือดูซับทั้งหมด
1 00:00:00,000 --> 00:00:05,937 อย่างที่เห็นนะครับ ผมกำลังทำงานอยู่ใน Buzz (แพลตฟอร์มเอเจนต์ 2 00:00:05,937 --> 00:00:11,675 AI) กับเอเจนต์ของผม และผมมีสอง community ตรงนี้ที่สร้างไว้ 3 00:00:11,675 --> 00:00:17,908 ตอนนี้ผมปิด Wi-Fi แล้วนะครับ — ผมไม่ได้เชื่อมต่ออินเทอร์เน็ตเลย 4 00:00:17,908 --> 00:00:23,053 แต่ถึงอย่างนั้น ใน community นี้ผมก็ยังสร้าง channel
เปิดดูซับไตเติ้ลทั้งหมด (169 segments)
1 00:00:00,000 --> 00:00:05,937 อย่างที่เห็นนะครับ ผมกำลังทำงานอยู่ใน Buzz (แพลตฟอร์มเอเจนต์ 2 00:00:05,937 --> 00:00:11,675 AI) กับเอเจนต์ของผม และผมมีสอง community ตรงนี้ที่สร้างไว้ 3 00:00:11,675 --> 00:00:17,908 ตอนนี้ผมปิด Wi-Fi แล้วนะครับ — ผมไม่ได้เชื่อมต่ออินเทอร์เน็ตเลย 4 00:00:17,908 --> 00:00:23,053 แต่ถึงอย่างนั้น ใน community นี้ผมก็ยังสร้าง channel 5 00:00:23,053 --> 00:00:27,704 ใหม่ได้ และทำงานต่อในโปรเจกต์แบบโลคอลได้ตามปกติ 6 00:00:27,704 --> 00:00:32,453 แต่กับอีก community นึง... ไม่ได้ครับ เข้า relay 7 00:00:32,453 --> 00:00:37,301 ไม่ได้ ผมลองสร้าง channel แล้วมันแจ้งว่าเชื่อมต่อ 8 00:00:37,301 --> 00:00:42,149 relay ไม่ได้ — สร้างไม่ได้เลย ผมเช็คโปรเจกต์ของผม 9 00:00:42,149 --> 00:00:47,492 ทุกอันเข้าไม่ได้หมด แล้วสอง community นี้ต่างกันยังไง? 10 00:00:47,492 --> 00:00:53,330 อันนี้คือแบบโฮสต์เอง (self-hosted) ส่วนอันนี้ไม่ได้โฮสต์เอง 11 00:00:53,330 --> 00:00:59,959 — Block เป็นคนโฮสต์ให้ครับ ในวิดีโอนี้ ผมจะแจกแจงความแตกต่างระหว่าง 12 00:00:59,959 --> 00:01:05,005 community relay แบบโฮสต์เองกับแบบให้ Block โฮสต์ให้ 13 00:01:05,005 --> 00:01:14,206 ผมจะบอกขั้นตอนการตั้งค่าให้ทั้งหมด แล้วเราจะมาลองสำรวจกันว่ามันมีฟีเจอร์อะไรที่แตกต่างกันบ้าง 14 00:01:14,206 --> 00:01:19,747 เริ่มกันเลยครับ และถ้าคุณใช้ Agents Yourself แล้วอยากได้ 15 00:01:19,747 --> 00:01:25,585 LM wikis ที่ผมใช้เองสำหรับการทำรีเสิร์ชและสร้างวิดีโอพวกนี้ 16 00:01:25,585 --> 00:01:30,433 ลองเข้าไปดูโปรเจกต์ agentwikis.com ของผมได้นะครับ 17 00:01:30,433 --> 00:01:35,380 — ผมมี wikis ฟรีให้ในหัวข้อหลากหลายเลย และคุณสมัคร 18 00:01:35,380 --> 00:01:41,118 pro account ได้ในราคา $9.99 ต่อเดือน ซึ่งจะทำให้คุณเข้าถึง 19 00:01:41,118 --> 00:01:47,945 wikis แบบ supersized ขนาดใหญ่พิเศษที่มีข้อมูลละเอียดกว่าในแต่ละหัวข้อ 20 00:01:47,945 --> 00:01:52,794 กลับมาที่วิดีโอกันครับ อย่างที่ผมบอกไปก่อนหน้านี้ 21 00:01:52,794 --> 00:01:58,037 relay (เซิร์ฟเวอร์รีเลย์สำหรับจัดเก็บและกระจายข้อมูล) 22 00:01:58,037 --> 00:02:03,182 ก็คือ community นั่นแหละครับ — คำนี้แหละที่ต้องจำไว้ 23 00:02:03,182 --> 00:02:09,317 ให้มองว่าเป็นคนละโลกกันแต่อยู่ในฟิลด์เดียวกัน นี่คือที่อยู่ของ 24 00:02:09,317 --> 00:02:15,451 community ส่วนตัวของผมตอนนี้: `ai-garage.communities.buzz.xyz` 25 00:02:15,451 --> 00:02:21,289 — นี่คือ tenant บน backend ของ Block ครับ พวกเขาเป็นคนโฮสต์ 26 00:02:21,289 --> 00:02:29,402 community นี้ที่ผมสร้างขึ้นมาทดลองเล่น แต่คุณสามารถโฮสต์เองและใช้โดเมนของคุณเองได้ 27 00:02:29,402 --> 00:02:34,547 และนี่คือที่อยู่ของ community ของคุณครับ การโฮสต์เอง 28 00:02:34,547 --> 00:02:43,254 (self-hosting) หมายถึงการตัดสินใจเรื่องเดียว: **เครื่องของใครเป็นคนตอบกลับที่อยู่นั้น?** 29 00:02:43,254 --> 00:02:50,279 ตอนนี้ Block เป็นคนโฮสต์ที่อยู่นี้อยู่ แต่ตัวที่เราจะตั้งค่าให้โฮสต์เอง 30 00:02:50,279 --> 00:02:55,819 — ผมจะเป็นคนโฮสต์มันเองครับ สรุปก็คือ binary ตัวเดียวกัน 31 00:02:55,819 --> 00:03:00,767 แต่คนดูแลข้อมูล (custodian) ต่างกัน — กุญแจ (keys) 32 00:03:00,767 --> 00:03:07,396 ของคุณและ events ที่เซ็นด้วยกุญแจนั้น มันเป็นของคุณในทั้งสองโลกครับ 33 00:03:07,396 --> 00:03:12,046 สิ่งที่เปลี่ยนคือ custody — ดิสก์ของใคร, backup 34 00:03:12,046 --> 00:03:17,191 ของใคร, ปุ่มควบคุมอยู่ที่ใคร ตอนนี้เวอร์ชันที่ Block 35 00:03:17,191 --> 00:03:22,435 โฮสต์ให้ — Block เป็นคนยื่นมาให้เลย คุณถูกจำกัดไว้แค่ 36 00:03:22,435 --> 00:03:27,679 5 community คุณสร้างเป็นพันเป็นหมื่นไม่ได้ และ events 37 00:03:27,679 --> 00:03:32,626 ของคุณยังคงเซ็นด้วย keys ของคุณ Block เก็บไว้ให้บน 38 00:03:32,626 --> 00:03:38,661 infrastructure ของเขาและตามตารางของเขา ไม่ต้องดูแลเซิร์ฟเวอร์ 39 00:03:38,661 --> 00:03:44,796 (zero ops) ไม่ต้องมีเซอร์วิส — ทำง่ายมาก แต่ถ้าคุณอยากโฮสต์เอง 40 00:03:44,796 --> 00:03:51,425 — มันคือ Buzz Relay binary ตัวเดียวกัน แต่อยู่บนเครื่องที่คุณควบคุม 41 00:03:51,425 --> 00:03:57,064 log, media store, Git repos ทุกอย่างเป็นไฟล์บนดิสก์ของคุณ 42 00:03:57,064 --> 00:04:01,913 — คุณ backup เอง, เก็บเอง, ตรวจสอบเอง, ย้ายเองได้ 43 00:04:01,913 --> 00:04:06,662 นี่คือความแตกต่างระหว่างสองแบบนะครับ: **Keys และ 44 00:04:06,662 --> 00:04:11,708 identity** — เหมือนกันครับ เป็นของคุณทั้งหมด events 45 00:04:11,708 --> 00:04:17,051 เซ็นโดยคุณ ไม่มีอะไรเปลี่ยนในส่วนนี้ **ที่เก็บข้อมูล** 46 00:04:17,051 --> 00:04:21,701 — แบบที่ Block โฮสต์: เก็บอยู่บน infrastructure 47 00:04:21,701 --> 00:04:27,440 ของ Block / แบบโฮสต์เอง: เป็นไฟล์และ volumes บนดิสก์ของคุณ 48 00:04:27,440 --> 00:04:32,288 **Backup และ export** — Block มี backup ของเขาเอง 49 00:04:32,288 --> 00:04:37,334 / แบบโฮสต์เอง: คุณต้องจัดการเอง **Version และ ops** 50 00:04:37,334 --> 00:04:42,973 — แบบ Block: zero ops สำหรับคุณ ทุกอย่างเป็นไปตามตารางของ 51 00:04:42,973 --> 00:04:47,822 Block / แบบโฮสต์เอง: คุณต้อง pin เวอร์ชัน, จัดการ 52 00:04:47,822 --> 00:04:53,362 TLS, อัปเกรด, ดูแล uptime — มี maintenance เพิ่มนิดหน่อย 53 00:04:53,362 --> 00:04:58,804 **การควบคุม** — แบบ Block: คุณควบคุม members, channels, 54 00:04:58,804 --> 00:05:03,751 workflows ได้ — เพิ่มคนเข้ากลุ่มได้ / แบบโฮสต์เอง: 55 00:05:03,751 --> 00:05:10,677 มีเหมือนกันหมด แถมยังคุมในระดับ relay ได้อีก นี่คือปุ่มควบคุมเพิ่มเติม 56 00:05:10,677 --> 00:05:16,713 ซึ่งอาจจะสำคัญหรือไม่สำคัญกับคุณก็ได้ — แต่นี่คือฟีเจอร์ระดับ 57 00:05:16,713 --> 00:05:22,649 operator-only: - **Closed relay owner mode** — บนแบบโฮสต์เอง 58 00:05:22,649 --> 00:05:27,893 คุณบริหาร community ได้ที่นี่ และตัว relay ตอบสนองต่อ 59 00:05:27,893 --> 00:05:32,939 pub key ของคุณ - **Relay-side policy** — คุณตั้งค่า 60 00:05:32,939 --> 00:05:37,985 auth required, membership enforced, get conformance 61 00:05:37,985 --> 00:05:43,823 probes ได้ — ทั้งหมดนี้เป็น toggles ในไฟล์ที่คุณเป็นเจ้าของ 62 00:05:43,823 --> 00:05:48,869 - **Moderation dashboard** — admin UI แบบ read-only 63 00:05:48,869 --> 00:05:54,904 พร้อมรายงาน - **Op services** — บริการที่คุณเพิ่มและควบคุมได้ 64 00:05:54,904 --> 00:06:00,544 แล้วมันต้องแลกกับอะไรบ้าง? Backup เป็นความรับผิดชอบของคุณ 65 00:06:00,544 --> 00:06:05,590 คุณต้องทำเองทั้งหมด แต่มันถูกออกแบบให้เล็ก — ใช้แค่ 66 00:06:05,590 --> 00:06:11,526 compose file (ไฟล์ Docker Compose) ไฟล์เดียว กับเครื่องเดียว 67 00:06:11,526 --> 00:06:18,452 Postgres, Redis, MinIO และ relay — ขึ้นมาพร้อมกันในสคริปต์เดียวเลยครับ 68 00:06:18,452 --> 00:06:23,894 เส้นทาง production ตามเอกสารของ Repose รองรับ community 69 00:06:23,894 --> 00:06:28,544 ขนาดเล็ก นี่คือการตัดสินใจใหญ่ครับ: ถ้า custody 70 00:06:28,544 --> 00:06:33,986 ของข้อมูลไม่สำคัญสำหรับคุณ — แบบ Block โฮสต์ให้ก็พอแล้ว 71 00:06:33,986 --> 00:06:38,735 แต่ถ้ามันสำคัญ — ก็เลือกแบบโฮสต์เองครับ คุณรันบน 72 00:06:38,735 --> 00:06:43,484 VPS ได้ถ้าอยากให้ออนไลน์ 24/7 แล้วก็เพิ่ม custom 73 00:06:43,484 --> 00:06:49,421 domain ได้ด้วย (ไม่จำเป็นต้องมี แต่เป็น path ที่เอกสารแนะนำ) 74 00:06:49,421 --> 00:06:54,368 มันจะออนไลน์ 24/7 โดยคุณไม่ต้องกังวล แต่คุณก็รันบน 75 00:06:54,368 --> 00:06:59,117 PC ของตัวเองได้นะครับ — สำหรับแค่ทดลอง community 76 00:06:59,117 --> 00:07:04,559 โลคอลของตัวเอง ขอแค่มี Docker (แพลตฟอร์มรันคอนเทนเนอร์) 77 00:07:04,559 --> 00:07:11,584 ก็พอแล้ว ในกรณีนี้ มีแค่คุณกับเอเจนต์โลคอลของคุณเท่านั้นที่จะเข้าถึงได้ 78 00:07:11,584 --> 00:07:16,630 หรือใช้ home box + VPN — เป็นเครื่องที่เปิดตลอดเวลา 79 00:07:16,630 --> 00:07:21,379 แล้วใช้ mesh แบบ Tailscale (บริการ VPN แบบ mesh) 80 00:07:21,379 --> 00:07:26,722 แบบนี้ใช้ได้เฉพาะอุปกรณ์ของคุณที่เชื่อมต่อผ่าน tailnet 81 00:07:26,722 --> 00:07:31,570 — ไม่มีอะไร public ที่พูดถึง VPS ไปแล้ว — Railway 82 00:07:31,570 --> 00:07:36,715 (แพลตฟอร์มโฮสต์แบบคลิกเดียว) ก็เป็นอีกตัวเลือกนะครับ 83 00:07:36,715 --> 00:07:43,146 คลิกเดียว ไม่ต้องดูแลเซิร์ฟเวอร์เอง แต่ก็คืออยู่บนฮาร์ดแวร์ของเขา 84 00:07:43,146 --> 00:07:48,192 เอาล่ะครับ ผมจะทำให้ดูทีละขั้นตอนว่าทำ self-hosting 85 00:07:48,192 --> 00:07:52,942 ยังไง ไม่ยากเกินไป แต่มี prerequisites นิดหน่อย: 86 00:07:52,942 --> 00:07:58,185 1. **Docker Desktop** — ลงบนเครื่องของคุณ 2. **Docker 87 00:07:58,185 --> 00:08:03,133 Compose** — เวอร์ชันตามที่ระบุ 3. **WSL** (Windows 88 00:08:03,133 --> 00:08:08,179 Subsystem for Linux) — ต้องเปิดใช้งานด้วย จากนั้นก็ 89 00:08:08,179 --> 00:08:13,818 clone GitHub repo ของ Buzz แล้วเข้าไปที่ `deploy/compose` 90 00:08:13,818 --> 00:08:19,458 เราจะไปที่ไดเรกทอรีนี้แล้วเราต้องการไฟล์ ENV — นี่คือไฟล์ 91 00:08:19,458 --> 00:08:24,405 `ENV` ดีฟอลต์ที่คุณจะเจอ คุณต้องกรอกข้อมูลบางอย่าง 92 00:08:24,405 --> 00:08:30,342 บางตัวปล่อยไว้เหมือนเดิมได้ - ใช้ `localhost` เพราะผมจะรันบน 93 00:08:30,342 --> 00:08:36,674 PC โลคอล - ตั้งพอร์ตเป็น 3000 หรือ 300 ก็ได้ สิ่งที่ต้องเพิ่มคือ 94 00:08:36,674 --> 00:08:41,324 **stable secrets** — คุณ generate ทางฝั่งคุณเอง 95 00:08:41,324 --> 00:08:46,271 ไม่ใช่ทางฝั่ง Buzz — ผม blank ไว้ตรงนี้ แต่คุณต้อง 96 00:08:46,271 --> 00:08:50,921 generate เอง ทำ random numbers แบบ 32 hex ก็ได้ 97 00:08:50,921 --> 00:08:55,967 ถ้าเคย generate secrets แบบนี้มาก่อน นี่คือวิธีทำบน 98 00:08:55,967 --> 00:09:01,310 Windows **Owner pub key** — คือ pub key (กุญแจสาธารณะ) 99 00:09:01,310 --> 00:09:06,257 ของคุณเองจาก desktop — ดึงจากในแอป Buzz ได้เลยครับ 100 00:09:06,257 --> 00:09:10,908 ผมกรอก strings ทั้งหมดที่เราเห็นก่อนหน้านี้แล้ว 101 00:09:10,908 --> 00:09:15,558 ใส่ pub key ของตัวเองลงใน `relay owner pub key` 102 00:09:15,558 --> 00:09:20,604 — ดึงจากโปรไฟล์ของคุณได้เลยนะครับ จำไว้ว่า **public 103 00:09:20,604 --> 00:09:25,650 key** เท่านั้น ไม่ใช่ private key! ยืนยันว่า Docker 104 00:09:25,650 --> 00:09:31,092 ทำงานอยู่ แล้วรันคำสั่งถัดไปจาก **Git Bash** (คุณรันจาก 105 00:09:31,092 --> 00:09:37,325 PowerShell ไม่ได้นะครับ) ผมรันแล้ว — จะไม่โชว์ทั้งหมดเพราะมันมี 106 00:09:37,325 --> 00:09:43,064 secrets ด้วย แต่มันจะยืนยันว่าข้อมูลทุกอย่างตั้งค่าถูกต้อง 107 00:09:43,064 --> 00:09:48,505 ถ้าทำผิด มันจะฟ้องเรื่อง placeholders หรืออะไรทำนองนั้น 108 00:09:48,505 --> 00:09:53,749 ขั้นต่อไป: รันมันเลย — `docker compose up` — มันเริ่ม 109 00:09:53,749 --> 00:09:59,092 pull แล้ว เราควรเห็นใน Docker Desktop ว่ามันเริ่มทำงาน 110 00:09:59,092 --> 00:10:03,940 พอทุกอย่างขึ้นหมดแล้ว... เสร็จแล้วครับ — จะเห็นใน 111 00:10:03,940 --> 00:10:08,887 Docker ด้านล่าง `buzz-production` ขึ้นและทำงานแล้ว 112 00:10:08,887 --> 00:10:13,835 ใช้ `docker compose ps` เช็คได้ครับ — ทุกอย่างโอเค 113 00:10:13,835 --> 00:10:19,177 ลองแก้ไขดูนะครับ — ไปที่ AI Garage, Community Settings 114 00:10:19,177 --> 00:10:25,411 ก่อนหน้านี้ผมใช้แบบที่ Block โฮสต์อยู่ — มาลองรันบนโลคอลของผมดู 115 00:10:25,411 --> 00:10:30,655 ตอนนี้ยังไม่มี activity คุณต้องเพิ่มเอเจนต์กลับเข้ามา 116 00:10:30,655 --> 00:10:35,800 — นี่คือ pub key ของผม เราสามารถเพิ่มทุกคนได้เลยครับ 117 00:10:35,800 --> 00:10:41,439 — เพิ่ม 6 เอเจนต์, ทุกคนเข้าร่วมหมด, ทั้งทีมอยู่พร้อมแล้ว 118 00:10:41,439 --> 00:10:46,287 สร้าง channel ใหม่ — เพิ่มเอเจนต์ลงไป ส่ง "hello" 119 00:10:46,287 --> 00:10:50,938 — และเราควรได้การตอบกลับจาก Fizz เห็นใน channel 120 00:10:50,938 --> 00:10:55,687 แล้วนะครับ — ต้องปลุกสองครั้งกว่าจะตื่น แต่ผมส่ง 121 00:10:55,687 --> 00:11:00,733 "hello" ไปหา Fizz แล้วเขาก็ตอบกลับมาว่า "Hey again, 122 00:11:00,733 --> 00:11:05,878 what's up?" ลองสร้างโปรเจกต์ดู — Buzz project ต้องมี 123 00:11:05,878 --> 00:11:10,528 member repo อย่างน้อยหนึ่งอัน — สร้าง repo ชื่อ 124 00:11:10,528 --> 00:11:15,574 "the lab" — เสร็จแล้ว, ลง channel นี้, เช็คโปรเจกต์ 125 00:11:15,574 --> 00:11:21,906 — นี่ไงครับ ใน DM ก็คุยกับเอเจนต์ตัวนึงได้ — ทั้งหมดนี้รันอยู่บน 126 00:11:21,906 --> 00:11:26,854 Docker ของผม แทนที่จะเป็น infrastructure ของ Block 127 00:11:26,854 --> 00:11:31,900 ถ้าดูด้านล่าง — Postgres, Redis, MinIO และตัว relay 128 00:11:31,900 --> 00:11:37,045 กำลังทำงานอยู่ ถ้าดึงข้อความจาก Docker มาดู ก็จะเห็น 129 00:11:37,045 --> 00:11:42,882 messages ที่ผมส่งเลยครับ และถ้าจำได้จากวิดีโอแรกที่ผมพูดถึง 130 00:11:42,882 --> 00:11:47,730 "kind" — นี่คือ signed events ครับ มันบอกว่าแต่ละ 131 00:11:47,730 --> 00:11:52,479 event เป็น event ประเภทไหน — ทั้งหมดมาจาก Docker 132 00:11:52,479 --> 00:11:59,405 ไม่ได้ expose ออกอินเทอร์เน็ตเลย และเพื่อโชว์ว่าไม่ต้องใช้อินเทอร์เน็ต 133 00:11:59,405 --> 00:12:04,155 — ผมจะปิด Wi-Fi ตอนนี้เลย ไม่มี Wi-Fi แล้วครับ — 134 00:12:04,155 --> 00:12:11,971 และแน่นอนว่าผมไม่มี Wi-Fi ก็เลยเชื่อมต่อกับเอเจนต์ไม่ได้เพราะผมยังไม่ได้ตั้งค่า 135 00:12:11,971 --> 00:12:16,621 local model — แต่ผมสร้าง channel ใหม่ได้นะครับ! 136 00:12:16,621 --> 00:12:21,272 ตั้งชื่อว่า "videos" — อยู่ใน local self-hosted 137 00:12:21,272 --> 00:12:26,713 relay ของผม — สร้าง channel ได้ ทำงานต่อได้ แต่ถ้าไปที่ 138 00:12:26,713 --> 00:12:31,660 community ที่ Block โฮสต์ไว้ — ชื่อ "Asian Garage" 139 00:12:31,660 --> 00:12:37,003 — จะเห็นว่า "can't reach the relay" — ไม่เชื่อมต่อแล้ว 140 00:12:37,003 --> 00:12:42,148 ถ้าลองสร้าง channel ใหม่ — "relay unreachable, could 141 00:12:42,148 --> 00:12:48,085 not connect to the relay" นี่คือความแตกต่างที่ใหญ่มากระหว่าง 142 00:12:48,085 --> 00:12:56,297 community relay แบบโฮสต์ให้ กับแบบโฮสต์เองครับ อีกวิธีที่คุณดูได้ว่าเกิดอะไรขึ้นคือ 143 00:12:56,297 --> 00:13:01,739 — ตอนนี้ทุกอย่างรันโลคอล — คุณเช็คได้จากพอร์ตโลคอลต่างๆ 144 00:13:01,739 --> 00:13:06,983 ครับ (อาจต่างกันไปตามการตั้งค่า) ถ้าไปที่ **Adminer** 145 00:13:06,983 --> 00:13:12,919 (เครื่องมือจัดการฐานข้อมูลผ่านเว็บ) — ไปที่ `localhost:8080` 146 00:13:12,919 --> 00:13:17,767 — จะเจอหน้า login: - Username: `buzz` - Password: 147 00:13:17,767 --> 00:13:22,912 อันที่คุณตั้งไว้ในไฟล์ ENV variables สำหรับ Postgres 148 00:13:22,912 --> 00:13:28,453 - Database: `buzz` (ถ้าคุณตั้งชื่อนั้น) ทั้งหมดนี้อยู่ใน 149 00:13:28,453 --> 00:13:33,301 Postgres ครับ — login เข้าไปแล้วคุณจะเห็นทุกอย่าง 150 00:13:33,301 --> 00:13:38,347 ดู channels — นี่คือข้อมูลทั้งหมดที่วิ่งผ่าน Docker 151 00:13:38,347 --> 00:13:43,195 ของคุณแบบโลคอลครับ — เป็นข้อมูลที่เมื่อก่อน Block 152 00:13:43,195 --> 00:13:47,945 เป็นคนโฮสต์ให้ ตอนนี้คุณเห็นทุกอย่างเลย: channel 153 00:13:47,945 --> 00:13:52,595 IDs, visibility, descriptions... ดู Events — มี 154 00:13:52,595 --> 00:13:57,245 JSON เยอะมาก แต่นี่คือ events ต่างๆ ที่เกิดขึ้น 155 00:13:57,245 --> 00:14:01,994 — ดูนี่: ชื่อ Git repo, repo สำหรับโปรเจกต์ "the 156 00:14:01,994 --> 00:14:08,722 lab" — ทั้งหมดเก็บอยู่โลคอลครับ เป็น dashboard ให้คุณดูข้อมูลทั้งหมด 157 00:14:08,722 --> 00:14:13,669 — เป็นอีกวิธีตรวจสอบข้อมูลของคุณ **MinIO console** 158 00:14:13,669 --> 00:14:18,814 — สำหรับ heavy bytes — พวก media ที่อัปโหลด — events 159 00:14:18,814 --> 00:14:26,433 พวกนั้นจะอยู่ที่นี่ครับ นั่นก็ประมาณนี้ครับ — ผมรู้ว่ามันอาจดูน่ากลัวนิดหน่อย 160 00:14:26,433 --> 00:14:31,578 และเพราะ Buzz ยังอยู่ในช่วงแรกๆ มันก็เลยอาจจะ tricky 161 00:14:31,578 --> 00:14:36,426 และ buggy นิดหน่อย ผมเลยเพิ่ม **Buzz self-hosting 162 00:14:36,426 --> 00:14:43,550 skill** ลงใน Buzz skills repo ของผม — มันเป็นไกด์ที่เขียนโดยเอเจนต์ของผม 163 00:14:43,550 --> 00:14:48,893 จากประสบการณ์ที่ผมลองทำ self-hosting แล้วเจอปัญหาต่างๆ 164 00:14:48,893 --> 00:14:55,621 — มีขั้นตอนการตั้งค่าทั้งหมด คุณแค่ส่งให้เอเจนต์ของคุณช่วยตั้งค่าให้ 165 00:14:55,621 --> 00:15:02,744 มันไม่ใช่แค่ไกด์เป๊ะๆ แต่มันรวม issues ที่คุณและเอเจนต์อาจจะเจอระหว่างทำ 166 00:15:02,744 --> 00:15:12,045 มีพวก Windows-specific ด้วย — มันจะช่วยให้คุณไม่ต้องเจอข้อผิดพลาดแบบที่ผมเจอตอนลองครั้งแรกครับ 167 00:15:12,045 --> 00:15:18,476 จบวิดีโอนี้แล้วนะครับ — หวังว่าคุณจะสนุกนะครับ คอมเมนต์ได้เลยครับ 168 00:15:18,476 --> 00:15:23,126 ถามคำถามเกี่ยวกับ self-hosting relays หรือ Buzz 169 00:15:23,126 --> 00:15:25,600 ได้เลย ขอบคุณที่รับชมครับ