Auto-hospedagem

Auto-hospedar um Bluesky PDS significa executar seu próprio Servidor de Dados Pessoais, capaz de se federar com a rede ATProto mais ampla.

Índice

Preparação para auto-hospedagem de PDS

Inicie um servidor em qualquer provedor de nuvem, Digital Ocean e Vultr são duas escolhas populares.

Certifique-se de que você pode fazer ssh para seu servidor e ter acesso root.

Requisitos do servidor

  • Endereço IPv4 público
  • Nome DNS público
  • Acesso público de entrada à Internet permitido nas portas 80/tcp e 443/tcp

Recomendações do servidor

Sistema operacionalUbuntu 22.04
Memória (RAM)1 GB
Núcleos da CPU1
ArmazenamentoSSD de 20 GB
Arquiteturasamd64, arm64
Número de usuários1-20

Observação: é uma boa prática de segurança restringir o acesso ssh de entrada (porta 22/tcp) ao endereço IP público do seu próprio computador. Você pode verificar seu endereço IP público atual usando ifconfig.me.

Abra seu firewall de nuvem para HTTP e HTTPS

Uma das fontes mais comuns de configuração incorreta é não abrir as portas do firewall corretamente. Certifique-se de verificar novamente esta etapa.

No console do seu provedor de nuvem, as seguintes portas devem estar abertas para acesso de entrada da internet pública.

  • 80/tcp (usado apenas para verificação de certificação TLS)
  • 443/tcp (usado para todas as solicitações de aplicativos)

Observação: não há necessidade de configurar TLS ou redirecionar solicitações da porta 80 para 443 porque o servidor web Caddy, incluído no arquivo de composição do Docker, cuidará disso para você.

Configure o DNS para seu domínio

No painel de controle do seu provedor de DNS, configure um domínio com registros apontando para seu servidor.

NomeTipoValorTTL
example.comA12.34.56.78600
*.example.comA12.34.56.78600

Observação:

  • Substitua example.com pelo seu nome de domínio.
  • Substitua 12.34.56.78 pelo endereço IP do seu servidor.
  • Alguns provedores podem usar o símbolo @ para representar a raiz do seu domínio.
  • O registro curinga é necessário ao permitir que usuários criem novas contas no seu PDS.
  • O TTL pode ser qualquer coisa, mas 600 (10 minutos) é razoável

Verifique se o DNS está funcionando conforme o esperado

Use um serviço como DNS Checker para verificar se você consegue resolver nomes de domínio.

Exemplos para verificar (tipo de registro A):

  • example.com
  • random.example.com
  • test123.example.com

Todos eles devem retornar o IP público do seu servidor.

Instalador no Ubuntu 20.04/22.04 e Debian 11/12

No seu servidor via ssh, baixe o script do instalador usando wget:

wget https://raw.githubusercontent.com/bluesky-social/pds/main/installer.sh

ou baixe usando curl:

curl https://raw.githubusercontent.com/bluesky-social/pds/main/installer.sh >installer.sh

E então execute o instalador usando bash:

sudo bash installer.sh

Verificando se seu PDS está online e acessível

[!DICA] Os problemas mais comuns para obter o conteúdo do PDS consumido na rede ativa são quando as pessoas substituem a configuração do Caddy fornecida por nginx, apache ou proxies reversos semelhantes. Obter certificados TLS, WebSockets e nomes de servidores virtuais corretos pode ser complicado. Atualmente, não estamos fornecendo suporte técnico para outras configurações.

Você pode verificar se seu servidor está online e íntegro solicitando o ponto de extremidade healthcheck.

Você pode visitar https://example.com/xrpc/_health no seu navegador. Você deve ver uma resposta JSON com uma versão, como:

{"version":"0.2.2-beta.2"}

Você também precisará verificar se os WebSockets estão funcionando, para que o resto da rede pegue o conteúdo do seu PDS. Você pode testar instalando uma ferramenta como wsdump e executando um comando como:

wsdump "wss://example.com/xrpc/com.atproto.sync.subscribeRepos?cursor=0"

Observe que não haverá eventos de saída no WebSocket até que eles sejam criados no PDS, então o comando acima pode continuar a ser executado sem saída se as coisas forem configuradas com sucesso.

Criando uma conta usando pdsadmin

Usando ssh no seu servidor, use pdsadmin para criar uma conta se você ainda não tiver feito isso.

sudo pdsadmin account create

Criando uma conta usando um código de convite

Usando ssh no seu servidor, use pdsadmin para criar um código de convite.

sudo pdsadmin create-invite-code

Ao criar uma conta usando o aplicativo, insira este código de convite.

Usando o aplicativo Bluesky com seu PDS

Você pode usar o aplicativo Bluesky para se conectar ao seu PDS.

  1. Obtenha o aplicativo Bluesky
  1. Insira a URL do seu PDS (por exemplo, https://example.com/)

Observação: como o certificado TLS do subdomínio é criado sob demanda, pode levar de 10 a 30 segundos para que seu identificador fique acessível. Se você não estiver vendo sua primeira postagem/perfil, aguarde 30 segundos e tente fazer outra postagem.

Atualizando seu PDS

É recomendável que você mantenha seu PDS atualizado com novas versões, caso contrário, as coisas podem quebrar. Você pode usar a ferramenta pdsadmin para atualizar seu PDS.

sudo pdsadmin update

Obtendo ajuda