Tutorial Mastodon server: Criar servidor Mastodon
Com um servidor Mastodon próprio, você obtém total controle sobre os seus dados e a moderação da sua comunidade. Dessa forma é possível ter uma experiência de usuário personalizada, focada na privacidade e livre de anúncios.
Pré-requisitos para criar um servidor Mastodon
Você pode criar um servidor pequeno e escalá-lo sempre que necessário, para acompanhar o crescimento da sua comunidade. Para configurar um Mastodon server, você precisa de:
- VPS ou outro servidor: Embora você possa operar o Mastodon em um servidor local, um servidor virtual privado (VPS) é uma solução mais flexível e fácil de gerenciar. Este servidor deve, de preferência, usar Ubuntu 20.04 ou Debian 11 como sistema operacional e fornecer acesso root para configurar o necessário.
- Domínio ou subdomínio: Você precisa de um domínio próprio ou de um subdomínio para identificar seu Mastodon server. Isso permite que os usuários encontrem e se conectar à sua instância.
- Disponibilidade on-line constante: Seu servidor deve estar on-line o tempo todo para que outros possam usar sua instância Mastodon.
- Provedor de e-mail: O Mastodon envia notificações e links de confirmação por e-mail, portanto, você precisa de um provedor de e-mail para oferecer suporte a essas funções. Você pode instalar um servidor SMTP, mas geralmente, o software de terceiros é mais prático. O Mastodon recomenda, entre outros, Mailgun, SparkPost ou Sendgrid.
- Provedor de armazenamento de objetos (object storage): Apesar de opcional, é recomendável usar um provedor de armazenamento de objetos compatível com Amazon S3, pois o Mastodon armazena dados como imagens, vídeos e outros mídias no servidor. O espaço adicional garante que sua instância Mastodon funcione sem problemas e tenha espaço suficiente para os dados dos usuários.
Você pode armazenar qualquer quantidade de dados estáticos por preços acessíveis.
Seu servidor também deve atender aos seguintes requisitos técnicos mínimos:
- CPU/Processamento: mín. 2 núcleos
- RAM/Memória: mín. 2 GB
- Espaço em disco: mín. 30 GB
O Mastodon utiliza um banco de dados (PostgreSQL) para armazenar dados dos usuários e outras informações. Com uma grande base de usuários, o número de acessos ao banco de dados pode ser alto. Certifique-se de que seu banco de dados esteja adequadamente otimizado e tenha recursos suficientes (CPU e RAM) para processar esses acessos de forma eficiente.
Hospedar servidor Mastodon com o VPS da IONOS
Quer começar com sua própria instância Mastodon, mas não tem certeza de qual plano VPS atenderá às suas necessidades? O IONOS oferece pacotes VPS poderosos com recursos dedicados e tráfego ilimitado a preços acessíveis.
Para um Mastodon server simples, o VPS Linux S da IONOS é a escolha perfeita. Ele oferece 80 GB de espaço e até 1 Gbit/s de largura de banda. Se precisar de mais recursos, basta escolher o pacote de desempenho adequado.
Servidores Mastodon e os planos da IONOS adequados
Ao escolher o pacote VPS mais adequado, você deve estimar o número potencial de usuários da sua instância Mastodon. Dependendo do tráfego esperado, recomendamos os seguintes planos da IONOS:
Cenário do servidor Mastodon | Servidor VPS IONOS mais adequado |
---|---|
Até 100 pessoas | VPS Linux M |
100 a 1000 pessoas | VPS Linux L |
1000 a 10000 pessoas | VPS Linux XL |
A partir de 10000 pessoas | VPS Linux XXL |
Além disso, você pode executar seu Mastodon server em paralelo com outros serviços. Para uma base de usuários simples, você pode começar com esses planos:
Cenário do servidor Mastodon | Servidor VPS IONOS mais adequado |
---|---|
Operação paralela de um site simples | VPS Linux M |
Operação paralela de um servidor de voz | VPS Linux M |
Operação paralela de uma loja on-line | VPS Linux L |
Criar servidor Mastodon: Passo a passo
Aprenda com as nossas instruções passo a passo como criar um servidor Mastodon.
Passo 1: Preparar o servidor
A maioria dos provedores de hospedagem oferece a possibilidade de escolher o sistema operacional durante a configuração. O Mastodon funciona melhor em Ubuntu 20.04 e Debian 11. Se possível, selecione um desses sistemas operacionais. Depois que seu VPS estiver configurado, conecte-se ao seu servidor via SSH. Para isso, use um terminal (Linux/Mac) ou um cliente SSH como o PuTTY (Windows).
Substitua your_server_ip
pelo endereço IP do seu VPS.
Para proteger seu sistema, você deve usar chaves SSH e configurar regras de firewall com iptables para liberar apenas as portas HTTP(S) e SSH. Em seguida, você precisa apontar o registro A do seu domínio ou subdomínio para o IP do VPS. Para IPv6, adicione também um registro AAAA.
Execute uma atualização do gerenciador de pacotes e dos pacotes do sistema:
Passo 2: Instalar as dependências
O Mastodon requer vários pacotes e dependências para funcionar corretamente, incluindo Node.js, Yarn, PostgreSQL, Redis e Nginx.
Primeiro, instale os pacotes básicos:
Node.js
PostgreSQL
Pacotes do sistema
Yarn
Ruby
Como o Mastodon é escrito em Ruby, ele requer Ruby e Bundler. Primeiramente, crie o usuário no qual o Mastodon será executado:
Em seguida, troque para a conta de usuário criada:
Instale rbenv
e rbenv-build
:
Após concluir essa parte, instale a versão correta do Ruby e o Bundler:
Volte para o usuário root com exit
.
Passo 3: Configurar o PostgreSQL
O PostgreSQL é utilizado pelo servidor Mastodon para armazenar e gerenciar dados. Você já instalou o servidor de banco de dados na etapa anterior. Agora vá para o usuário postgres
para acessar o shell do PostgreSQL:
O Mastodon se conecta ao servidor de banco de dados sem senha. Portanto, o nome de usuário do sistema Linux e o nome de usuário do banco de dados devem corresponder. Execute os seguintes comandos no shell do PostgreSQL para criar o banco de dados:
Você pode melhorar o desempenho do seu banco de dados PostgreSQL ajustando os recursos do sistema disponíveis. Uma ferramenta útil para isso é o gerador de configurações pgTune. Nele, você insere informações como o número de núcleos de CPU e o tamanho da RAM, e obtém uma configuração otimizada do PostgreSQL, que você especifica em postgresql.conf
.
Passo 4: Instalar o Mastodon
Em seguida, volte para o usuário Mastodon:
Baixe a versão estável mais recente do Mastodon:
Instale também as dependências do Ruby e do JavaScript:
Execute o assistente de configuração do Mastodon:
Você será perguntado sobre preferências de configuração, que serão salvas no final no arquivo .env.production
.
- Domain name: Informe o nome de domínio do servidor VPS
- Do you want to enable single user mode?: N
- Are you using Docker to run Mastodon?: N
- PostgreSQL host: default - Enter
- PostgreSQL port: default - Enter
- Name of PostgreSQL database: default - Enter
- Name of PostgreSQL user: default - Enter
- Password of PostgreSQL user: deixar em branco - Enter
- Redis host: default - Enter
- Redis port: default - Enter
- Redis password: default – Enter
- Do you want to store uploaded files on the cloud?: N
- Do you want to send e-mails from localhost?: N
- SMTP server: Informe o servidor SMTP
- SMTP port: Informe a porta do servidor SMTP
- SMTP username: Nome de usuário para login
- SMTP authentication: plain
- SMTP OpenSSL verify mode: none
- E-mail address to send e-mails “from”: geralmente igual ao login SMTP
- Send a test e-mail with this configuration right now?: Y
- Send test e-mail to: Informe um endereço de e-mail qualquer como destinatário
- Save configuration?: Y
- Prepare the database now?: Y
- Compile the assets now?: Y
- Do you want to create an admin user straight away?: Y
- Username: admin
- E-Mail: Informe seu próprio endereço de e-mail
Volte para o usuário root:
Passo 5: Instalar certificado SSL
Os servidores VPS da IONOS já incluem um certificado SSL por padrão. No entanto, se o seu pacote não incluir um certificado, você pode instalá-lo facilmente.
Você pode obter um certificado SSL gratuito do Let’s Encrypt. O Let’s Encrypt oferece certificados automatizados que são fáceis de instalar e renovar.
O certificado será salvo no diretório /etc/letsencrypt/live/example.com/
no seu servidor Mastodon.
Passo 6: Configurar o Nginx
Você precisará copiar o template de configuração para o Nginx do diretório Mastodon e colá-lo no diretório sites-available
do Nginx:
Crie um link simbólico do arquivo de configuração em sites-enabled
para ativá-lo e remova a configuração padrão:
Abra o arquivo de configuração para o seu Mastodon server:
Substitua example.com
pelo seu próprio nome de domínio.
Apague os comentários das linhas ssl_certificate
e ssl_certificate_key
, e substitua os respectivos caminhos pelos caminhos do seu certificado SSL. Se você estiver usando o certificado auto assinado padrão, mantenha os caminhos inalterados:
Após ajustar a configuração, você precisará recarregar o Nginx para que as alterações entrem em vigor:
Passo 7: Configurar serviços Systemd
Ao configurar os serviços Systemd, a aplicação web Mastodon e as funções de streaming em tempo real serão iniciadas automaticamente quando o servidor for reiniciado. Isso garante que seu servidor Mastodon esteja sempre disponível.
Copie os templates de serviço Systemd do Mastodon para o diretório apropriado:
Se você tiver feito alterações nos valores padrão, verifique se o nome de usuário e os caminhos nos templates de serviço estão corretos:
Inicie e habilite os serviços Systemd:
systemctl daemon-reload
: Atualiza a configuração do Systemd para incluir os novos templates de serviço.systemctl enable --now mastodon-web mastodon-sidekiq mastodon-streaming
: Esses serviços são responsáveis pela aplicação web, processamento em segundo plano e funções de streaming em tempo real do Mastodon.
Passo 8: Alterar o limite de caracteres
Ao operar seu próprio Mastodon server, você tem a liberdade de ajustar configurações que normalmente não estão disponíveis em servidores públicos. Um exemplo é a personalização do limite de caracteres para posts. O padrão é de 500 caracteres, mas você pode aumentar ou diminuir esse valor.
Primeiramente, altere para o usuário Mastodon no console. Em seguida, edite dois arquivos específicos.
Defina o valor desejado para o limite de caracteres nos seguintes arquivos:
compose_form.js
no diretório~/live/app/javascript/mastodon/features/compose/components/
status_length_validator.rb
em~/live/app/validators/
No arquivo instance_serializer.rb
no diretório ~/live/app/serializers/rest/
, encontre a linha que contém :languages, :registrations,
e adicione :max_toot_chars,
logo após.
Além disso, adicione o seguinte código abaixo da linha que começa com private
, ajustando o valor de max_toot_chars
conforme desejado:
Depois de fazer essas alterações, os serviços do Mastodon devem ser reiniciados. Isso é feito como usuário root com o comando:
Agora você pode escrever posts com um limite de 1000 caracteres.
Passo 9: Função de moderação
A função de moderação em “Configurações > Moderação” em seu servidor Mastodon permite que você, como administrador, monitore e controle os conteúdos e atividades dos usuários em sua instância para garantir que as diretrizes da comunidade sejam seguidas e para remover conteúdos indesejados.
Você tem a opção de bloquear, desbloquear ou excluir contas, domínios, endereços IP ou servidores de e-mail. Além disso, você pode moderar conteúdos publicados por usuários, removendo ou editando posts inadequados ou ofensivos.
Experimente seu vServer de graça agora - Teste um servidor virtual por 30 dias!
- Recursos dedicados
- Tráfego ilimitado
- Consultor pessoal