# Docker Compose - Matrix RTC (LiveKit SFU + lk-jwt-service) para uso com o TatuChat # Instalação personalizada (Custom Install) no CasaOS. # # Pré-requisitos / passos depois de subir: # 1) NPM (Nginx Proxy Manager) - criar 2 hosts novos: # - lk.weltonmoura.com.br -> http://:7880 (ativar "Websockets Support") # - rtc.weltonmoura.com.br -> http://:8081 # = IP LAN exibido nas configurações do CasaOS (ou tente 172.17.0.1). # 2) No host que já existe no NPM (matrix.weltonmoura.com.br, proxy do Dendrite), # adicionar no campo "Advanced" o bloco do /.well-known/matrix/client (ver instruções). # 3) Firewall/port forward: liberar 7881/tcp, 7882/udp e 50100-50200/udp (mídia direta). # # IMPORTANTE: substitua e por valores fortes # (ex.: chave ~20 chars, segredo ~64 chars). # Ajuste LIVEKIT_FULL_ACCESS_HOMESERVERS para o mesmo "server_name" do seu dendrite.yaml. # # Fonte da configuração: https://docs.livekit.io/ | github.com/element-hq/lk-jwt-service services: livekit: container_name: matrix-rtc-livekit image: livekit/livekit-server:latest restart: unless-stopped ports: - "7880:7880/tcp" # API + WebSocket (usado pelo NPM em lk.weltonmoura.com.br) - "7881:7881/tcp" # RTC over TCP (fallback de sinalização para clientes) - "7882:7882/udp" # RTC UDP inicial (contato direto com clientes) - "50100-50200:50100-50200/udp" # faixa de mídia WebRTC environment: LIVEKIT_CONFIG: |- port: 7880 rtc: tcp_port: 7881 udp_port: 7882 port_range_start: 50100 port_range_end: 50200 # use_external_ip busca a IP pública via STUN (ideal p/ VPS atrás de 1:1 NAT). # Se a IP pública estiver direto na interface, troque por: # use_external_ip: false # node_ip: "SEU_IP_PUBLICO" use_external_ip: true room: # Sem auto_create: o lk-jwt-service cria as salas só p/ usuários full-access auto_create: false keys: : healthcheck: test: [ "CMD", "livekit-server", "healthcheck", "get-health" ] interval: 30s timeout: 5s retries: 3 lk-jwt-service: container_name: matrix-rtc-jwt image: ghcr.io/element-hq/lk-jwt-service:latest restart: unless-stopped ports: - "8081:8081" # alcançado pelo NPM em rtc.weltonmoura.com.br environment: - LIVEKIT_JWT_BIND=:8081 # URL pública (wss) do LiveKit, exposta pelo NPM em lk.weltonmoura.com.br - LIVEKIT_URL=wss://lk.weltonmoura.com.br - LIVEKIT_KEY= - LIVEKIT_SECRET= # Server name do seu Dendrite (dendrite.yaml -> global.server_name). # Se usou matrix.weltonmoura.com.br como server_name, troque aqui. - LIVEKIT_FULL_ACCESS_HOMESERVERS=weltonmoura.com.br - LIVEKIT_LOG_LEVEL=info