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)
- Acesse o Nextcloud como administrador e vá em Configurações de Administração > Talk.
- 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.
- 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