# تشغيل LiveKit Self-Hosted

هذه الإضافة لا تستخدم LiveKit Cloud. السيرفر الصوتي LiveKit يعمل على VPS الخاص بك.
لا يوجد حد دقائق من LiveKit Cloud؛ الحد العملي هو CPU/RAM/network والباندويث الخاص بالـVPS.

## 1) DNS
أنشئ سجل A:
voice.example.com -> IP السيرفر

## 2) ثبّت Docker + Redis + LiveKit
يوجد docker-compose.yml جاهز هنا.

قبل التشغيل افتح livekit.yaml:
- API_KEY = نفس api_key الموجود في:
  addons/voice_seats/system/livekit_config.php
- API_SECRET = نفس api_secret.
- اترك port_range_start/end كما هي، وافتح UDP 50000:60000.
- افتح TCP 7881 وUDP 3478.

## 3) HTTPS/WSS
LiveKit يحتاج اتصالًا آمنًا في الإنتاج.
استخدم Caddy أو Nginx أمام 7880، ثم ضع:
wss://voice.example.com
في إعدادات الإضافة.

Caddyfile.example يعطيك أبسط إعداد مع Caddy.

## 4) تشغيل
داخل هذا المجلد:
docker compose up -d

تحقق:
docker compose ps
docker compose logs --tail=100 livekit

## 5) الجدار الناري
افتح:
80/tcp
443/tcp
7881/tcp
3478/udp
50000-60000/udp

ملاحظة: LiveKit يستخدم WebRTC عبر UDP أساسًا، لذلك فتح نطاق UDP مهم للأداء والاتصال.

## ملاحظات
- الـAPI Secret لا يوضع أبدًا في JavaScript أو HTML.
- الإضافة تولّد API key/secret عند تركيبها وتحفظهما server-side.
- إذا غيّرت المفتاح/السر في LiveKit، غيّرهما أيضًا من إعدادات الإضافة.
- لا يوجد "سقف دقائق" من LiveKit نفسه عند self-hosting، لكن VPS نفسه له موارد وحدود شبكة من شركة الاستضافة.
