วิธีการติดตั้ง Cloudflare Tunnel

เมื่อประมาณปีที่แล้ว (2021) ได้เขียนวิธีติดตั้ง Cloudflare Tunnel เพื่อจะใช้งานบน Raspberry Pi 4 ปัจจุบันได้มีโอกาสติดตั้งใหม่อีกครั้ง ปรากฏว่าวิธีการติดตั้งมันเปลี่ยนแปลงไปนิดหน่อย ก็เลยถือโอกาสเขียนบทความใหม่ ลองใช้งาน Cloudflare Argo Tunnel วิธีติดตั้ง Cloudflare Tunnel ทำการ download package cloudflare สำหรับ raspberry pi ( อ่านเพิ่มเติม ) wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm -O cloudflared sudo chmod +x cloudflared ./cloudflared version เมื่อเราใช้คำสั่ง ./cloudflared version จะมีข้อความ *cloudflared version 2022.5.3 (built 2022-05-30-1517 UTC) *แสดงว่าพร้อมใช้งานแล้ว ส่วนการใช้งาน login, create, run สามารถอ่านจากบทความเก่าได้เลย วิธีการจะเหมือนเดิม วิธีติดตั้ง Cloudflare Tunnel Service สำหรับวิธีติดตั้งแบบ service เพื่อความสะดวก กรณี restart raspberry pi ก็ไม่จำเป็นต้องมา ./cloudflared tunnel run ใหม่อีกครั้ง ( อ่านเพิ่มเติม ) ...

June 15, 2022 · 1 min · Teera

มาสร้าง RTSP Stream Proxy ใช้งานกันเถอะ

ขอเล่าเหตุการณ์ที่มาของ Stream proxy server ก่อนนะ ได้ซื้อกล้อง IP Camera มาใหม่ TP-Link Tapo C200 โดยเจ้าตัวกล้อง support rtsp ซึ่งตรงกับความต้องการ ความคมชัด 1080P ราคาไม่แพงมาก ตัวกล้องจะมี rtps มาให้ 2 stream high: rtsp://IP Address/stream1 low: rtsp:// IP Address/stream2 ซึ่งก็ดูเหมือนจะเพียงพอใช่ไหม แต่ๆปัญหาคือ ถ้าเราจะใช้งาน high stream มากกว่า 1 client ตัวกล้องไม่ยอมให้ใช้งาน ตัวอย่างเช่น client 1: สำหรับ NVR เพื่อบันทึกเหตุการณ์ต่างๆ 24 ชั่วโมง client 2: สำหรับ Home Assistant เพื่อทำระบบ automation แจ้งเตือน พอมองเห็นปัญหาแล้วใช่ไหม? RTSP stream proxy server สามารถแก้ไขเรื่องนี้ได้ ยังไง? จากรูปด้านบน proxy server จะทำหน้าสร้าง connection ให้แก่ client ต่างๆ ให้มากกว่า 1 connection ...

June 3, 2022 · 1 min · Teera

update docker image ให้ใหม่สดอยู่เสมอ

เมื่อเรามีจำนวน docker container จำนวนเยอะๆ การที่เราต้องมาคอย pull latest image แต่ละ container ค่อนข้างเสียเวลามาก อีกทั้งเราก็ไม่สามารถรู้ล่วงหน้าว่า เมื่อไหร่ image จะมีการ update เป็นเวอร์ชั่นใหม่ แต่ถ้าเราสามารถ automation update docker image ทุกๆ container ของเราชีวิตมันก็คงจะง่ายขึ้นเนอะ ** คำเตือน การตั้ง automation update อาจจะส่งเสียต่อ *container ของท่านได้ กรณีเวอร์ชั่นใหม่มี bug ค่อนข้างเยอะ หรือไม่ support ต่อระบบของท่าน เพราะฉนั้นกรุณาทำระบบ monitoring อย่างแข็งแรง! Watchtower คือ “หอสังเกตการณ์” 555+ อันนั้นก็ตรงตัวไป ถ้าอธิบายง่ายๆก็คือ docker container ตัวนึงที่จะคอยตรวจสอบ docker image ถ้าเจอมีการ update version ก็จะทำการ pull image จากนั้น restart container ให้เราทันที ฟังแล้วชีวิตง่ายขึ้นมาก ( อ่านเพิ่มเติม ) เริ่มติดตั้ง Watchtower สำหรับการติดตั้ง watchtower สามารถทำได้ทั้งแบบ docker run หรือ docker-compose แต่สำหรับวันนี้ผมจะใช้วิธี docker-compose โดยสร้าง stack ผ่านทาง portainer ...

July 2, 2021 · 1 min · Teera

แก้ปัญหา docker stats ไม่แสดงผล memory usage

ตอนนี้ใช้งาน raspberry pi 4 สำหรับ run docker ซึ่งก็มีจำนวน container ทำงานอยู่พอสมควร เพราะคิดว่าซื้อมาแล้ว ต้องใช้งานให้มันคุ้มค่าซิ! แต่เมื่อ container เริ่มเยอะ เครื่องมันก็จะเริ่มช้า! เราก็เลยอยากรู้ว่า container ตัวไหนใช้งาน cpu หรือ memory เยอะผิดปกติ ซึ่งเราสามารถใช้คำสั่ง docker stats docker stats ไม่แสดงผล memory usage อย่างที่เห็นดังรูปข้างบน MEM USAGE / LIMIT และ MEM % จะไม่แสดงผล ก็เลยไปลองหาข้อมูลจนเจอวิธีแก้ปัญหาดังกล่าว เลยคิดว่านำมาแชร์ เพื่อจะเป็นประโยชน์ วิธีแก้ปัญหา ทำการ backup cmdline.txt ไว้ก่อนเลย เผื่อมีอะไรผิดพลาด จากนั้นเข้าไปแก้ไขไฟล์ cmdline.txt ได้เลย sudo cp /boot/cmdline.txt /boot/cmdline.txt.old sudo nano /boot/cmdline.txt เมื่อเข้าไปในไฟล์ cmdline.txt เราจะเจอแบบข้างล่าง console=serial0,115200 console=tty1 root=PARTUUID=eb9dd260-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait ทำการแก้ไข โดยเพิ่มคำสั่ง cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory ต่อท้าย rootwait ...

May 12, 2021 · 1 min · Teera

ลองใช้งาน Cloudflare Argo Tunnel

หลังจาก Cloudflare ประกาศให้ใช้งาน Argo Tunnel แบบฟรี! ตอนแรกอ่านข่าวจาก blognone ก็ไม่รู้หรอกว่ามันคืออะไร แต่พอได้อ่านรายละเอียดแบบคร่าวๆ ทำให้เข้าใจได้ว่า มันคือบริการที่จะทำให้ Server ของเราออกสู่อินเทอร์เน็ตได้โดยไม่ต้องมี Public IP ต้องเล่าย้อนกลับไปก่อนว่า host teeratech นั่นทำงานอยู่บน raspberry pi 4 ซึ่งวางอยู่ที่บ้าน โดยใช้งานผ่าน true internet จากนั้นใช้วิธี forward port router ออกไปเพื่อจะใช้งานกับ cloudflare ซึ่งทำการผูก domain ไว้เรียบร้อยแล้ว teetech version เก่า แต่เมื่อมี Argo Tunnel ให้ใช้งานแบบฟรีๆ ก็ไม่รอช้าที่จะเปลี่ยนไปใช้ทันที ซึ่งตอนนี้ตัวเว็บ teetatech ก็ทำงานผ่านทาง Argo Tunnel ซึ่งยังคง run อยู่บน raspberry pi 4 เหมือนเดิม สิ่งจำเป็นต้องมีก่อนการใช้งาน Argo Tunnel Domain ซึ่งเป็นโดเมนที่เปลี่ยน nameservers ไปใช้งาน cloudflare เรียบร้อยแล้ว ( รายละเอียด ) Client หรือ Server สำหรับ Install cloudflared ซึ่งผมจะใช้เป็น raspberry pi 4 ( รายละเอียด ) เริ่มขั้นตอนใช้งาน Argo Tunnel ...

May 1, 2021 · 2 min · Teera