Instalação · 9 min read · Oct 26, 2025
Como Instalar Statping no Ubuntu 22.04

Statping é um monitor de tempo de atividade de código aberto que acompanha sites e aplicativos hospedados em vários servidores. Ele pode gerar uma bela página de status ao buscar dados em tempo real de várias fontes. Ele pode trabalhar com vários sistemas de banco de dados, incluindo SQLite, MySQL e Postgres. Para o nosso tutorial, usaremos o fork do Statping, chamado Statping-ng, uma vez que o aplicativo original não está mais sendo desenvolvido.
Neste tutorial, você aprenderá como instalar o Statping em um servidor Ubuntu 22.04 usando Docker e Nginx como proxy.
Pré-requisitos
- Um servidor rodando Ubuntu 22.04.
- Um usuário não-root com privilégios sudo.
- O Firewall Uncomplicated (UFW) está habilitado e em execução.
- Um nome de domínio totalmente qualificado (FQDN) apontando para o servidor, como
status.example.com. - Tudo está atualizado.
$ sudo apt update && sudo apt upgrade
Passo 1 - Configurar o Firewall
Antes de instalar qualquer pacote, o primeiro passo é configurar o firewall para permitir conexões HTTP e HTTPS.
Verifique o status do firewall.
$ sudo ufw status
Você deve ver algo como o seguinte.
Status: ativo
Para Ação De
-- ------ ----
OpenSSH PERMITIR Em qualquer lugar
OpenSSH (v6) PERMITIR Em qualquer lugar (v6)
Permita as portas HTTP e HTTPS.
$ sudo ufw allow http
$ sudo ufw allow https
Verifique o status novamente para confirmar.
$ sudo ufw status
Status: ativo
Para Ação De
-- ------ ----
OpenSSH PERMITIR Em qualquer lugar
80/tcp PERMITIR Em qualquer lugar
443 PERMITIR Em qualquer lugar
OpenSSH (v6) PERMITIR Em qualquer lugar (v6)
80/tcp (v6) PERMITIR Em qualquer lugar (v6)
443 (v6) PERMITIR Em qualquer lugar (v6)
Passo 2 - Instalar o Docker
Adicione a chave GPG oficial do Docker.
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg
Execute o seguinte comando para adicionar o repositório do Docker.
$ echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Atualize o sistema para incluir o repositório do Docker.
$ sudo apt update
Instale o Docker e o plugin Docker Compose.
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Este tutorial usará o plugin Docker Compose v2 em vez do binário legado mais antigo. Portanto, o comando para executá-lo mudou de docker-compose para docker compose e isso está refletido aqui.
O Docker é executado com privilégios elevados, então você precisará usar sudo frequentemente para executar comandos. A melhor opção é adicionar sua conta de usuário Linux ao grupo de usuários docker.
$ sudo usermod -aG docker ${USER}
A variável ${USER} pega a conta do sistema atualmente logada. Se você não estiver logado com o usuário ao qual deseja conceder privilégios, substitua ${USER} pelo nome de usuário.
Para aplicar a nova associação ao grupo, saia do servidor e entre novamente, ou use o seguinte comando. Você será solicitado a inserir a senha do usuário.
$ su - ${USER}
Passo 3 - Instalar o Nginx
O Ubuntu 22.04 vem com uma versão mais antiga do Nginx. Para instalar a versão mais recente, você precisa baixar o repositório oficial do Nginx.
Importe a chave de assinatura do Nginx.
$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
Adicione o repositório para a versão estável do Nginx.
$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg arch=amd64] \
http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
Atualize os repositórios do sistema.
$ sudo apt update
Instale o Nginx.
$ sudo apt install nginx
Verifique a instalação.
$ nginx -v
nginx version: nginx/1.22.0
Passo 4 - Instalar SSL
Precisamos instalar o Certbot para gerar o certificado SSL. Você pode instalar o Certbot usando o repositório do Ubuntu ou pegar a versão mais recente usando a ferramenta Snapd. Usaremos a versão Snapd.
O Ubuntu 22.04 vem com o Snapd instalado por padrão. Execute os seguintes comandos para garantir que sua versão do Snapd esteja atualizada.
$ sudo snap install core
Instale o Certbot.
$ sudo snap install --classic certbot
Use o seguinte comando para garantir que o comando Certbot possa ser executado criando um link simbólico para o diretório /usr/bin.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Execute o seguinte comando para gerar um Certificado SSL.
$ sudo certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d status.example.com
O comando acima fará o download de um certificado para o diretório /etc/letsencrypt/live/status.example.com em seu servidor.
Gere um certificado de grupo Diffie-Hellman.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Abra o arquivo /etc/letsencrypt/renewal/status.example.com.conf para edição.
$ sudo nano /etc/letsencrypt/renewal/status.example.com.conf
Cole o seguinte código na parte inferior.
pre_hook = systemctl stop nginx
post_hook = systemctl start nginx
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Geramos o certificado SSL usando a opção standalone do Certbot. Ele executa seu servidor web para criar o certificado, o que significa que o Nginx deve ser desligado durante a renovação. Os comandos pre_hook e post_hook são executados antes e depois da renovação para desligar e reiniciar automaticamente o servidor Nginx, não exigindo intervenção manual.
Para verificar se a renovação do SSL está funcionando corretamente, faça um teste do processo.
$ sudo certbot renew --dry-run
Se você não vir erros, está tudo pronto. Seu certificado será renovado automaticamente.
Passo 5 - Configurar o Arquivo Docker Compose
Crie um diretório para o arquivo Docker Compose.
$ mkdir ~/statping
Mude para o diretório.
$ cd ~/statping
Crie e abra o arquivo docker-compose para edição.
$ nano docker-compose.yml
Cole o seguinte código nele.
services:
statping:
container_name: statping
image: adamboutcher/statping-ng
restart: always
ports:
- 8080:8080
volumes:
- ./statping_data:/app
links:
- postgres
depends_on:
- postgres
environment:
DB_CONN: postgres
DB_HOST: postgres
DB_PORT: 5432
DB_DATABASE: statping
DB_USER: root
DB_PASS: password123
NAME: 'Página Statping do Howtoforge'
DESCRIPTION: 'Página de Demonstração do Statping'
USE_ASSETS: 'true'
SAMPLE_DATA: 'false'
ALLOW_REPORTS: 'false'
ADMIN_USER: navjot
ADMIN_PASSWORD: yourpassword
postgres:
container_name: postgres
image: postgres:14-alpine
ports:
- 5432:5432
volumes:
- ./pg_data:/var/lib/postgresql/data/pg_data
environment:
POSTGRES_PASSWORD: password123
POSTGRES_DB: statping
POSTGRES_USER: root
POSTGRES_PORT: 5432
PGDATA: /var/lib/postgresql/data/pg_data
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Estamos configurando as imagens Docker do Statping e do Postgres. A maior parte do arquivo Docker é fácil de seguir. Estamos usando backups de disco local para armazenar os dados do aplicativo e o banco de dados Postgres. Também configuramos várias variáveis de ambiente para configurar o aplicativo e o banco de dados. Vamos dar uma olhada nelas. Para obter uma lista completa das variáveis de ambiente que você pode definir, consulte a lista oficial do repositório do Statping no GitHub.
- A variável USE_ASSETS permite que o aplicativo use os ativos da pasta
assets. - A variável SAMPLE_DATA está definida como falsa para desativar os monitores padrão que o Statping configura durante a instalação.
- A variável ALLOW_REPORTS está definida como falsa para desativar os relatórios de erro anônimos que o Statping envia.
- As variáveis ADMIN_USER e ADMIN_PASSWORD são usadas para definir as informações de login para o usuário padrão.
- As variáveis DB_ são usadas para definir as credenciais do banco de dados, que devem corresponder às variáveis definidas para o contêiner Postgres.
Passo 6 - Configurar Nginx
Abra o arquivo /etc/nginx/nginx.conf para edição.
$ sudo nano /etc/nginx/nginx.conf
Adicione a seguinte linha antes da linha include /etc/nginx/conf.d/*.conf;.
server_names_hash_bucket_size 64;
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Crie e abra o arquivo /etc/nginx/conf.d/statusping.conf para edição.
$ sudo nano /etc/nginx/conf.d/statusping.conf
Cole o seguinte código nele. Substitua status.example.com pelo seu nome de domínio.
upstream backend {
server 127.0.0.1:8080;
keepalive 32;
}
server {
listen 80 default_server;
server_name status.example.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name status.example.com;
http2_push_preload on; # Habilitar HTTP/2 Server Push
ssl_certificate /etc/letsencrypt/live/status.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/status.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/status.example.com/chain.pem;
ssl_session_timeout 1d;
# Habilitar versões TLS (TLSv1.3 é necessário para o próximo HTTP/3 QUIC).
ssl_protocols TLSv1.2 TLSv1.3;
# Habilitar 0-RTT do TLSv1.3. Use $ssl_early_data ao fazer proxy reverso para
# evitar ataques de repetição.
#
# @veja: https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_early_data
ssl_early_data on;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384';
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:50m;
# OCSP Stapling --- buscar registros OCSP da URL no ssl_certificate e armazená-los em cache
ssl_stapling on;
ssl_stapling_verify on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
add_header X-Early-Data $tls1_3_early_data;
access_log /var/log/nginx/statusping.access.log main;
error_log /var/log/nginx/statusping.error.log;
location / {
client_max_body_size 50M;
proxy_set_header Connection "";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Frame-Options SAMEORIGIN;
proxy_set_header X-Client-Verify SUCCESS;
proxy_set_header X-Client-DN $ssl_client_s_dn;
proxy_set_header X-SSL-Subject $ssl_client_s_dn;
proxy_set_header X-SSL-Issuer $ssl_client_i_dn;
proxy_buffers 256 16k;
proxy_buffer_size 16k;
proxy_read_timeout 1800s;
proxy_connect_timeout 1800s;
proxy_http_version 1.1;
proxy_pass http://backend;
}
}
# Este bloco é útil para depurar TLS v1.3. Sinta-se à vontade para remover isso
# e usar a variável `$ssl_early_data` exposta pelo NGINX diretamente, se desejar.
map $ssl_early_data $tls1_3_early_data {
"~." $ssl_early_data;
default "";
}
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Verifique sua configuração do Nginx.
$ sudo nginx -t
Reinicie o servidor Nginx.
$ sudo systemctl restart nginx
Passo 7 - Executar Statping
Mude para o diretório Statping.
$ cd ~/statping
Crie e inicie o contêiner Docker.
$ docker compose up -d
Verifique o status do contêiner.
$ docker compose ps
Você verá a seguinte saída.
NAME COMMAND SERVICE STATUS PORTS
postgres "docker-entrypoint.s…" postgres running 0.0.0.0:5432->5432/tcp
statping "/bin/sh -c 'statpin…" statping running (healthy) 0.0.0.0:8080->8080/tcp
Você também pode usar o comando docker ps para obter um status mais detalhado. Para verificar os logs do contêiner, use o comando docker logs .
Passo 8 - Configurar Statping
Agora que seu contêiner está em execução, abra a URL https://status.example.com em seu navegador e você verá uma página de status em branco. Se você omitir a variável SAMPLE_DATA no arquivo docker compose, verá uma página completa com diferentes serviços pré-definidos.

Clique no link Dashboard na parte inferior para acessar a tela de login.

Preencha admin como nome de usuário e senha padrão. Certifique-se de digitar o nome de usuário também, mesmo que pareça estar preenchido automaticamente. Clique no botão Sign in para acessar o painel do Statping.

Para adicionar um novo serviço, clique no botão Create e preencha os valores necessários.

Clique no botão Create service na parte inferior para finalizar. Para configurar e-mail e outras notificações, visite a página de configurações. Você também pode dar um novo nome à sua página de estatísticas.

Passo 9 - Atualizar Statping
Atualizar o Statping é um passo simples. Mude para o diretório do Docker compose do Statping.
$ cd ~/statping
Em seguida, pare e remova o contêiner existente. Seus dados serão mantidos.
$ docker compose down --remove-orphans
Baixe a versão mais recente da imagem Docker do Statping.
$ docker compose pull
Inicie os contêineres novamente.
$ docker compose up -d
Sua instalação do Statping está atualizada e iniciada novamente.
Conclusão
Isso conclui o tutorial onde você aprendeu como instalar o Statping em um servidor Ubuntu 22.04. Se você tiver alguma dúvida, poste nos comentários abaixo.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.