Ir para o conteúdo principal

Configuração HPB e TURN/STUN para Nextcloud Talk

Configuração HPB e TURN/STUN para Nextcloud Talk

Este guia orienta a adição do backend de alto desempenho (HPB) do Nextcloud Talk e do servidor TURN/STUN utilizando a imagem oficial do Nextcloud AIO Talk na infraestrutura da K9 Networks.


1. Configuração de DNS (Hostgator)

Acesse o painel da Hostgator e crie uma nova zona DNS para o subdomínio do cliente seguindo o padrão:

  • Formato: <cliente>.talk.k9n.com.br (ex: inova.talk.k9n.com.br)
  • Apontamento: Configure o registro apontando para o IP público da rede interna/under da infraestrutura.

<DESCREVER QUAL IMAGEM VAI AQUI: Painel da Hostgator mostrando a criação da zona DNS com o subdomínio e IP público>.png


2. Geração de Segredos

No servidor do Nextcloud, navegue até o diretório do projeto e gere os segredos de autenticação necessários para o container de talk:

cd /root/nextcloud
openssl rand -hex 32 > ./secrets/talk_turn_secret
openssl rand -hex 32 > ./secrets/talk_signaling_secret
openssl rand -hex 32 > ./secrets/talk_internal_secret
chmod 600 ./secrets/talk_*

<DESCREVER QUAL IMAGEM VAI AQUI: Terminal Linux executando os comandos openssl e listando a pasta secrets com as permissões restritas>.png


3. Atualização do Docker Compose

Adicione o serviço talk e declare os novos volumes de segredos no arquivo docker-compose.yml:

** adiciona TALK_DOMAIN= ao .env**

services:
  app:
  ...
  extra_hosts:
    ...
    - "$TALK_DOMAIN:$PROXY_IP"
  cron:
  ...
  extra_hosts:
    ...
    - "$TALK_DOMAIN:$PROXY_IP"
# ... (serviços anteriores) ...
  talk:
    image: ghcr.io/nextcloud-releases/aio-talk:latest
    container_name: $COMPOSE_PROJECT_NAME-talk
    restart: unless-stopped
    environment:
      - NC_DOMAIN=$NEXTCLOUD_DOMAIN
      - TALK_HOST=$TALK_DOMAIN
      - TALK_PORT=3478
      - TURN_SECRET_FILE=/run/secrets/talk_turn_secret
      - SIGNALING_SECRET_FILE=/run/secrets/talk_signaling_secret
      - INTERNAL_SECRET_FILE=/run/secrets/talk_internal_secret
    secrets:
      - talk_turn_secret
      - talk_signaling_secret
      - talk_internal_secret
    ports:
      - "3478:3478/tcp"
      - "3478:3478/udp"
    expose:
      - "8081"
    extra_hosts:
      - "$OOU_DOMAIN:$PROXY_IP"
      - "$NEXTCLOUD_DOMAIN:$PROXY_IP"
      - "$TALK_DOMAIN:$PROXY_IP"
    networks:
      - proxy-nw
      - internal-nw

secrets:
  # ... (segredos anteriores) ...
  talk_turn_secret:
    file: ./secrets/talk_turn_secret
  talk_signaling_secret:
    file: ./secrets/talk_signaling_secret
  talk_internal_secret:
    file: ./secrets/talk_internal_secret

4. Configuração do Reverse Proxy (Nginx)

Crie uma nova entrada no Nginx Proxy Manager (ou proxy reverso padrão da K9) apontando o domínio <cliente>.talk.k9n.com.br para o IP interno do container na porta 8081, ativando o certificado SSL.

<DESCREVER QUAL IMAGEM VAI AQUI: Tela de configuração do proxy reverso no Nginx mostrando o apontamento de domínio, IP e porta 8081>.png


5. Inicialização dos Serviços

Reinicie o ambiente Docker para subir o container de Talk:

docker compose down
docker compose up -d

Valide se o serviço de sinalização está respondendo corretamente:

curl https://<cliente>.talk.k9n.com.br/api/v1/welcome

6. Pós-Instalação (Painel Administrativo)

  1. Acesse o Nextcloud como administrador e vá em Configurações de Administração > Talk.
  2. High-Performance Backend:
  • URL: https://<cliente>.talk.k9n.com.br
  • Secret: Utilize o conteúdo salvo em ./secrets/talk_signaling_secret.
  • Confirme que o status exibe um ícone verde.
  1. Servidor TURN:
  • Estratégia: turn: only
  • URL: <cliente>.talk.k9n.com.br:3478 (sem protocolo)
  • Secret: Utilize o conteúdo salvo em ./secrets/talk_turn_secret.
  • Protocolos: UDP e TCP.

<DESCREVER QUAL IMAGEM VAI AQUI: Tela de administração do Nextcloud Talk com as configurações de HPB e TURN validadas com sucesso>.png