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
- Abra seu firewall de nuvem para HTTP e HTTPS
- Configure o DNS para seu domínio
- Verifique se o DNS está funcionando conforme o esperado
- Instalador no Ubuntu 20.04/22.04 e Debian 11/12
- Verificando se seu PDS está online e acessível
- Criando uma conta usando pdsadmin
- Criando uma conta usando um código de convite
- Usando o aplicativo Bluesky com seu PDS
- Atualizando seu PDS
- Obtendo ajuda
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 operacional | Ubuntu 22.04 |
Memória (RAM) | 1 GB |
Núcleos da CPU | 1 |
Armazenamento | SSD de 20 GB |
Arquiteturas | amd64, arm64 |
Número de usuários | 1-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.
Nome | Tipo | Valor | TTL |
---|---|---|---|
example.com | A | 12.34.56.78 | 600 |
*.example.com | A | 12.34.56.78 | 600 |
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.
- Obtenha o aplicativo Bluesky
- 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
- Visite o GitHub para problemas e discussões.
- Junte-se ao AT Protocol PDS Admins Discord para conversar com outras pessoas que hospedam instâncias e obter atualizações importantes sobre a distribuição do PDS.