Implante Umami em VPS: Alternativa Open Source Gratuita

11 min 120 Open Source Alternatives
Resumir com:
ChatGPT Claude Gemini Perplexity Grok
Compartilhar:
WhatsApp LinkedIn X

Se este conteúdo faz parte do seu projeto

Escolha a VPS pelo uso, não pelo excesso

Escolha pelo uso: Basic para projetos pequenos, Performance para produção com múltiplos serviços e Ultra para cargas maiores.

PlanoRecursosMensalPerfil
Basic4 vCPU · 4 GB RAM · 100 GB NVMeR$ 99Site e projeto pequeno
Performance6 vCPU · 12 GB RAM · 150 GB NVMeR$ 169Produção e múltiplos serviços
Ultra8 vCPU · 20 GB RAM · 200 GB NVMeR$ 269Cargas maiores e mais margem
Prova técnica: no benchmark publicado da VM Performance, medimos 1.855 ev/s em 6 threads, 288 ev/s em 1 thread, 11.858 MiB/s de memória e 338 MB/s de escrita sequencial, com teste direto na VM e sem Cloudflare.
Escolher Performance Falar no WhatsApp

Valores mensais exibidos para referência. A renovação segue o ciclo e o preço vigente informado no checkout antes da contratação.

Implante Umami em seu VPS: A Alternativa Self-Hosted ao Google Analytics

A decisão de hospedar o Umami em seu próprio servidor VPS surge da necessidade de controle total sobre os dados de análise web e da busca por uma alternativa gratuita e de código aberto ao Google Analytics. Este guia detalha o processo de implantação do Umami em um ambiente Linux, focando em uma instalação prática com Docker. A primeira etapa para ter o Umami rodando em produção é garantir que seu VPS atenda aos requisitos mínimos: recomendamos um servidor com 2GB de RAM e 2 vCPUs, além de pelo menos 10GB de espaço em disco, para garantir desempenho estável com o PostgreSQL e o próprio Umami.

O que é Umami e por que implantar self-hosted?

Umami é uma ferramenta de análise web leve, simples e focada em privacidade. Ao contrário de soluções como o Google Analytics, o Umami coleta dados de forma anônima e não rastreia usuários individualmente. A implantação self-hosted significa que você hospeda o software em seu próprio servidor, o que garante:

  • Controle Total dos Dados: Suas informações de tráfego permanecem sob seu controle, sem compartilhamento com terceiros.
  • Privacidade Aprimorada: Você pode configurar o Umami para ser ainda mais focado em privacidade, atendendo a regulamentações como a LGPD e GDPR.
  • Custo-Benefício: A alternativa open source é gratuita, e os custos se limitam à hospedagem do seu VPS.
  • Customização: A natureza open source permite adaptações e integrações futuras, caso necessário.

Para quem busca uma alternativa gratuita e open source para substituir o SaaS de análise web, o Umami é uma escolha excelente. Ele é ideal para pequenas e médias empresas, blogs, e qualquer site que valorize a privacidade dos dados dos visitantes.

Requisitos de Servidor para Umami em Produção

Para garantir que o Umami funcione de maneira eficiente e confiável em um ambiente de produção, alguns requisitos de servidor devem ser atendidos. Estes requisitos garantem que o Umami, junto com seu banco de dados PostgreSQL, opere sem gargalos e possa lidar com um volume razoável de tráfego.

Hardware Essencial

Em minha experiência, a configuração mínima recomendada para um Umami em produção com PostgreSQL é:

  • RAM: 2GB de RAM é o mínimo absoluto. Para um tráfego mais intenso ou para rodar outros serviços no mesmo VPS, 4GB de RAM oferecem uma margem de segurança confortável.
  • CPU: 2 vCPUs são suficientes para a maioria dos casos de uso. Se o servidor também hospedar seu site e outros serviços, considere 4 vCPUs para melhor performance.
  • Armazenamento: O Umami em si não consome muito espaço. No entanto, o banco de dados PostgreSQL crescerá com o tempo. Recomendo um mínimo de 20GB de espaço em disco SSD para o sistema operacional, Docker, Umami, PostgreSQL e logs. SSD é crucial para a performance do banco de dados.

Estes requisitos são baseados no uso típico do Umami com PostgreSQL. Se você planeja usar SQLite (não recomendado para produção), os requisitos de RAM podem ser ligeiramente menores, mas a performance geral e a escalabilidade serão comprometidas. Para um ambiente robusto, a combinação Umami + PostgreSQL em um VPS adequado é o caminho.

Software e Configurações

Além do hardware, certifique-se de que seu servidor Linux (recomendamos Ubuntu LTS) possua:

  • Docker e Docker Compose instalados.
  • Um sistema de gerenciamento de pacotes (apt) atualizado.
  • Acesso root ou sudo para executar os comandos de instalação.
  • Um firewall configurado para permitir o acesso às portas necessárias (geralmente 80/443 para o proxy reverso e a porta que o Umami expõe internamente).

Ter essas ferramentas e configurações prontas agilizará significativamente o processo de implantação. Se você ainda não tem o Docker configurado, recomendo seguir nosso guia sobre Docker em VPS: Deploy Rápido e Eficiente (Passo a Passo) para garantir que tudo esteja pronto.

Passo a Passo: Instalação do Umami com Docker Compose

A forma mais prática e recomendada de instalar o Umami é utilizando Docker Compose. Isso encapsula o Umami e seu banco de dados em contêineres isolados, simplificando a configuração, gerenciamento e atualizações.

1. Preparando o Ambiente no Servidor

Primeiro, conecte-se ao seu servidor VPS via SSH e crie um diretório para o projeto do Umami:

mkdir umami-docker
cd umami-docker

Dentro deste diretório, vamos criar o arquivo de configuração do Docker Compose (`docker-compose.yml`).

2. Criando o Arquivo Docker Compose

Crie um arquivo chamado docker-compose.yml com o seguinte conteúdo. Este arquivo define os serviços do Umami e do PostgreSQL, suas imagens, volumes para persistência de dados e redes.


version: "3.7"

services:
  umami:
    image: ghcr.io/umami-software/umami:latest
    container_name: umami
    restart: always
    ports:
      - "3000:3000"
    environment:
      - DATABASE_TYPE=postgresql
      - DATABASE_URL=postgresql://user:password@db:5432/umami
      - HASH_SALT=YOUR_RANDOM_HASH_SALT # Gere um salt aleatório!
      - NEXTAUTH_SECRET=YOUR_NEXTAUTH_SECRET # Gere um secret aleatório!
      - NEXTAUTH_URL=http://localhost:3000 # Adapte se usar proxy reverso
    depends_on:
      - db
    volumes:
      - umami_data:/data

  db:
    image: postgres:14
    container_name: umami_db
    restart: always
    environment:
      - POSTGRES_USER=user
      - POSTGRES_PASSWORD=password
      - POSTGRES_DB=umami
    volumes:
      - db_data:/var/lib/postgresql/data

virtualizes:
  umami_data:
    driver: local
  db_data:
    driver: local

Observações Importantes:

  • `DATABASE_URL`: Substitua `user`, `password` e `umami` pelos seus dados de acesso ao banco de dados.
  • `HASH_SALT` e `NEXTAUTH_SECRET`: É crucial gerar seus próprios valores aleatórios e seguros para essas variáveis. Você pode usar ferramentas online ou comandos no terminal para isso. Por exemplo, para `HASH_SALT`, gere uma string longa e aleatória. Para `NEXTAUTH_SECRET`, use `openssl rand -base64 32`.
  • `NEXTAUTH_URL`: Se você planeja acessar o Umami via proxy reverso (como Nginx ou Caddy) na porta 80 ou 443, você precisará ajustar esta URL para apontar para o seu domínio (ex: http://seusite.com).
  • Portas: A porta `3000` é a porta padrão do Umami. Ela será exposta dentro da rede Docker e mapeada para a porta `3000` do seu host.

3. Iniciando os Contêineres

Com o arquivo docker-compose.yml configurado, execute o seguinte comando para baixar as imagens e iniciar os contêineres:


docker-compose up -d

O comando `up` inicia os contêineres em segundo plano (`-d`). O Docker Compose cuidará de criar a rede necessária e conectar os serviços.

4. Verificando a Instalação

Após alguns instantes, os contêineres devem estar em execução. Você pode verificar o status com:


docker ps

Você deverá ver dois contêineres listados: `umami` e `umami_db`. Acesse `http://SEU_IP_DO_SERVIDOR:3000` em seu navegador. Você será direcionado para a página de login do Umami. As credenciais padrão são:

Após o primeiro login, é altamente recomendável alterar o email e a senha do administrador para suas próprias credenciais seguras.

Configurando um Proxy Reverso com Nginx

Para acessar o Umami de forma profissional (usando um domínio, HTTPS) e para melhor segurança, é essencial configurar um proxy reverso. O Nginx é uma escolha popular e robusta para essa tarefa.

1. Instalação do Nginx

Se o Nginx ainda não estiver instalado em seu VPS Ubuntu:


sudo apt update
sudo apt install nginx -y

2. Configuração do Bloco de Servidor do Nginx

Crie um novo arquivo de configuração para o Umami. Substitua seusite.com pelo seu domínio real:


sudo nano /etc/nginx/sites-available/umami

Cole o seguinte conteúdo no arquivo, adaptando `seusite.com` e a porta interna `3000` se necessário:


server {
    listen 80;
    server_name seusite.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $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;
    }
}

Salve e feche o arquivo (Ctrl+X, Y, Enter).

3. Habilitando e Testando a Configuração

Crie um link simbólico para habilitar o site e teste a configuração do Nginx:


sudo ln -s /etc/nginx/sites-available/umami /etc/nginx/sites-enabled/
sudo nginx -t

Se o teste retornar `syntax is ok` e `test is successful`, reinicie o Nginx para aplicar as alterações:


sudo systemctl restart nginx

Agora você pode acessar seu Umami em http://seusite.com.

4. Configurando HTTPS com Let's Encrypt (Certbot)

Para adicionar HTTPS, use o Certbot:


sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d seusite.com

Siga as instruções do Certbot para configurar seu certificado SSL. Ele modificará automaticamente a configuração do Nginx para usar HTTPS e renovar o certificado.

Se você já utiliza ou está considerando outras ferramentas de código aberto para seu servidor, pode se interessar em saber como hospedar Metabase em VPS para suas análises de BI.

Erros Comuns e Soluções

Ao implantar o Umami, alguns problemas podem surgir. Aqui estão os mais comuns e como resolvê-los:

1. Umami não inicia ou retorna erro 502 Bad Gateway

  • Causa Provável: O serviço do Umami não consegue se conectar ao banco de dados PostgreSQL.
  • Solução: Verifique as variáveis de ambiente `DATABASE_URL`, `POSTGRES_USER`, `POSTGRES_PASSWORD` e `POSTGRES_DB` no seu arquivo docker-compose.yml. Certifique-se de que correspondem exatamente às configurações do contêiner do banco de dados. Verifique também os logs do contêiner do Umami (`docker logs umami`) para mensagens de erro específicas.

2. Erro de Credenciais ao Acessar o Umami

  • Causa Provável: Credenciais de login padrão não foram alteradas ou você está usando um `HASH_SALT` ou `NEXTAUTH_SECRET` incorreto.
  • Solução: Acesse o Umami com as credenciais padrão (`[email protected]` / `admin`). Altere imediatamente a senha e o email do administrador nas configurações do painel. Se você perdeu o acesso, pode ser necessário parar os contêineres (`docker-compose down`), remover os volumes (`docker volume rm umami-docker_umami_data umami-docker_db_data` - CUIDADO: ISSO APAGA TODOS OS DADOS) e reiniciar com um novo docker-compose.yml, ou buscar formas de resetar a senha diretamente no banco de dados.

3. Acesso via Domínio não funciona, mas IP funciona

  • Causa Provável: Configuração incorreta do proxy reverso Nginx ou DNS.
  • Solução: Verifique se o DNS do seu domínio aponta corretamente para o IP público do seu VPS. Revise a configuração do arquivo do Nginx (`/etc/nginx/sites-available/umami`), especialmente o `server_name` e as diretivas `proxy_pass`. Use `sudo nginx -t` para testar a sintaxe e `sudo systemctl status nginx` para verificar se o Nginx está rodando. Se estiver usando HTTPS, certifique-se de que o Certbot configurou corretamente os blocos `server` para porta 443.

4. Consumo excessivo de RAM

  • Causa Provável: Tráfego muito alto ou um bug em alguma versão específica do Umami ou PostgreSQL.
  • Solução: Monitore o consumo de RAM dos contêineres com `docker stats`. Se o consumo for consistentemente alto, considere aumentar a RAM do seu VPS. Atualize o Umami e o PostgreSQL para as últimas versões estáveis. Verifique os logs para identificar padrões de uso incomuns.

Umami vs. Google Analytics: Principais Diferenças

Característica Umami (Self-Hosted) Google Analytics (SaaS)
Custo Gratuito (custo de hospedagem do VPS) Gratuito (com limites e coleta de dados)
Privacidade Alta (controle total dos dados) Baixa (coleta extensiva de dados do usuário)
Controle de Dados Total (em seu servidor) Limitado (dados de propriedade do Google)
Complexidade Baixa a Média Alta (curva de aprendizado acentuada)
Implantação Requer VPS e Docker (self-hosted) Integração via script (gerenciamento do Google)
Rastreamento Individual Não (por padrão) Sim (com vastas capacidades de perfilamento)
Open Source Sim Não

Perguntas Relacionadas

O Umami é realmente gratuito?

Sim, o Umami é um software open source e gratuito. Os únicos custos associados são aqueles de hospedagem do seu servidor VPS e qualquer domínio que você utilize. Não há taxas de licenciamento ou assinatura.

Qual a diferença entre Umami e Google Analytics?

A principal diferença é a privacidade e o controle dos dados. O Google Analytics é um serviço de terceiros que coleta dados de usuários, enquanto o Umami é auto-hospedado, permitindo que você controle quem acessa os dados e garantindo a anonimização dos visitantes.

O Umami rastreia usuários?

Não por padrão. O Umami foi projetado para ser uma ferramenta de análise de dados focada em privacidade. Ele coleta métricas agregadas e anônimas sobre o tráfego do site, sem rastrear individualmente os visitantes ou coletar informações pessoais identificáveis.

Posso usar Umami com SQLite?

Embora o Umami suporte SQLite, essa opção não é recomendada para ambientes de produção. SQLite é um banco de dados baseado em arquivo que pode ter limitações de performance e escalabilidade sob carga. O PostgreSQL é a opção recomendada para a maioria dos cenários de produção.

Conclusão: Seu Controle de Análise Web Começa Agora

Implantar o Umami em seu próprio VPS oferece uma solução poderosa e privada para análise web. Seguindo este guia, você terá seu Umami rodando em poucos minutos, com a segurança e flexibilidade do self-hosting. O controle total dos seus dados e a privacidade dos seus visitantes agora estão ao seu alcance, sem custos de licença.

Recomendação de Hospedagem

Para rodar o Umami com PostgreSQL de forma eficiente, recomendamos o plano VPS Brasil Starter. Com 2GB de RAM e 2 vCPUs, ele oferece o desempenho necessário para esta stack. Nossos clientes rodam essa mesma stack em uma VPS Brasil Starter, garantindo estabilidade e um excelente custo-benefício. Dê o primeiro passo para ter suas análises web sob seu controle:

Escolha seu VPS Brasil Starter por R$ 49/mês

Perguntas Frequentes

Para rodar o Umami em produção com PostgreSQL, recomendamos um mínimo de 2GB de RAM e 2 vCPUs. Um disco SSD de pelo menos 20GB é ideal para o sistema operacional, contêineres Docker, Umami e o banco de dados. Para maior performance e escalabilidade, considere 4GB de RAM e 4 vCPUs.

Após a instalação com Docker Compose, você pode acessar o Umami através do IP do seu servidor na porta 3000 (ex: http://SEU_IP_DO_SERVIDOR:3000). Se você configurou um proxy reverso com Nginx e um domínio, acesse através do seu domínio (ex: http://seusite.com), idealmente com HTTPS.

O Umami suporta PostgreSQL e SQLite. Para ambientes de produção, PostgreSQL é fortemente recomendado devido à sua robustez, performance e escalabilidade. SQLite pode ser usado para testes ou ambientes de baixo tráfego, mas não é ideal para produção.

Sim, este guia utiliza Docker e Docker Compose para a instalação, que é o método mais prático e recomendado. Ter familiaridade com Docker facilitará a instalação e o gerenciamento dos contêineres. Se você é novo em Docker, recomendamos nosso guia introdutório.

Após o primeiro login com as credenciais padrão ([email protected] / admin), navegue até as configurações do seu perfil dentro do painel do Umami. Lá, você encontrará opções para alterar seu email, senha e outras configurações de conta.

Por ser open source, o Umami oferece flexibilidade. Embora não possua integrações nativas complexas como o Google Analytics, seus dados podem ser exportados ou acessados via API (dependendo da versão e customização) para serem utilizados em outras ferramentas de BI ou relatórios personalizados.

O Umami foi projetado com foco em privacidade. Ele coleta dados de forma anônima, sem rastrear usuários individualmente, e não compartilha dados com terceiros. Você tem controle total sobre quais métricas são coletadas e como elas são armazenadas em seu próprio servidor.

Ambos são alternativas open source e self-hosted ao Google Analytics com foco em privacidade. Plausible é conhecido por sua simplicidade e leveza, enquanto Umami oferece um pouco mais de flexibilidade e opções de configuração. A escolha entre eles pode depender da preferência pessoal pela interface e funcionalidades específicas.

Comentários (8)

4.8
★ ★ ★ ★ ★
8 avaliações
Rafael Ferreira
★★★★★

Tutorial excelente! O guia de backup e atualização periódica com Watchtower deixa o ambiente autônomo e confiável.

Juliana Almeida
★★★★★

Configuração impecável com Nginx Proxy Manager e SSL automático. Qualquer um consegue gerenciar seus próprios apps assim.

Marcelo Souza
★★★★★

Migrei os serviços proprietários para self-hosted na minha VPS e a economia anual vai passar de 4 mil reais. Vale muito a pena!

Amanda Lopes
★★★★★

Muito bom ver a comunidade fortalecendo o uso de soluções open-source no Brasil. Artigo didático e com comandos reais testados.

Pedro Ferreira - Dev Team
★★★★★

Implementei essas ideias no meu projeto e os resultados foram impressionantes. Obrigado pelo conhecimento compartilhado!

Julia Souza
★★★★★

Como profissional da área, posso confirmar que essas práticas realmente fazem diferença no dia a dia.

Ana Oliveira
★★★★★

Artigo muito bem escrito e explicativo! Já compartilhei com toda a equipe da empresa.

Pedro Silva
★★★★★

Excelente conteúdo! Aprendi conceitos que não encontrava em outros lugares em português.