Verificação final
Checklist rápido pra confirmar que tudo está funcionando de ponta a ponta.
Com o deploy feito e todas as variáveis configuradas, confira estes pontos antes de chamar a instalação de pronta. Cada item aponta pra onde voltar se algo falhar.
Abra o app na URL definitiva e faça login com a conta Discord listada em
BOOTSTRAP_ADMIN_DISCORD_IDS.
Se o login falhar com redirect_uri_mismatch, o Redirect URI cadastrado no
Discord não bate com a URL real — revise a seção 2 de Configurar o
Discord.
Confirme o acesso de admin: depois de logar, acesse /admin/channels.
Você deve ver as abas de administração (Usuários, Canais, etc). Se cair de
volta na home, o Discord ID usado no login não bate com o que foi colocado
em BOOTSTRAP_ADMIN_DISCORD_IDS — confira o valor exato (sem espaços,
separado por vírgula se for mais de um).
Teste uma chamada de voz: entre em um canal, ative o microfone e (se
tiver outro dispositivo à mão) confirme que o áudio chega. Se a conexão
travar em "conectando" ou cair na hora, revise LIVEKIT_URL /
LIVEKIT_API_KEY / LIVEKIT_API_SECRET — ver LiveKit
Cloud ou self-host. Em
self-host, a causa mais comum é a faixa UDP 50000-60000 bloqueada num
firewall de borda (ver a seção "Portas" da página de self-host).
Mande uma mensagem com imagem anexada no chat de texto. Isso valida o R2 de ponta a ponta: se o envio falhar ou a imagem não aparecer depois de enviada, revise as 5 variáveis em Armazenamento (R2) — o erro mais comum é esquecer de ativar Public Access no bucket.
Se configurou o bot do Discord: entre e saia de um canal de voz vazio no
app e confira se a mensagem de aviso aparece no canal de texto do seu
servidor Discord. Se não aparecer, revise DISCORD_BOT_TOKEN e
DISCORD_CHAT_CHANNEL_ID, e confirme que o bot foi de fato convidado pro
servidor (ver passo 4 de Configurar o Discord).
Se fez self-host do LiveKit: opcionalmente, siga
infra/vps-metrics/README.md no repo do app pra ligar a aba "Infra" do
admin (métricas de CPU/RAM/disco/banda da VPS). Não é obrigatório — sem
isso, o app funciona normalmente, só sem essa aba.
Tudo funcionando?
Sua instalação está pronta. Os próximos admins ganham acesso em
/admin/channels — não precisam de nenhuma variável de ambiente nova, só do
ADMIN já logado pra liberar o acesso deles.
Provisionando via IA?
Se você seguiu esta documentação colando os passos numa sessão de Claude Code (ou similar), o runbook para IA tem a mesma checklist em formato de comando, integrada ao fluxo de provisionamento via CLI.