Este tópico aborda como seguir um Ator ActivityPub no Discourse com o Plugin Discourse ActivityPub, e é uma continuação de Configurando um Ator ActivityPub. Se você não tem certeza do que isso significa, vá para o tópico Plugin Discourse ActivityPub primeiro.
Obtenha o “handle” do Ator que você deseja seguir (veja abaixo).
Vá para a aba “Federação” na visualização da lista de tópicos da Categoria ou Tag do Passo 1.
Clique em “Novo Seguir”, insira o handle do Passo 2 e clique em “Encontrar” (veja abaixo).
Clique em “Seguir” quando o Ator for encontrado.
Handles de Ator
A maioria dos serviços ActivityPub usa um protocolo chamado WebFinger para permitir que os Atores sejam descobertos por um “handle”. Isso geralmente está no formato
username@domain
Às vezes, o nome de usuário é precedido por um símbolo, por exemplo, @.
Discourse
Obtenha o handle de um Ator Discourse indo para a aba “Federação” na visualização da lista de tópicos do Ator.
O handle na captura de tela é @angusmcleod@mastodon.social
Encontrando um Ator
Quando você insere um handle de Ator na modal “Novo Seguir” e clica em “Encontrar”, o plugin está procurando o handle usando WebFinger. Essa busca pode não ter sucesso. Se nenhum resultado for retornado:
Verifique o handle que você copiou.
Verifique se há um servidor ativo habilitado para ActivityPub no domínio do handle.
Tente procurar o handle em outro serviço ActivityPub.
Se você tentou o acima e acredita que o problema pode ser com seu site ou com o plugin:
Verifique se a configuração do site activity pub verbose logging está habilitada.
Realize a busca novamente.
Verifique /logs em busca de logs rotulados como “ActivityPub”.
Reporte quaisquer problemas que encontrar em uma resposta a este tópico.
Até agora, consigo federar posts e respostas de e para o Discourse e Mastodon, mas não entre Discourse e Discourse. Minhas categorias federadas do Discourse estão abertas a todos, mas as instâncias exigem convite antes que uma conta possa ser criada. Você acha que isso pode ter algo a ver com isso?
Além disso, as respostas a posts federados feitos por outras pessoas não são federadas para outras instâncias envolvidas na thread. Isso é normal e esperado?
O Discourse publica atividades em um tópico para todos os participantes do tópico, mesmo que eles não estejam seguindo o ator relevante (ou seja, categoria ou tag). Portanto, isso não é esperado. Pode ser um problema no lado do Discourse (por favor, verifique os logs e me diga se você vir algo). Também pode ser um problema na plataforma onde você espera ver as respostas.
Desculpe @angus, tenho que migrar minha instância para outro servidor. Quando ativei o ActivityPub em minhas duas instâncias do Discourse, meu Raspberry Pi 4 de 8 GB não conseguiu lidar com o tráfego do ActivityPub, superaqueceu e travou. Fornecerei uma atualização se eu tentar fazer o ActivityPub funcionar em uma instância experimental.
Alguma sugestão para remover completamente um domínio de aplicativo após ativá-lo no ActivityPub?
Estou praticamente incapaz de usar os subdomínios anteriores devido ao tráfego intenso que eles ainda estão recebendo, mesmo depois de deixar de seguir as contas de categoria na instância do Mastodon que estou usando.
Olá Rob, sinto muito que você esteja tendo problemas. O plugin ActivityPub já possui várias proteções para lidar com cargas de tráfego pesadas, em particular estas configurações do site:
activity_pub_rate_limit_post_to_inbox_per_minute: O padrão para isso é 10. Isso significa que, por padrão, 10 requisições POST de entrada por IP por minuto são processadas. Tente diminuir isso.
activity_pub_rate_limit_get_objects_per_minute: O padrão para isso é 30 por IP por minuto. Isso significa que, por padrão, 30 requisições GET por IP por minuto são processadas. Tente diminuir isso.
activity_pub_blocked_request_origins: Isso permite que você bloqueie todas as requisições de domínios que podem estar causando problemas.
activity_pub_allowed_request_origins: Isso permite que você restrinja requisições a certos domínios, o que significa que requisições de todas as outras fontes são bloqueadas.
Se a alta carga de tráfego for realmente a causa do seu problema, a maneira de lidar com isso é usando as proteções listadas acima, a menos que você tenha controle sobre os servidores de onde o tráfego está vindo.
Obrigado pelo conselho, Angus. Eu realmente aprecio. Configurarei outra instância do Discourse em um servidor experimental que não afetará meus outros serviços e tentarei novamente seguindo suas sugestões.
Não tenho certeza em qual camada da minha infraestrutura o problema realmente reside, mas pode ser o proxy reverso.
Estou usando o Cosmos Server como monitor de servidor, UI de gerenciamento de contêineres Docker e proxy reverso para meus outros contêineres Docker, como Discourse e outros serviços. Sinto que o proxy reverso pode precisar ser configurado de forma semelhante para limitação de taxa adequada para conexões de entrada do ActivityPub.
Pode ter sido as solicitações de sincronização de entrada do ActivityPub do servidor Mastodon externo que sobrecarregaram o proxy reverso e fizeram com que o uso de RAM, CPU e rede atingisse o máximo e superaquecesse.
Atualizarei novamente assim que receber meu próximo lote de Raspberry Pis e tiver uma placa sobressalente para usar como servidor experimental.
Obrigado por seus vídeos interessantes. Perdi alguma explicação sobre como os seguidores podem responder/interagir com esses tópicos? Fico imaginando se isso criaria um “servidor” leve para a equipe de mídia social.