13 มิถุนายน 2026

คู่มือ Deploy LiveKit Server บน Ubuntu สำหรับ Production

1_O8qUvKq-0BZYPa14ydUf1A copy

อ้างอิง


13. ติดตั้ง LiveKit แบบ Production

หลังจากทดสอบด้วย

livekit-server --dev

จนสามารถใช้งานได้แล้ว ควรเปลี่ยนมาใช้ Production Mode


13.1 สร้าง API Key และ Secret

ไม่ควรใช้

devkey
secret

ใน Production

สร้าง Secret ใหม่

openssl rand -base64 32

ตัวอย่าง

API Key    : telemed_prod
API Secret : 2O3nT6gJgW9fEw6P2m7rQ4...

13.2 สร้าง Config สำหรับ Production

สร้างไฟล์

sudo mkdir -p /etc/livekit
sudo nano /etc/livekit/livekit.yaml

ตัวอย่าง

port: 7880

rtc:
  tcp_port: 7881
  use_external_ip: true

keys:
  telemed_prod: "YOUR_SECRET"

logging:
  level: info

13.3 ทดสอบ Config

livekit-server --config /etc/livekit/livekit.yaml

ตรวจสอบ

curl http://127.0.0.1:7880

ผลลัพธ์

{"status":"OK"}

14. สร้าง Systemd Service

เพื่อให้ LiveKit ทำงานอัตโนมัติเมื่อเครื่อง Boot

สร้างไฟล์

sudo nano /etc/systemd/system/livekit.service

ใส่ข้อมูล

[Unit]
Description=LiveKit Server
After=network.target

[Service]
Type=simple

User=root
Group=root

ExecStart=/usr/local/bin/livekit-server \
  --config /etc/livekit/livekit.yaml

Restart=always
RestartSec=5

LimitNOFILE=65535

[Install]
WantedBy=multi-user.target

บันทึกไฟล์


15. เปิดใช้งาน Service

Reload Systemd

sudo systemctl daemon-reload

Enable ให้เริ่มอัตโนมัติหลัง Boot

sudo systemctl enable livekit

เริ่ม Service

sudo systemctl start livekit

ตรวจสอบสถานะ

sudo systemctl status livekit

ควรพบ

Active: active (running)

16. คำสั่งจัดการ Service

เริ่ม Service

sudo systemctl start livekit

หยุด Service

sudo systemctl stop livekit

Restart Service

sudo systemctl restart livekit

Reload Config (ถ้ารองรับ)

sudo systemctl reload livekit

ตรวจสอบสถานะ

sudo systemctl status livekit

ตรวจสอบการเริ่มอัตโนมัติ

sudo systemctl is-enabled livekit

ปิดการเริ่มอัตโนมัติ

sudo systemctl disable livekit

17. ดู Log ของ LiveKit

ดู Log แบบ Real-Time

sudo journalctl -u livekit -f

ดู Log ล่าสุด

sudo journalctl -u livekit -n 100

ดู Log ตั้งแต่ Boot ล่าสุด

sudo journalctl -u livekit -b

18. ตรวจสอบ Port

ตรวจสอบว่า LiveKit เปิด Port แล้ว

sudo ss -lntup | grep livekit

หรือ

sudo ss -lntup | grep -E '7880|7881'

ควรพบ

*:7880
*:7881

19. Firewall สำหรับ Production

Ubuntu UFW

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 7881/tcp
sudo ufw allow 50000:60000/udp

ตรวจสอบ

sudo ufw status

20. Cloud Firewall

หากใช้งาน VPS ควรตรวจสอบ Cloud Firewall ของผู้ให้บริการด้วย

เปิดพอร์ต

80/TCP
443/TCP
7881/TCP
50000-60000/UDP

ตัวอย่างผู้ให้บริการ


21. ตรวจสอบหลัง Restart Server

Restart เครื่อง

sudo reboot

หลังเครื่องกลับมา

ตรวจสอบ

sudo systemctl status livekit

และ

curl http://127.0.0.1:7880

ควรได้

{"status":"OK"}

22. ตรวจสอบ Reverse Proxy

ทดสอบจากภายนอก

curl -vk https://video.example.com

ควรได้

OK

หรือ

{"status":"OK"}

23. ทดสอบ Production ด้วย LiveKit Connection Test

เปิด

https://livekit.com/webrtc/connection-test

กำหนด

LiveKit URL:
wss://video.example.com

ผลลัพธ์ควรผ่านทุกหัวข้อ

Connecting to signal connection via WebSocket
PASS

Establishing WebRTC connection
PASS

Can connect via TURN
PASS

Can publish audio
PASS

Can publish video
PASS

24. ข้อแนะนำสำหรับ Telemedicine

สำหรับระบบ Telemedicine

สถาปัตยกรรมที่แนะนำ

Internet
    │
    ▼
Apache + SSL
    │
    ▼
LiveKit Server
    │
    ▼
ASP.NET Core API
    │
    ▼
MariaDB / MySQL

โดย

  • ASP.NET Core เป็นผู้สร้าง Access Token
  • .NET MAUI App เชื่อมต่อ LiveKit โดยตรง
  • Web App แพทย์เชื่อมต่อ LiveKit โดยตรง
  • ใช้ HTTPS และ WSS เท่านั้น
  • ไม่ควรเปิด Port 7880 ออก Internet โดยตรง
  • ให้ Apache Reverse Proxy เป็นผู้รับ HTTPS จากภายนอก

25. รายการตรวจสอบก่อนใช้งานจริง (Production Checklist)

✅ Domain Name ทำงานปกติ

✅ SSL Certificate ถูกต้อง

✅ Apache Reverse Proxy ทำงาน

✅ WebSocket Upgrade ทำงาน

✅ LiveKit Service ทำงานผ่าน Systemd

✅ Auto Start หลัง Boot

✅ Port 443 เปิดใช้งาน

✅ Port 7881 เปิดใช้งาน

✅ Port 50000-60000/UDP เปิดใช้งาน

✅ ทดสอบผ่าน LiveKit Connection Test

✅ ทดสอบ Video Call จริงจากเครือข่ายภายนอก

✅ เปลี่ยน API Secret จากค่า Default แล้ว

✅ เก็บ API Secret ไว้นอก Source Code