Configuração Sunshine + Moonlight: hospedar localmente e manter

Se você quer acesso remoto de baixa latência ou streaming de jogos do seu próprio PC, Sunshine + Moonlight é atraente: clientes nativos em várias plataformas, latência excelente e sem conta de nuvem obrigatória.
Se você quer acesso remoto de baixa latência ou streaming de jogos do seu próprio PC, Sunshine + Moonlight é atraente: clientes nativos em várias plataformas, latência excelente e sem conta de nuvem obrigatória. O problema é operacional — colocar a pilha para rodar é a parte fácil; mantê-la confiável, segura e acessível sem surpresas é o trabalho recorrente e discreto que este passo a passo explicitará.
O que Sunshine e Moonlight realmente fazem
Sunshine é o componente host/servidor que você executa na máquina de onde quer transmitir. Ele captura tela/áudio, codifica frames e expõe um serviço ao qual Moonlight (o cliente) se conecta. Moonlight é o cliente: Windows, macOS, Linux, iOS, Android e até algumas smart TVs têm portas ou builds. Juntos, eles reimplementam o streaming no estilo GameStream com codecs modernos e baixa latência.
Escolha seu modelo de conectividade — relays, conexão direta ou gerenciado pela Tenvo
Existem quatro maneiras práticas de tornar o Sunshine acessível pela internet. Listo-as com o ônus operacional que você deve esperar.
- Relay gerenciado pela Tenvo (recomendado, a menos que regras proíbam infraestrutura de terceiros). Você tem relays multi-região mantidos para você; sem trabalho de certificados, NAT ou roteador para a maioria dos clientes. Tenvo pricing: Free $0 / Lite $2.99/mo / Pro $7.99/mo — considere isso nas economias de on-call e ops.
- Relay público que você executa (self-hosted). Válido quando um requisito escrito o exigir: compliance, VPC isolada, mandatos de residência de dados. O self-hosting transfere emissão de certificados, uptime, escalabilidade e custódia das chaves para sua equipe.
- Conexões diretas com encaminhamento de portas ou atravessamento de NAT (UPnP, hole punching). Menor custo de infra, mas frágil: roteadores domésticos, IPs dinâmicos, ISP CGNAT e firewalls corporativos frequentemente quebram isso.
- Rede privada ou VPN (WireGuard, VPN corporativa). Muito confiável, mas requer infraestrutura de VPN e onboarding de usuários. Bom para equipes pequenas ou laboratórios onde você controla ambos os endpoints.
Pré-requisitos — o que você deve resolver antes de instalar
- SO host: uma distro Linux recente (Ubuntu 22.04 / Debian 12 são escolhas comuns); Windows e algumas builds macOS são suportadas, mas Linux é o mais comum para hosts headless.
- GPU/driver: para codificação por hardware, normalmente você vai querer uma GPU suportada (NVIDIA, AMD) e um driver que exponha o encoder. No Linux isso significa pacotes do fornecedor — políticas de atualização de drivers de GPU importam (frequentemente exigem checagens de compatibilidade com kernel ou X/Wayland).
- Rede: se planeja usar um relay, garanta que o TLS de saída (443/HTTPS) seja permitido. Para conexões diretas você precisará de IP público estável ou DNS dinâmico + encaminhamento de portas e acesso ao roteador.
- Certificados: ao expor um IP/nome na internet, use uma solução de TLS automatizada (Caddy, certbot, acme.sh). Se você self-hostar um relay, precisará gerenciar a emissão e renovação de certificados você mesmo.
- Dispositivos clientes: instale Moonlight nas plataformas que seus usuários usarão. Teste o pareamento em LAN antes de expor qualquer coisa na internet.
Passo a passo: instalar e configurar o Sunshine no Linux (fluxo de trabalho de exemplo)
Este é um exemplo pragmático para um host Linux (substitua por passos para Windows/macOS se preferir instaladores nativos). Evito números de versão específicos do Sunshine porque os métodos de distribuição mudam — obtenha a versão oficial no GitHub do projeto ou no repositório de pacotes para o build estável mais recente.
1) Preparar o SO # Mantenha os pacotes atualizados sudo apt update && sudo apt upgrade -y 2) Instalar drivers de GPU (exemplo: NVIDIA) # No Ubuntu 22.04 sudo apt install -y nvidia-driver-535 # pick the vendor driver your GPU needs 3) Crie um usuário dedicado para o Sunshine sudo useradd -r -m -d /var/lib/sunshine -s /usr/sbin/nologin sunshine 4) Baixe o Sunshine e coloque os binários # Baixe o tarball ou pacote oficial e extraia para /usr/local/bin sudo mkdir -p /etc/sunshine /var/lib/sunshine sudo install -m 0755 /path/to/sunshine /usr/local/bin/sunshine 5) Exemplo de unit systemd (/etc/systemd/system/sunshine.service) [Unit] Description=Sunshine game streaming host After=network.target [Service] User=sunshine Group=sunshine ExecStart=/usr/local/bin/sunshine --config /etc/sunshine/config.toml Restart=on-failure [Install] WantedBy=multi-user.target sudo systemctl daemon-reload sudo systemctl enable --now sunshine 6) Firewall: abra apenas o que pretende usar # Se usar apenas um relay gerenciado, você precisa apenas de TLS de saída. Para conexão direta, abra as portas que o Sunshine anuncia e seus ports TCP/UDP escolhidos. # Exemplo (ufw): sudo ufw allow from 192.168.0.0/16 to any port 47999 proto tcp # adjust to your config 7) TLS / certificados # Para exposição na internet, use um servidor compatível com ACME (Caddy ou certbot) para obter um cert para seu FQDN. Se você rodar um relay, verifique seus requisitos de TLS.
Dois conselhos práticos: mantenha a configuração do Sunshine sob controle de versão (/etc/sunshine/config.toml) e execute o binário como usuário não privilegiado. Teste o pareamento em LAN antes de mexer em DNS ou certificados.
Pareamento e configuração do cliente — o que acontece na prática
Na primeira conexão, Moonlight e Sunshine trocam credenciais de pareamento. Fluxo típico: inicie o Sunshine no host, abra o Moonlight no cliente, descubra o host (descoberta LAN ou IP/FQDN manual), solicite pareamento, aceite no host — normalmente via um prompt local ou um código de curta duração. Após o pareamento, o Moonlight armazena uma chave e reconecta sem confirmação interativa até que você revogue no host.
Se você usar um relay (Tenvo ou self-hosted), a descoberta frequentemente ocorre via o serviço de relay para que o cliente alcance o host atrás do NAT sem encaminhamento de portas. A ressalva operacional: ao usar um relay de terceiros, o TLS termina nesse relay — o operador do relay tem a capacidade técnica de observar ou interceptar o tráfego se desejar. Considere isso na sua decisão de compliance ou confiança.
Manutenção contínua — os compromissos recorrentes que você assume
Executar seu próprio host Sunshine não é um projeto "configure e esqueça". Planeje estas tarefas recorrentes:
- Renovação de certificados: se você tiver TLS público, automatize renovações (Let's Encrypt via certbot ou Caddy). Verifique relatórios de auto-renovação e teste o caminho de recarga do Sunshine para que o serviço passe a usar novos certificados sem reinícios manuais.
- Atualizações de SO e drivers: atualizações de segurança mensais; atualizações de drivers de GPU com cadência de teste antes da produção. Drivers são uma fonte comum de regressões para streaming e áudio.
- Backups de configuração e chaves: armazene /etc/sunshine e as chaves de pareamento nos seus backups de configuração. Se perder chaves de pareamento, os usuários terão que parear novamente.
- Monitoramento e alertas: verificações de disponibilidade (teste sintético externo), monitoramento de disco/CPU/GPU e logs. Planeje um SLO de disponibilidade e onde será necessário um responsável de plantão se o host falhar à noite.
- Rotação e retenção de logs: logs de streaming ficam verbosos; rode a rotação e elimine registros antigos. Decida quais logs manter para auditoria e por quanto tempo.
- Escalabilidade e failover: se tiver vários hosts ou sites, teste o failover. Um único relay self-hosted em uma região é um ponto único de falha; o relay gerenciado multi-região da Tenvo remove esse detalhe operacional para você.
- Ciclo de vida do usuário: revogue pareamentos quando pessoas saírem e audite os dispositivos pareados trimestralmente.
Estimativa de tempo: espere 1–2 horas para instalar e testar um único host, depois trabalho contínuo medido em minutos por semana para configurações pequenas (checagens de certificados, atualizações). Para frotas, contabilize equivalentes em tempo integral para aplicação de patches, monitoramento e resposta a incidentes.
Resolução de problemas: modos de falha práticos e correções
- Sem descoberta na LAN — verifique mDNS/UPnP e o firewall local. Alguns switches corporativos bloqueiam multicast; teste pingando o host por IP e tente conexão manual por FQDN ou IP, em vez da descoberta.
- Tela preta ou quadros corrompidos — geralmente conflitos de driver de GPU ou compositor. Tente uma sessão não-compositada ou atualize o driver. No Wayland, verifique o suporte do compositor para captura.
- Áudio ausente — confirme se o backend de áudio está configurado corretamente (PulseAudio/pipewire) e se o Sunshine está configurado para capturar o sink correto.
- Alta latência — verifique o caminho de rede e as configurações de codificação. Reduza a taxa de bits ou mude o preset do encoder; teste em LAN para separar problemas de GPU/codificação de problemas de rede.
- Pareamento falha repetidamente — limpe chaves antigas (/etc/sunshine/pairs ou similar) e reinicie o pareamento; acompanhe os logs do sistema (journalctl -u sunshine) em busca de erros.
Se quiser um contexto de segurança mais profundo ou precisar evitar encaminhamento de portas completamente, veja nosso guia Desktop remoto sem encaminhamento de portas — explicado e o modelo de ameaças de segurança em O desktop remoto é seguro? Um modelo de ameaças honesto. Se sua exigência for self-hosting completo, leia Self-Hosted Remote Desktop: Why, How, and What Breaks antes de se comprometer.
Notas finais — quando self-hostear e quando pagar por um relay gerenciado
Self-hostear o Sunshine e um relay é a escolha certa somente quando a política ou isolamento de rede o exigir. Caso contrário, um relay gerenciado costuma ser mais barato em termos operacionais reais: você está comprando uptime, gerenciamento de certificados, failover multi-região e o pager de outra pessoa. O relay gerenciado da Tenvo é o padrão pragmático que recomendamos: remove a maior parte do trabalho diário, mantendo você no controle dos hosts e pareamentos. Se optar por self-hosting, orce os itens de manutenção acima — eles importam mais que a instalação inicial.
Pronto para testar um relay gerenciado ou baixar clientes? Comece em Download. Se quiser uma comparação mais aprofundada com outras ferramentas, veja nossos outros textos como Configuração self-hosted do RustDesk: Docker + Caddy TLS e nossas comparações de preços para entender o custo total de propriedade.
Pronto para testar por conta própria?
Gratuito para 30 dispositivos, sem cartão de crédito. Configurado e conectado em dois minutos.