Instalação de Software · 14 min read · Nov 17, 2025
Como Instalar o Kuma - Alternativa ao Uptime Robot Auto-hospedada no Ubuntu 20.04

Uptime-Kuma é uma ferramenta de monitoramento de código aberto como o “Uptime Robot” escrita em Nodejs. É uma ferramenta de monitoramento auto-hospedada com um painel bonito e elegante e suporta múltiplos métodos de notificação. O Uptime-Kuma monitorará o tempo de atividade de hosts ou servidores via protocolo HTTP(s), TCP e Ping. Se os hosts não puderem ser alcançados através desses protocolos em intervalos, os hosts de uptime enviarão notificações via Webhooks, Telegram, Discord, Gotify, Slack, Pushover, Email (SMTP), etc.
Neste guia, você aprenderá como instalar o Uptime-Kuma em um servidor Ubuntu e usar o servidor web Apache como um proxy reverso com um Certificado SSL Let’s Encrypt gratuito na frente dele. Durante a instalação, você também aprenderá sobre a instalação do nodejs através do nvm (gerenciador de versões do node).
Pré-requisitos
- Um servidor Ubuntu 20.04.
- Um usuário com privilégios de root. Você usará este usuário para instalar novos pacotes e modificar configurações do sistema.
Adicionando Novo Usuário
Primeira coisa, você adicionará um novo usuário ao sistema Ubuntu. Por razões de segurança, o aplicativo Uptime-Kuma será executado como um usuário não-root.
- Adicione um novo usuário executando o comando abaixo. Para este exemplo, usaremos o nome de usuário “ johndoe “. certifique-se de mudar o nome de usuário para o seu próprio.
useradd -m -s /bin/bash johndoeOpções que você deve conhecer:
- -m = cria automaticamente o diretório home para o nome de usuário, que estará disponível sob o diretório ‘/home’.
- -s = define o caminho do shell para o usuário, a maioria das distribuições Linux tem o shell
/bin/bash.
- Depois disso, execute o seguinte comando para configurar a senha para o usuário “johndoe”.
passwd johndoeAgora digite uma nova senha forte e repita, em seguida, pressione “ Enter “ para confirmar.
- Em seguida, adicione o usuário “johndoe” ao grupo “ sudo “ usando o comando abaixo.
usermod -aG sudo johndoeAo adicionar usuários ao grupo “ sudo “, isso permitirá que os usuários executem o comando “sudo su” e obtenham privilégios de root.
Instalar NVM (Node Version Manager)
NVM ou Node Version Manager é uma ferramenta de linha de comando para instalar múltiplas versões do nodejs em um sistema. Esta ferramenta permite que você instale uma versão específica do nodejs para suas aplicações, tornando seu ambiente de desenvolvimento e implantações flexível.
Para esta fase, você instalará o nvm sob o usuário não-root “johndoe”.
- A partir do seu shell root, faça login no usuário “johndoe” usando o seguinte comando.
su - johndoe- Baixe e execute o script instalador do nvm da seguinte forma.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
- Após o sucesso, recarregue o ambiente bash usando o comando abaixo.
source ~/.bashrc- Agora verifique a instalação do “ nvm “ executando o comando abaixo.
command -v nvmSe sua instalação for bem-sucedida, você verá o resultado “ nvm “. Caso contrário, você não verá nada ou um resultado em branco.
Agora execute o comando nvm como abaixo.
nvm --helpE você verá a página de ajuda manual do comando nvm.
Node Version Manager (v0.38.0)
Nota: refere-se a qualquer string semelhante a versão que o nvm entende. Isso inclui:
- números de versão completos ou parciais, começando com um "v" opcional (0.10, v0.1.2, v1)
- aliases padrão (embutidos): node, stable, unstable, iojs, system
- aliases personalizados que você define com `nvm alias foo`
Quaisquer opções que produzem saída colorida devem respeitar a opção `--no-colors`.
Uso:
nvm --help Mostra esta mensagem
--no-colors Suprimir saída colorida
.....
Nota:
para remover, excluir ou desinstalar o nvm - basta remover a pasta `$NVM_DIR` (geralmente `~/.nvm`) Instalar Versão LTS do Nodejs
Para instalar o aplicativo uptime-Kuma, você precisa instalar o nodejs >= 14, git e pm2. Para este ponto, você instalará a versão LTS mais recente do nodejs usando o comando nvm.
- Execute o comando nvm abaixo para instalar a versão LTS mais recente do nodejs.
nvm install --ltsUma vez que a instalação seja bem-sucedida, você verá uma saída semelhante a abaixo.

A primeira versão do nodejs que você instala se torna a versão padrão em seu ambiente de desenvolvimento.
- Agora execute o seguinte comando para verificar a instalação do nodejs.
node --version
npm --versionSe sua instalação for bem-sucedida, você verá uma saída semelhante à abaixo.
# versão do nodejs
v14.17.4
# versão do npm
6.14.14Baixar e Instalar Uptime-Kuma
Neste ponto, você está pronto para instalar o aplicativo Uptime-Kuma.
- Clone o código-fonte do uptime-Kuma usando o comando git abaixo.
git clone https://github.com/louislam/uptime-kuma.git- Depois disso, mude o diretório de trabalho para “ uptime-kuma/ “ e execute o comando npm para instalar todos os pacotes necessários para o uptime-kuma.
cd uptime-kuma/
npm run setupE você verá uma saída semelhante a abaixo.

Configurando Uptime-Kuma com pm2
O que é pm2? É um gerenciador de processos nodejs que ajudará você a gerenciar e manter seu aplicativo nodejs vivo para sempre. O pm2 tem alguns recursos embutidos que facilitam a implantação de aplicativos nodejs, permitindo que você monitore o status do seu aplicativo, logs e até mesmo configure o arquivo de serviço para seu aplicativo.
- Instale o pacote pm2 usando o comando npm abaixo.
npm install pm2- Uma vez que a instalação esteja completa, execute o comando pm2 abaixo para iniciar o aplicativo uptime-kuma.
pm2 start npm --name uptime-kuma -- run start-server -- --port=3001 --hostname=127.0.0.1E você verá as mensagens de saída como abaixo.

Como visto na imagem, o nome do aplicativo “ uptime-kuma “ está em execução com o status “ online “.
- Para verificar o status do seu aplicativo no pm2, execute os seguintes comandos abaixo.
Verifique o status do aplicativo nodejs.
pm2 statusVerifique os logs do aplicativo nodejs.
pm2 logs
Monitoramento em tempo real do aplicativo nodejs.
pm2 monit
- Em seguida, execute o seguinte comando pm2 para gerar o arquivo de serviço para o aplicativo uptime-kuma.
pm2 startupDepois disso, você deve executar o comando conforme ordenado na saída.
sudo env PATH=$PATH:/home/johndoe/.nvm/versions/node/v14.17.4/bin /home/johndoe/.nvm/versions/node/v14.17.4/lib/node_modules/pm2/bin/pm2 startup systemd -u johndoe --hp /home/johndoeCertifique-se de usar o comando “ sudo “ e digitar a senha correta para seu usuário para obter privilégios de root.
Uma vez que o comando esteja completo, você verá a seguinte saída.

Como visto na captura de tela, o pm2 gera um serviço systemd baseado no usuário, para este exemplo é “ pm2-johndoe.service “.
Agora execute o seguinte comando para gerar e salvar o estado do aplicativo uptime-kuma. Este comando é importante para fazer com que o aplicativo uptime-kuma sempre funcione em segundo plano, mesmo após a inicialização do sistema.
pm2 save- Para verificar o serviço ‘ pm2-johndoe’, execute o comando abaixo.
sudo systemctl is-enabled pm2-johndoeVocê verá a saída enabled, o que significa que o aplicativo uptime-kuma será executado automaticamente após a inicialização do sistema.
Além disso, você pode tentar reiniciar seu sistema e fazer login novamente no servidor, em seguida, verifique o serviço uptime-kuma.
sudo systemctl status pm2-johndoeVocê deve ver uma saída semelhante a abaixo.
? pm2-johndoe.service - Gerenciador de processos PM2
Loaded: loaded (/etc/systemd/system/pm2-johndoe.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2021-08-10 01:52:37 UTC; 3min 57s ago
Docs: https://pm2.keymetrics.io/
Main PID: 745 (PM2 v5.1.0: God)
Tasks: 34 (limit: 2343)
Memory: 120.4M
CGroup: /system.slice/pm2-johndoe.service
??745 PM2 v5.1.0: God Daemon (/home/johndoe/.pm2)
??772 npm
??873 sh -c node server/server.js "--port=3001" "--hostname=127.0.0.1"
??874 node server/server.js --port=3001 --hostname=127.0.0.1
Aug 10 01:52:36 ubuntu64 pm2[633]: [PM2] Spawning PM2 daemon with pm2_home=/home/johndoe/.pm2
Aug 10 01:52:37 ubuntu64 pm2[633]: [PM2] PM2 Successfully daemonized
Aug 10 01:52:37 ubuntu64 pm2[633]: [PM2] Resurrecting
Aug 10 01:52:37 ubuntu64 pm2[633]: [PM2] Restoring processes located in /home/johndoe/.pm2/dump.pm2
Aug 10 01:52:37 ubuntu64 pm2[633]: [PM2] Process /home/johndoe/.nvm/versions/node/v14.17.4/bin/npm restoredO “ pm2-johndoe.service “ está ativo e em execução na inicialização do sistema.
Configurar o Apache como um Proxy Reverso
Para este guia, você instalará e configurará o servidor web Apache como um proxy reverso para o aplicativo uptime-Kuma.
- Execute o seguinte comando para instalar os pacotes do servidor web apache.
sudo apt install apache2Digite “y” e pressione “ Enter “ para instalar o servidor web apache.
- Depois disso, habilite alguns módulos do apache usando o comando abaixo.
sudo a2enmod ssl proxy proxy_ajp proxy_wstunnel proxy_http rewrite deflate headers proxy_balancer proxy_connect proxy_html- Em seguida, crie uma nova configuração de host virtual ‘ uptime-kuma.conf ‘ usando o comando do editor nano abaixo.
sudo nano /etc/apache2/sites-available/uptime-kuma.confCole a seguinte configuração no seu shell de terminal e mude o nome do domínio “ uptime.example.net “ para o seu domínio como “ domain.com “.
ServerName uptime.example.net
ProxyPass / http://localhost:3001/
RewriteEngine on
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteRule ^/?(.*) "ws://localhost:3001/$1" [P,L]
Pressione “ Ctrl+x “ e digite “ Y “ para salvar a configuração.
- Agora ative a configuração de host virtual apache “uptime-kuma” usando o comando abaixo.
sudo a2ensite uptime-kumaDepois disso, execute o seguinte comando para verificar a configuração do apache e garantir que você não tenha nenhum erro.
sudo apachectl configtest- Agora aplique a nova configuração reiniciando o serviço apache usando o comando abaixo.
sudo systemctl restart apache2
Protegendo o Uptime-kuma com SSL Letsencrypt
Para proteger o acesso ao Uptime-Kuma, você configurará o SSL do Letsencrypt para o servidor web apache.
- Primeiro de tudo, instale a ferramenta certbot executando o seguinte comando.
sudo apt install python3-certbot-apacheDigite “ y “ e pressione “ Enter “ para iniciar a instalação.
- Após a instalação, gere o SSL Let’s encrypt usando o comando certbot como abaixo.
sudo certbot --apache yourdomain.comDigite seu endereço de e-mail para se registrar no Letsencrypt e pressione “ Enter “ para continuar. O Letsencrypt enviará e-mails para seu endereço de e-mail sempre que seus certificados SSL expirarem.
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter ‘c’ to
cancel): [email protected]
Para os TOS (Termos de Serviço) do Letsencrypt, digite " A " para concordar e pressione " Enter " para continuar.
- Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- Please read the Terms of Service at
- (A)gree/(C)ancel: AWould you be willing to share your email address with the Electronic Frontier
Para o compartilhamento de e-mail com a EFF (Electronic Frontier Foundation), você pode digitar " Y " para sim e " N " para não. Para este exemplo, não compartilharemos um endereço de e-mail com a EFF.
Foundation, a founding partner of the Let’s Encrypt project and the non-profit
organization that develops Certbot? We’d like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- (A)gree/(C)ancel: A
- (Y)es/(N)o: N
Agora a ferramenta certbot gerará SSL Letsencrypt para o nome de domínio Uptime-Kuma. Além disso, adicionará algumas configurações adicionais para a configuração do host virtual apache. Você será solicitado a configurar o redirecionamento automático de HTTP para HTTPS. Digite o número "2" para configurar o redirecionamento automático do apache de HTTP para HTTPS e pressione " Enter ".Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
- (Y)es/(N)o: N
Uma vez que o processo de implantação seja bem-sucedido, você verá uma saída semelhante a abaixo.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://uptime.example.net
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=uptime.example.net
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/uptime.example.net/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/uptime.example.net/privkey.pem
Your cert will expire on 2021-10-10. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
- We were unable to subscribe you the EFF mailing list because your
e-mail address appears to be invalid. You can try again later by
visiting https://act.eff.org.Verificar a Instalação do Uptime-Kuma
- Abra seu navegador web e digite a URL de instalação do Uptime-Kuma na barra de endereços.
Você será redirecionado para a conexão segura HTTPS.
- crie um novo usuário admin para o Uptime-kuma na primeira página. Digite seu usuário admin e senha, em seguida, clique no botão “ Criar “

- Depois disso, faça login com seu novo nome de usuário e senha, em seguida, clique no botão “ Login “.

Agora, você verá o painel do uptime-kuma.
- Para adicionar um novo host ao monitor, clique no botão “ Adicionar Novo Monitor “.

- Para este exemplo, você estará monitorando o site, então escolha o “ Tipo de Monitor “ como “ HTTP(s) “, digite o endereço URL do site, clique no “ Configurar Notificação “ para suporte a notificação, e então clique no botão “ Salvar “ na parte inferior da página.

- Você será redirecionado para o painel do uptime-Kuma e verá seu host na página do painel.

Abaixo está outro exemplo após adicionar o novo tipo “ TCP/IP “ com portas fechadas, e o resultado é “ ENCONNREFUSED “ ou erro de conexão porque a porta foi recusada/fechada.

Conclusão
Parabéns! Você instalou com sucesso o Uptime-Kuma com o servidor web Apache como um proxy reverso e protegeu a implantação do Uptime-Kuma com SSL Letsencrypt. Para a próxima fase, você pode adicionar seus hosts e ativar a notificação para qualquer incidente de queda.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.