Use a mídia social de maneira open source, hospedando seu próprio servidor Akkoma Fediverse em um Raspberry Pi.
O Fediverso é uma rede de servidores de mídias sociais interconectados que se federam para formar uma rede coerente, onde você pode acompanhar e interagir com as pessoas de seu interesse.
Embora o tipo de servidor Fediverso mais conhecido seja o Mastodon, o Fediverso abriga dezenas de tipos de servidor. Akkoma é um servidor completo que é fácil de implantar em seu Raspberry Pi. Veja como…
O que é Akkoma?
Assim como todos os servidores Fediverse, o Akkoma conta com o protocolo ActivityPub para ser executado. Ele é construído na popular base de código Pleroma, mas empresta recursos do MissKey, como a capacidade de ver em quais tipos de servidor outras contas de usuário estão sendo executadas. Akkoma está em desenvolvimento muito ativo e é atualizado regularmente.
Com o Akkoma, você pode adicionar seus próprios pacotes de ícones, empregar uma variedade de tipos de remarcação em postagens, personalizar o que faça o front-end que sua instância do Fediverse usa, edite suas postagens, cite as postagens de outras pessoas e defina um caractere arbitrário limite.
Como instalar o Akkoma no Raspberry Pi
Ao usar seu Raspberry Pi como servidor, você deve primeiro seguir nosso guia sobre como configurar seu Raspberry Pi como um servidor web. Você não precisa seguir as etapas para configurar MariaDB, PHP ou Docker Compose neste momento.
Quando seu Pi estiver pronto para funcionar como servidor, conecte-se a ele remotamente via SSH e, em seguida, instale manualmente a versão mais recente do Docker Compose.
Clone o repositório Akkoma Git e mova para ele:
git clone https://akkoma.dev/AkkomaGang/akkoma.git -b estável && cd akkoma
Agora defina as variáveis ambientais para o Docker Compose com o seguinte comando:
cp docker-resources/env.example .env
eco"DOCKER_USER=$(id-u):$(id-g)" >> .env
Este processo leva vários minutos. Quando você retornar ao prompt de comando, precisará criar um contêiner:
./docker-resources/build.sh
Novamente, isso vai demorar um pouco. Cronometramos o processo em cerca de três minutos, o que lhe dá muitas oportunidades de verificar outras projetos auto-hospedados que você pode executar em um Raspberry Pi, ou talvez jogar uma partida de Paciência no terminal Linux.
Só porque você criou um contêiner do Docker não significa que já está pronto para executá-lo. Cole o seguinte grupo de comandos e pressione Digitar.
mkdir pgdata
./docker-resources/manage.sh mix deps.get
./docker-resources/manage.sh mix compilar
./docker-resources/manage.sh mix pleroma.instance gen
Responder Y quando perguntado se você deseja instalar Hex e rebar3. O aplicativo será compilado por cerca de mais 12 minutos. Use esse tempo para ouvir algumas podcasts que aumentarão sua positividade.
Sentindo-se inspirado e revigorado, você deve retornar à linha de comando e responder a algumas perguntas sobre sua instância. Quando solicitado, digite seu nome de domínio sem o http:// ou https:// prefixo, seguido pelo nome de sua instância e seu endereço de e-mail.
Você precisará escolher se deseja permitir que os mecanismos de pesquisa indexem seu site (você decide) e se deseja armazenar a configuração no banco de dados. Escolher sim para esta opção, pois permitirá que você administre sua instância por meio da interface da web de administração.
Defina o nome do host do seu banco de dados como banco de dados, confirme o nome do banco de dados e o usuário como akkoma, e digite a senha do banco de dados como akkoma.
índices RUM permitem uma pesquisa rápida do banco de dados PostgreSQL, então toque em y quando perguntado se você deseja usá-los. A porta padrão é 4000. Você pode deixar isso como está, a menos que esteja usando a porta 4000 para outro software auto-hospedado.
Uma maneira fácil de verificar as portas em uso é abrir outra janela ou guia do terminal e inserir:
sudo lsof -i -P -n | grep LISTEN
Defina o IP que o aplicativo ouvirá como 0.0.0.0, e aceite os padrões sensatos para as questões restantes.
O processo terminará com sua configuração de instância gerada para config/generated_config.exs. Copie este arquivo para um novo local:
cp config/generated_config.exs config/prod.secret.exs
O comando a seguir retornará o ID do contêiner como uma string de 64 caracteres. Copie-o em outro lugar por segurança. Agora use este comando para configurar o banco de dados:
execução do docker-compose --rm akkoma psql -h db -U akkoma -f config/setup_db.psql
Quando o contêiner for configurado com sucesso, pare-o com:
janela de encaixe parar container_id_you_noted_earlier
Digitar:
./docker-resources/manage.sh mix ecto.migrate
...para executar migrações e recompilar seus arquivos. Você verá várias notificações de que "está demorando mais de 10 segundos" e o processo lhe dará tempo suficiente para fazer uma xícara de chá.
Sua instância precisará de uma interface com a qual os usuários possam interagir. Por enquanto, você precisará apenas do front-end do Pleroma e do front-end do administrador:
./docker-resources/manage.sh mix pleroma.frontend instalar pleroma-fe --ref estável
./docker-resources/manage.sh mix pleroma.frontend instalaradministrador-fe --ref estável
Agora você está pronto para criar o usuário administrador. Digitar:
./docker-resources/manage.sh mix pleroma.user novo seu nome de usuário desejado seu e-mail@domínio.tld --admin
Este comando retornará um resumo das informações que você digitou até agora. Verifique se está correto e digite y.
Um link será gerado para você redefinir a senha do administrador. Como sua instância ainda não está em execução e não está exposta à Internet, anote o link para mais tarde.
Exponha sua instância Akkoma para a Web
Você precisará criar um arquivo de configuração Apache para sua instância Akkoma:
cd /etc/apache2/sites-available
sudonanoakkoma.conf
No novo arquivo, cole o seguinte:
<VirtualHost *:80>
Nome do servidorseu-nome-de-domínio.tld
ProxyPass / http://127.0.0.1:4000/
ProxyPassReverse / http:/127.0.0.1:4000/
ProxyPreserveHost ativado
VirtualHost>
Salve e saia do nano com Ctrl + O então Ctrl + X. Ative o arquivo conf e reinicie o Apache:
sudoa2ensiteakkoma.conf
serviço sudo apache2 reiniciar
Agora use o Certbot para buscar e implantar certificados e chaves TLS:
sudo certbot
Selecione seu nome de domínio na lista e pressione Eentrar. Reinicie o Apache novamente com:
serviço sudo apache2 reiniciar
Navegue de volta ao seu diretório Akkoma e abra o Docker Compose no modo desanexado:
cd ~/akkoma
docker-compose up -d
Aguarde alguns minutos e visite sua instância Akkoma usando o link de redefinição de senha. Certifique-se de escolher uma senha forte para proteger a instância.
Personalize sua instância Akkoma
Antes de fazer qualquer outra coisa, você deve visitar sua página de administração da web em seu-nome-de-domínio.tld/pleroma/admin.
Existem centenas de opções aqui, mas você pode ignorar com segurança a maioria delas por enquanto. Selecione Configurações > Front-ende leia todas as coisas que é possível alterar. Você pode escolher um front-end diferente do Pleroma padrão ou definir o plano de fundo para uma imagem diferente.
Exatamente o que você escolhe fazer aqui depende de você e de seus usuários. Para lhe dar uma ideia do que está disponível, definimos o seguinte em nossa instância de demonstração:
Optamos por ativar o texto verde nas linhas prefixadas com o > personagem; defina o estilo de exibição da conversa para árvore; definimos o logotipo do site como um desenho animado da cabeça desse escritor e carregamos uma imagem estilizada de aviso NSFW.
Falando sério, você vai querer escolher o feed padrão que os usuários verão quando fizerem login e o que os visitantes veja quando eles não estão logados, a forma como os painéis são organizados e os tipos ou Markdown que você deseja renderizar.
Quando estiver satisfeito com o front-end, vá para Configurações > Instância. Defina o nome e a descrição do seu site e, em seguida, dê uma olhada nos limites.
Embora os principais sites de mídia social tenham um limite de caracteres bastante baixo, você pode definir o seu como quiser. Definimos um limite de 750.000 caracteres para postagens de nossa própria instância, mas optamos por sujeitar as postagens de instâncias remotas a um limite de apenas 100.000 caracteres. Você também pode definir limites para uploads de arquivos e avatares.
Outras considerações vitais incluem se você deseja que os usuários possam se registrar diretamente em sua instância, se você prefere um sistema somente para convidados e se você deseja federar com outras instâncias ou executar seu site de mídia social em esplêndido isolamento. Há tantas opções em Configurações, você deve passar algumas horas se familiarizando com eles.
Quando terminar, faça login por meio de sua URL principal e comece a aumentar seus seguidores Fediverse.
Akkoma não é o único servidor fediverso
Embora o Akkoma seja nosso servidor Fediverse favorito e seja ideal para executar uma instância em seu Raspberry Pi, ele está longe de ser o único.
O Fediverso é o lugar ideal para construir uma praça da cidade online para grupos de pessoas afins, e experimentando diferentes tipos, você pode encontrar o servidor perfeito para construir seu próprio servidor online comunidade.