เหตุผลที่เริ่มทำโฮมเซิร์ฟเวอร์
- การตั้งค่าเริ่มต้น: ตอนแรกผมซื้อมินิพีซีที่ใช้ CPU Intel N100 จาก AliExpress แล้วใช้เราเตอร์ ASUS ตั้งค่า port forwarding และ DDNS เพื่อรันโฮมเซิร์ฟเวอร์
- ปัญหาระหว่างการใช้งาน: มีปัญหาที่ไม่คาดคิดทำให้บางครั้งเข้าใช้งานไม่ได้ จึงย้ายเว็บไซต์ TSBOARD ไปใช้เว็บโฮสติ้งเพื่อให้บริการได้เสถียรมากขึ้น
- สถานะปัจจุบัน: แม้ TSBOARD จะย้ายไปอยู่กับผู้ให้บริการโฮสติ้งแล้ว แต่คอมมูนิตี้ภาพถ่ายที่ผมดูแลยังคงรันอยู่บนโฮมเซิร์ฟเวอร์ที่ทำจากมินิพีซี
เหตุผลที่เลือกมินิพีซี
- ประสิทธิภาพและราคา: มินิพีซีใช้ CPU ประหยัดพลังงานและมีขนาดเล็ก ทำให้คุ้มค่ามาก ผมเคยใช้ Beelink MINI S12 PRO และภายหลังก็อัปเกรดเป็นรุ่นสเปกสูงที่ใช้ RYZEN ของ Genmachine
- เหมาะกับการทำโฮมเซิร์ฟเวอร์: ตัวเครื่องเล็กและกินไฟน้อย จึงเหมาะกับการเปิดใช้งานตลอด 24 ชั่วโมง ผมติดตั้ง Ubuntu Server แล้วใช้งานได้ดีทั้งเพื่อการพัฒนาและการให้บริการจริง
วิธีตั้งค่าโฮมเซิร์ฟเวอร์
- ซื้อโดเมน (เช่นจาก Namecheap) แล้วเชื่อมโดเมน DDNS ด้วย CNAME
- ตั้งค่า port forwarding บนเราเตอร์เพื่อส่งพอร์ต 80 และ 443 ไปยังมินิพีซี
- คำแนะนำเรื่อง DDNS: การใช้บริการ DDNS ของผู้ผลิตเราเตอร์จะสะดวก แต่ก็อาจมีปัญหาการเข้าถึงได้ ผมใช้เราเตอร์ ASUS จึงใช้ ASUS DDNS และก็มีอาการขัดข้องเป็นครั้งคราว
ความยากของการดูแลโฮมเซิร์ฟเวอร์
- ปัญหาไฟฟ้าและฮาร์ดแวร์: ไฟดับหรือเราเตอร์มีปัญหาอาจทำให้บริการหยุดลง และตอนกู้คืนก็มีความเสี่ยงที่ข้อมูลจะเสียหายได้ (สำรองข้อมูลบ่อย ๆ ไว้นะครับ!)
- การแก้ปัญหา: ปัญหาการเข้าถึง DDNS หรือปัญหาเครือข่ายทำให้ต้องคอยแก้เหตุขัดข้องที่ไม่คาดคิดอยู่บ่อยครั้ง
ข้อดีของการทำโฮมเซิร์ฟเวอร์
- ต้นทุนต่ำ: มินิพีซีช่วยให้ได้ประสิทธิภาพสูงในต้นทุนที่ค่อนข้างต่ำ โดยเฉพาะเมื่อใช้กับสตอเรจขนาดใหญ่
- ตั้งค่าได้อย่างอิสระ: ผู้ใช้สามารถเลือก Linux distribution หรือไลบรารีที่ต้องการได้อย่างอิสระ
- ใช้งานได้หลากหลาย: สามารถติดตั้ง code-server เพื่อเขียนโค้ดจากภายนอกได้ และยังใช้เป็นเซิร์ฟเวอร์สำหรับงานพัฒนาส่วนตัวได้ด้วย
อยากชวนให้ลองทำโฮมเซิร์ฟเวอร์ด้วยมินิพีซี
- โฮมเซิร์ฟเวอร์อาจดูซับซ้อนในตอนแรก แต่การเริ่มต้นไม่ได้ยากมาก และการเรียนรู้ผ่านการแก้ปัญหาจะช่วยให้ได้ความรู้ที่วันหนึ่งอาจนำไปใช้ประโยชน์ได้
- เหมาะมากสำหรับการเริ่มต้นแบบเล็ก ๆ หากเริ่มกังวลเรื่องความปลอดภัยหรือมีความต้องการลดปัญหาการเข้าใช้งานให้ชัดเจนขึ้น ค่อยย้ายไปยังสภาพแวดล้อมที่เสถียรกว่าก็ยังไม่สาย
- กรณีศึกษาที่คุณ K League Programmer แชร์ไว้ใน GeekNights ช่วยผมได้มากทีเดียว (https://th.news.hada.io/topic?id=18274)
24 ความคิดเห็น
ผมต้องการประสิทธิภาพที่ดีกว่านี้อีกหน่อย
เลยซื้อมือสอง m1 Mac mini มาใช้เป็นโฮมเซิร์ฟเวอร์อยู่
และพอใจมากเลยครับ
ด้วยประสบการณ์ที่ทุกคนฝากไว้ที่นี่ ทำให้ผมเองก็มีหลายอย่างที่อยากลองนำไปใช้ดูเหมือนกัน ขอบคุณครับ
ผมใช้เครื่องมือและสคริปต์ ddns เพื่อให้อัปเดต DNS ผ่าน Cloudflare API เมื่อมีการตรวจจับการเปลี่ยนแปลงของ IP ซึ่งอันนี้ก็ค่อนข้างดีทีเดียวครับ พวก Ngrok, Cloudflare Tunnel เป็นต้น จะต้องผ่านเซิร์ฟเวอร์ตัวกลาง เลยมีข้อจำกัดทั้งด้านความเร็วในการตอบสนองและแบนด์วิดท์ แต่กรณีแบบนี้ไม่ใช่โครงสร้างที่ต้องผ่านเซิร์ฟเวอร์ตัวกลาง จึงถือว่าโอเคครับ เพียงแต่มีข้อเสียคือต้องต่อเข้ากับสวิตช์ที่อยู่หน้าเราเตอร์เพื่อให้ได้รับ Public IP โดยตรง
ช่วงนี้ผมก็สนใจโฮมเซิร์ฟเวอร์เหมือนกัน และรู้สึกว่าได้ข้อมูลอ้างอิงจากโพสต์นี้เยอะมากครับ ขอบคุณครับ
ถ้าไม่มีปัญหาขัดข้องมาหลายเดือนแล้วและเซิร์ฟเวอร์ยังทำงานได้ปกติดี ปกติคุณทำงานอย่าง IPL (รีบูตเซิร์ฟเวอร์) เป็นระยะ ๆ ไหมครับ??
ผมสงสัยว่าพวกงานอย่างการอัปเดต OS ก็น่าจะจำเป็นเหมือนกัน เลยอยากรู้ว่าคุณมีรอบเวลาจัดการแยกไว้ต่างหากไหมครับ
จริง ๆ ก็คงแค่กำหนดตารางแล้วทำไปก็น่าจะได้แหละนะครับ 555
สวัสดีครับ! จริง ๆ แล้วในกรณีของผม บริการก็ไม่ได้ดังขนาดนั้นและก็ไม่ได้มีทราฟฟิกมากนัก เลยอัปเดตและรีสตาร์ตได้แทบทุกเมื่อ (... ) แต่โดยปกติก็มักจะทำงานอัปเดตเล็ก ๆ น้อย ๆ ในช่วงดึกครับ ล่าสุดตอนอัปเกรดจาก Ubuntu 22.04 เป็น 24.04 ก็น่าจะทำในช่วงสุดสัปดาห์...!
ตอนนี้บริการยังไม่ค่อยเป็นที่รู้จักและใช้งานหลัก ๆ เพื่อการพัฒนาอยู่ด้วย เลยพอทำแบบนี้ได้ แต่ถ้าในอนาคตมีผู้ใช้มากขึ้นหรือความสำคัญของการทำงาน 24h เพิ่มขึ้น ก็คงจะบริหารแบบลุย ๆ แบบนี้ต่อไปได้ยาก และตอนนั้นก็น่าจะต้องเลิกใช้โฮมเซิร์ฟเวอร์แล้วล่ะครับ... แต่จะเป็นเมื่อไรก็ไม่รู้เหมือนกัน ฮ่า ๆ ๆ
ผมเคยรัน Raspberry Pi ที่บ้าน แต่ตอนนี้ใช้ free tier arm VM ที่ Oracle ให้บริการมาหลายปีแล้วอย่างไม่มีปัญหา..หวังว่าจะไม่หายไปนะ ....
ได้ยินมาว่า Oracle VM คุ้มมากมาตลอดเลย เลยเริ่มสงสัยขึ้นมาเหมือนกันครับ จังหวะนี้ผมเองก็ชักอยากลองชิมลางดูสักหน่อยเหมือนกัน 555
ตอนนี้ใช้งาน CI/CD ที่เชื่อมกับ GitHub และ self-hosting ผ่าน coolify อยู่ครับ ส่วน DDNS ก็ใช้ Cloudflare container และทุกครั้งที่ลงทะเบียนโดเมนใหม่ก็จะเพิ่มเข้าไปแบบแมนนวลแล้ว reload ก็ใช้งานเพิ่มได้ครับ..
ถ้ายังกังวลมาก ลองพิจารณาใช้ dnsever ที่ผู้ให้บริการในประเทศให้บริการอยู่ก็น่าจะดีครับ ผมใช้มานานเกิน 10 ปีแล้วและไม่เคยมีปัญหาเลย
ว้าว ทุกคนใช้งานกันได้หลากหลายวิธีจริง ๆ เลยนะครับ/ค่ะ!! ผม/ฉันได้เรียนรู้อะไรมากมายจากข้อมูลที่ทุกคนบอกกันมาในคอมเมนต์ ขอบคุณมากครับ/ค่ะที่ช่วยแชร์!!
ปัญหาเรื่องจำนวน public IP มักเป็นประเด็นอยู่เสมอ แต่ภายใต้สมมติฐานว่าไม่ได้ใช้งานเชิงพาณิชย์
จากประสบการณ์ของผม ในกรณีข้อ 1 จะมีบางส่วนที่ต้องตั้งค่าเพิ่มบนคลาวด์คอมพิวติ้งอินสแตนซ์ตามแอปพลิเคชันหรือโครงสร้างอินฟราที่ใช้ และก็จะมีค่าใช้จ่ายเพิ่มขึ้นเล็กน้อย
ขอทิ้งข้อมูลอ้างอิงเกี่ยวกับแบนด์วิดท์ไว้ครับ โดยส่วนตัวตอนทดสอบสามารถรองรับการใช้งานเต็มโหลดระดับ 1Gbps ได้สบาย และตามบล็อกเทคนิคของพวกเขาระบุว่าไปได้ถึงราว 5Gbps แบบไม่มีปัญหา (https://tailscale.com/blog/more-throughput) ถ้าเป็นเครือข่ายกิกะบิตในบ้านทั่วไป ก็ไม่มีคอขวดด้านแบนด์วิดท์ครับ
ผมก็ใช้ mini PC รุ่น n100 รัน Proxmox แล้วก็ลองรันนั่นรันนี่เล่นอยู่เหมือนกันครับ
ยินดีที่ได้รู้จักครับ 555 จาก
n100ตอนนี้ขยับไปใช้สเปกที่สูงขึ้นอีกหน่อยแล้ว แต่ก็ยังจำได้ไม่ลืมถึงความคุ้มค่าและประสิทธิภาพต่อพลังงานของn100!!ผมต่อ Synology เข้ากับ UPS แล้วใช้งานเป็นโฮมเซิร์ฟเวอร์อยู่ ใช้งานได้ดีมากครับ~
น่าทึ่งมากที่คุณถึงกับต่อใช้งานกับ UPS เลยนะครับ โอ้โห แบบนี้ไฟดับก็คงไม่มีปัญหาแล้ว!
ผมจัดการโฮมเซิร์ฟเวอร์ด้วยมินิพีซี โดยไม่ต้องมี DDNS แยกต่างหาก ใช้ Tailscale แก้ปัญหาไฟร์วอลล์ การสร้าง Mesh VPN และปัญหาเอนด์พอยต์ได้อย่างมีประสิทธิภาพ ตอนนี้ผมเชื่อมต่อใช้งานทั้งในประเทศและต่างประเทศมาได้หลายปีแล้วโดยไม่มีปัญหา ถ้าใช้เพื่อการพัฒนาและใช้งานส่วนตัว แนะนำอย่างยิ่ง แต่ถ้าต้องการ public deploy สำหรับให้คนจำนวนมากที่ไม่ระบุแน่ชัดเข้ามาใช้งานในลักษณะบริการ โปรดทราบว่ามีข้อจำกัดด้านแบนด์วิดท์
ขอบคุณสำหรับคำแนะนำจากทุกท่าน ทำให้ผมรู้สึกว่ายังมีอีกหลายอย่างที่ต้องเรียนรู้ใหม่! ขอบคุณที่แบ่งปันรายละเอียดด้วยครับ!
หากใช้ Route53 ของ AWS ก็สามารถแก้ไขระเบียน DNS ด้วยสคริปต์ได้โดยไม่ต้องใช้บริการ DDNS แยกต่างหาก
ผมใช้
ddns.pyจากลิงก์ที่ 2https://7span.com/blog/dynamic-dns-with-aws-route-53?form=MG0AV3
https://github.com/nishant-p-7span/Dynamic-DNS/…--------------------------------
ผมก็ใช้งานแบบนี้อยู่เหมือนกันครับ! ยินดีที่ได้เจอกัน :)
โอ้ ข้อมูลดีแบบนี้...! ขอบคุณครับ!
เราเตอร์ ASUS ดูเหมือนจะมีปัญหาเรื่อง DDNS นะครับ ผมเคยใช้มาก่อน แล้วก็เจอว่า Wi‑Fi ไม่เสถียรด้วย สุดท้ายเลยเปลี่ยนครับ
จริงครับ ตอนแรกผมก็ไม่ค่อยรู้เรื่องปัญหา DDNS เท่าไหร่ แต่พอลองรันโฮมเซิร์ฟเวอร์จริง ๆ แล้วพบว่าปัญหาค่อนข้างร้ายแรงเลยครับ ผมเองก็คงต้องถือโอกาสนี้เปลี่ยนเหมือนกันครับ
ช่วงนี้ผมทำโฮมเซิร์ฟเวอร์จากโน้ตบุ๊กที่ไม่ได้ใช้แล้ว โดยไม่ใช้ ddns แต่ใช้ cloudflare tunnel แทนครับ ยังไม่ได้ทดสอบว่ารองรับทราฟฟิกได้มากพอไหม แต่ถ้าสนใจก็แนะนำให้ลองทำดูครับ :)
เดิมทีก็เคยเครียดกับ ASUS DDNS อยู่บ้างเหมือนกัน แบบนี้ก็จะลองท้าทายดูครับ ขอบคุณที่บอกนะครับ!!