feat(livekit): add service

This commit is contained in:
2026-03-03 15:57:57 +03:00
committed by alex-chevski
parent e42992f982
commit ba0b4268cd
11 changed files with 266 additions and 177 deletions

View File

@@ -23,6 +23,8 @@ services:
networks:
- ns-eatvio
restart: always
labels:
- "traefik.enable=false"
mysql:
image: "mysql:8.0"
@@ -37,6 +39,7 @@ services:
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
TZ: "Evrope/Moscow"
ports:
- "1094:3306"
labels:
@@ -71,7 +74,7 @@ services:
working_dir: /application
environment:
- TZ=Europe/Moscow
- CHOKIDAR_USEPOLLING=true
#- CHOKIDAR_USEPOLLING=true
networks:
- ns-eatvio
volumes:
@@ -119,7 +122,7 @@ services:
labels:
- "traefik.docker.network=web"
- "traefik.enable=true"
- "traefik.frontend.rule=Host:dev2.eatvio.com,socket.eatvio.com"
- "traefik.frontend.rule=Host:wstesting.eatv.io,testing.eatv.io"
- "traefik.port=80"
- "traefik.protocol=http"
@@ -131,24 +134,80 @@ services:
- ns-eatvio
typesense:
image: typesense/typesense:29.0
build: ./phpdocker/typesense
restart: always
healthcheck:
test:
- CMD
- wget
- "--no-verbose"
- "--spider"
- "http://localhost:8108/health"
test: ["CMD", "curl", "-f", "http://localhost:8108/health"]
networks:
- ns-eatvio
volumes:
- ./typesense-data:/data
command: "--data-dir /data --api-key=typesense --enable-cors"
livekit-redis:
image: redis:7-alpine
command:
[
"redis-server",
"--appendonly",
"no",
"--maxmemory",
"500mb",
"--maxmemory-policy",
"allkeys-lru",
]
networks:
- ns-eatvio
volumes:
- livekit_redis_data:/data
restart: always
labels:
- "traefik.enable=false"
livekit:
image: livekit/livekit-server:latest
depends_on:
- livekit-redis
networks:
- ns-eatvio
- web
ports:
- "${LIVEKIT_PORT:-7880}:7880"
- "${LIVEKIT_RTC_TCP_PORT:-7881}:7881"
- "50000-50100:50000-50100/udp"
- "${LIVEKIT_TURN_UDP_PORT:-3478}:3478/udp"
environment:
LIVEKIT_CONFIG: |
port: 7880
log_level: info
rtc:
tcp_port: 7881
port_range_start: 50000
port_range_end: 50100
use_external_ip: true
redis:
address: livekit-redis:6379
keys:
${LIVEKIT_API_KEY}: ${LIVEKIT_API_SECRET}
turn:
enabled: true
domain: ${LIVEKIT_TURN_DOMAIN}
udp_port: 3478
# tls_port: 5349
restart: always
labels:
- "traefik.docker.network=web"
- "traefik.enable=true"
- "traefik.frontend.rule=Host:turn.eatv.io,livekit.eatv.io"
- "traefik.port=${LIVEKIT_PORT:-7880}"
- "traefik.protocol=http"
networks:
web:
external: true
ns-eatvio:
external: false
volumes:
livekit_redis_data: