Mastodon · 13 min read · Oct 13, 2025
Como Instalar a Rede Social Mastodon no Debian 11

Mastodon é uma rede social gratuita, descentralizada e de código aberto, semelhante ao Twitter. No Mastodon, os usuários podem seguir uns aos outros e postar mensagens, imagens e vídeos. Mas, ao contrário do Twitter, não há um armazenamento central ou autoridade para o conteúdo.
Com a arquitetura descentralizada, o Mastodon opera em milhares de servidores diferentes, cada um gerido por vários membros da comunidade. Você pode criar seu servidor Mastodon sob seu domínio. Você também pode seguir outros usuários com diferentes domínios em outros servidores.
Neste tutorial, você instalará o Mastodon, uma plataforma de microblogging descentralizada em um servidor Debian 11. Com este guia, você configurará o Mastodon com PostgreSQL como o servidor de banco de dados e Nginx como um proxy reverso. Além disso, você protegerá a instalação do Mastodon através de certificados SSL gratuitos da Letsencrypt.
Pré-requisitos
Este guia assume que você tem os seguintes requisitos em vigor:
- Um servidor Debian 11 - este exemplo usa o servidor Debian 11 mais recente com o nome do host ‘mastodon-server‘ e o endereço IP ‘192.168.5.40‘.
- Um usuário não-root com privilégios de administrador sudo/root.
- Um nome de domínio apontado e resolvido para seu servidor Debian público - este exemplo usa o subdomínio ‘mastodon.howtoforge.local‘.
Quando você tiver esses pré-requisitos em vigor, você está pronto para prosseguir com a instalação do Mastodon.
Configurando Repositórios e Instalando Dependências
Mastodon é um software livre e de código aberto para executar serviços de rede social auto-hospedados que são semelhantes ao serviço do Twitter. É principalmente escrito em Ruby, especialmente com o framework web Ruby on Rails e JavaScript com Reac.js e Redux.
Neste primeiro passo, você configurará repositórios adicionais em seu sistema e instalará as dependências de pacotes para a instalação do Mastodon. Isso inclui pacotes como build-essentials para compilar Ruby, PostgreSQL para o servidor de banco de dados, Nginx como o servidor web e proxy reverso, ferramenta certbot para adquirir certificados SSL via Letsencrypt, e o servidor Redis que será usado para armazenamento de chave-valor e gerenciamento de sessão para o Mastodon.
Antes de começar, execute o comando apt abaixo para instalar algumas dependências básicas que serão usadas para gerenciar repositórios e pacotes.
sudo apt install curl wget gnupg apt-transport-https lsb-release ca-certificatesQuando solicitado, digite y para confirmar e pressione ENTER para prosseguir.

Em seguida, execute o comando abaixo para adicionar o repositório Node.js Nodesource. O pacote Node.js aqui será usado para compilar ativos estáticos do Mastodon. E no momento da redação deste texto, o Mastodon mais recente requer pelo menos Node.js v16.
curl -sL https://deb.nodesource.com/setup_16.x | bash -Você receberá uma saída como a seguinte.

Após a adição do repositório Node.js, você configurará o repositório para o gerenciador de pacotes Yarn. Este repositório fornece o pacote Yarn que será usado para instalar dependências JavaScript.
Execute o comando abaixo para adicionar a chave GPG e o repositório do gerenciador de pacotes Yarn.
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.listO terceiro repositório que você adicionará é o repositório PostgreSQL. Execute o comando abaixo para adicionar o repositório PostgreSQL ao seu servidor Debian.
wget -O /usr/share/keyrings/postgresql.asc https://www.postgresql.org/media/keys/ACCC4CF8.asc
echo "deb [signed-by=/usr/share/keyrings/postgresql.asc] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" \
> /etc/apt/sources.list.d/postgresql.list
Com os repositórios Node.js, Yarn e PostgreSQL adicionados, execute o comando apt abaixo para atualizar seu índice de pacotes.
sudo apt updateVocê receberá uma saída como esta.

Por fim, execute o comando apt abaixo para instalar as dependências de pacotes que serão usadas para instalar o Mastodon.
sudo apt install imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev file git-core \
g++ libprotobuf-dev protobuf-compiler pkg-config nodejs gcc autoconf \
bison build-essential libssl-dev libyaml-dev libreadline6-dev \
zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev \
nginx nodejs yarn redis-server redis-tools postgresql postgresql-contrib \
certbot python3-certbot-nginx libidn11-dev libicu-dev libjemalloc-devDigite y quando solicitado para a confirmação e pressione ENTER para prosseguir.

Com isso, você instalou as dependências básicas para o Mastodon e adicionou alguns repositórios de terceiros ao seu sistema Debian.
Nos próximos passos, você instalará o Ruby via rbenv - O gerenciador de versões Ruby.
Instalando rbenv e Ruby
rbenv é uma ferramenta de gerenciamento de versões para a linguagem de programação Ruby em sistemas semelhantes ao Unix. É útil para alternar entre várias versões do Ruby na mesma máquina e para garantir que cada projeto em que você está trabalhando sempre seja executado na versão correta do Ruby.
Para começar, execute o comando abaixo para criar um novo usuário ‘mastodon‘ em seu sistema. Este novo usuário será usado para executar serviços relacionados ao Mastodon, e o código-fonte do Mastodon será armazenado no diretório home deste usuário.
sudo adduser --disabled-login mastodonDurante o processo, você será solicitado a configurar os detalhes do usuário. Insira suas informações de usuário e digite y para confirmar e pressione ENTER.

Após a criação do usuário ‘mastodon‘, execute o comando abaixo para fazer login.
su - mastodonEm seguida, baixe o código-fonte do rbenv via o comando git abaixo.
git clone https://github.com/rbenv/rbenv.git ~/.rbenvEntão execute o comando abaixo para instalar o rbenv em seu sistema.
cd ~/.rbenv && src/configure && make -C srcVocê receberá uma saída como esta após a instalação do rbenv.

Em seguida, execute o comando abaixo para adicionar o diretório ‘bin’ do rbenv ao PATH do sistema e carregar o rbenv toda vez que o usuário fizer login em uma nova sessão.
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrcAgora recarregue seu shell atual recarregando o arquivo de configuração bashrc. Em seguida, insira o comando ‘rbenv’ em seu shell e pressione TAB.
source ~/.bashrc
rbenv TABNa captura de tela a seguir, o rbenv está instalado e você pode agora executar o comando rbenv para instalar o Ruby.
Antes de instalar o Ruby, você precisa instalar o plugin rbenv chamado ‘ruby-build’. Este plugin fornece ferramentas de linha de comando que simplificam a instalação do Ruby a partir do código-fonte, especialmente para sistemas operacionais semelhantes ao UNIX.
Baixe o plugin ‘ruby-build’ via o comando git.
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
Após a adição do plugin ‘ruby-build’, execute o comando abaixo para instalar o Ruby v3.0.4, que é necessário para a versão atual do Mastodon.
RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 3.0.4Após a instalação ser concluída, você receberá uma saída semelhante a esta.

Agora execute o comando abaixo para definir a versão padrão do Ruby para 3.0.4. Em seguida, verifique usando o comando ruby como abaixo. Você verá que o Ruby v3.0.4 está instalado em seu sistema Debian.
rbenv global 3.0.4
ruby --version
Por fim, você deve instalar um bundler como seu gerenciamento de pacotes Ruby. Execute o comando gem abaixo para instalar ‘bundler’.
gem install bundler --no-documentNeste ponto, você terminou a instalação das dependências do pacote Mastodon em seu sistema. Você instalou o Ruby 3.0.4 via o gerenciador de versões Ruby rbenv e instalou o bundler, a ferramenta de gerenciamento de pacotes Ruby.
Nos próximos passos, você configurará o usuário PostgreSQL que será usado para a instalação do Mastodon.
Configurando o Servidor de Banco de Dados PostgreSQL
Neste passo, você verificará o serviço PostgreSQL para garantir que o serviço esteja habilitado e em execução. Em seguida, você criará um novo usuário/papel PostgreSQL ‘mastodon’ via o shell PostgreSQL.
Certifique-se de executar esses comandos abaixo com usuário/root.
Antes de começar, execute o comando systemctl abaixo para garantir que o serviço PostgreSQL esteja em execução e habilitado.
sudo systemctl is-enabled postgresql
sudo systemctl status postgresqlVocê deve receber uma saída semelhante a esta.

Com o PostgreSQL em execução, execute o comando abaixo para fazer login no shell PostgreSQL.
cd /etc/postgresql
sudo -u postgres psqlApós fazer login no shell PostgreSQL, execute a consulta PostgreSQL abaixo para criar um novo papel/usuário ‘mastodon‘. Além disso, certifique-se de alterar a senha padrão para uma nova senha forte.
CREATE USER mastodon CREATEDB;
ALTER USER mastodon PASSWORD 'p4ssw0rd';Em seguida, execute a consulta abaixo para garantir que o novo usuário/papel PostgreSQL seja criado. Em seguida, digite ‘\q‘ para sair do shell PostgreSQL.
\du
\qA saída abaixo mostra que o novo usuário/papel PostgreSQL ‘mastodon’ foi criado.

Com o usuário/papel PostgreSQL criado, você estará pronto para instalar o Mastodon em seu sistema Debian.
Instalando o Mastodon
Você instalará e configurará o Mastodon em seu servidor Debian neste passo. Você também instalará dependências Ruby e dependências JavaScript para o Mastodon. E por fim, você começará a configurar o Mastodon para sua implantação, isso inclui a configuração do domínio, configuração do banco de dados e redis, configuração SMTP e também a configuração do usuário administrador do Mastodon.
Antes de começar, faça login no usuário ‘mastodon’ via o comando abaixo.
su - mastodonAgora baixe o código-fonte do Mastodon via o comando git e mude o branch para a versão estável mais recente do Mastodon. No momento da redação deste texto, a versão estável do Mastodon é v4.0.2.
git clone https://github.com/mastodon/mastodon.git live && cd live
git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)
Em seguida, execute o comando abaixo para configurar a implantação do Mastodon e instalar as dependências Ruby.
bundle config deployment 'true'
bundle config without 'development test'
bundle install -j$(getconf _NPROCESSORS_ONLN)A instalação das dependências Ruby do Mastodon levará tempo. Abaixo está a saída semelhante que você receberá em seu terminal.

Após instalar as dependências Ruby do Mastodon, execute o comando yarn abaixo para instalar as dependências JavaScript para o Mastodon.
yarn install --pure-lockfileVocê receberá uma saída semelhante a esta.

Com as dependências Ruby e JavaScript instaladas, você configurará sua instalação do Mastodon.
Execute o comando abaixo para configurar o Mastodon para o ambiente de produção.
RAILS_ENV=production bundle exec rake mastodon:setupVocê será questionado sobre algumas configurações do Mastodon.
- O nome de domínio do Mastodon? Este exemplo usa o domínio ‘mastodon.howtoforge.local’.
- Ativar modo de usuário único? Digite y.
- Usar Docker para executar o Mastodon? Digite n para não.
- Digite o usuário e a senha do PostgreSQL e certifique-se de receber a mensagem ‘A configuração do banco de dados funciona!’.
- Configuração do Redis? deixe como padrão pressionando ENTER.
- Habilitar upload de arquivos para a nuvem? Digite n para não.
- Permitir o envio de e-mails do localhost? Digite y para sim ou n para não. Isso depende do seu ambiente, você também pode usar um servidor SMTP de terceiros.
- Salvar a configuração? Digite y para sim.
- Para a criação do banco de dados. Digite y para criar o banco de dados do Mastodon.
- Digite y para compilar ativos e arquivos estáticos para o Mastodon.
- Configurar usuário administrador? Digite o novo usuário administrador e e-mail para sua instalação do Mastodon. E você receberá a senha gerada automaticamente na tela.
Configuração do Mastodon para nome de domínio, PostgreSQL, servidor Redis e servidor de e-mail SMTP.

Mastodon gera ativos e arquivos estáticos.

O usuário administrador do mastodon é criado e a senha também é gerada na tela do terminal.
Neste ponto, você terminou a instalação e configuração do Mastodon no Debian 11. Nos próximos passos, você configurará o Mastodon como um serviço systemd.
Executando o Mastodon como Serviço Systemd
Por padrão, o Mastodon fornece um exemplo de arquivos de serviço systemd que estão disponíveis no diretório ‘/home/mastodon/live/dist/‘.
Execute o comando abaixo para copiar os arquivos de serviço do Mastodon para o diretório ‘/etc/systemd/system‘.
sudo cp /home/mastodon/live/dist/mastodon-*.service /etc/systemd/system/Agora recarregue o gerenciador systemd para aplicar as alterações no systemd.
sudo systemctl daemon-reloadApós isso, inicie e habilite os serviços do Mastodon via o utilitário de comando systemctl abaixo.
sudo systemctl start mastodon-web mastodon-sidekiq mastodon-streaming
sudo systemctl enable mastodon-web mastodon-sidekiq mastodon-streaming
Os serviços do Mastodon devem agora estar em funcionamento e também habilitados. Verifique usando o comando systemctl abaixo.
sudo systemctl status mastodon-web mastodon-sidekiq mastodon-streamingVocê receberá uma saída semelhante às capturas de tela a seguir.
O serviço mastodon-web está em execução e habilitado.

O mastodon-sidekiq também está em execução e habilitado.

O serviço mastodon-streaming também está em execução e habilitado.

Com todos os serviços do Mastodon em execução e habilitados, você configurará o Nginx como um proxy reverso para o Mastodon e gerará SSL Letsencrypt.
Configurando o Nginx como um Proxy Reverso
Neste passo, você configurará o servidor web Nginx como o proxy reverso para o Mastodon. Você também gerará SSL Letsencrypt via o comando certbot e protegerá o Mastodon via conexão segura HTTPS.
Copie a configuração padrão do bloco de servidor Nginx do Mastodon para ‘/etc/nginx/sites-available/mastodon’. Em seguida, ative a nova configuração do bloco de servidor ‘/etc/nginx/sites-available/mastodon‘.
sudo cp /home/mastodon/live/dist/nginx.conf /etc/nginx/sites-available/mastodon
sudo ln -s /etc/nginx/sites-available/mastodon /etc/nginx/sites-enabled/mastodonEm seguida, abra o arquivo de configuração do bloco de servidor do Mastodon ‘/etc/nginx/sites-available/mastodon’ usando o comando do editor nano abaixo.
sudo nano /etc/nginx/sites-available/mastodonAltere o nome de domínio padrão para o seu domínio do Mastodon. Neste exemplo, o domínio para o Mastodon é ‘mastodon.howtoforge.local‘.
alterar domínio
Salve o arquivo e saia do editor quando terminar.
Em seguida, execute o comando abaixo para gerar certificados SSL da Letsencrypt. Certifique-se de alterar o nome do domínio para o seu domínio.
sudo certbot --nginx -d mastodon.howtoforge.localApós os certificados SSL serem gerados, execute o comando abaixo para verificar a configuração do Nginx. Se você receber a mensagem de saída como ‘teste bem-sucedido - sintaxe ok‘, isso significa que você tem a configuração adequada. Em seguida, reinicie o serviço Nginx para aplicar novas alterações.
sudo nginx -t
sudo systemctl restart nginx
Por fim, execute o utilitário de comando systemctl abaixo para verificar o serviço Nginx e garantir que o serviço esteja em execução e habilitado.
sudo systemctl is-enabled nginx
sudo systemctl status nginxVocê receberá uma saída semelhante a esta - O serviço Nginx está atualmente em execução e habilitado. O serviço Nginx será executado automaticamente na inicialização.

Com toda a configuração concluída, seu Mastodon agora está acessível via navegador web.
Acessando a Instalação do Mastodon
Abra seu navegador web e visite o nome de domínio da sua instalação do Mastodon (ou seja: https://mastodon.howtoforge.local/). Você agora verá a página inicial padrão do Mastodon.

Clique no botão ‘Entrar‘ para verificar seu usuário.
Agora insira seu usuário administrador e a senha gerada para o Mastodon. Em seguida, clique em Entrar.

Você verá então a página inicial do usuário do Mastodon.

Em seguida, clique no menu Preferências para acessar a página de preferências do usuário. Depois, clique no menu Administração no lado esquerdo. E você deve obter a página de administração do Mastodon abaixo.
Você pode ver os detalhes da pilha de software que está atualmente usando em sua instalação do Mastodon.

Conclusão
Parabéns! Você agora terminou a instalação da plataforma de microblogging Mastodon em um servidor Debian 11. Você instalou o Mastodon com PostgreSQL como o servidor de banco de dados e Nginx como o proxy reverso. Você também protegeu a implantação do Mastodon através de conexões HTTPS seguras.
Após toda a instalação, você pode agora configurar a regra do Mastodon para suportes de federação. Você também pode adicionar uma camada de segurança adicional à sua instalação do Mastodon.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.