Instale o Ackee Analytics na VPS: Alternativa Privada ao Google Analytics

13 min de leitura Analytics e BI Self-Hosted
Instale o Ackee Analytics na VPS: Alternativa Privada ao Google Analytics

O que é Ackee Analytics e por que migrar?

No cenário atual de proteção de dados, especialmente com o rigor da LGPD no Brasil e do GDPR na Europa, o uso de ferramentas de terceiros para rastreamento web tornou-se um ponto crítico de atenção. O Google Analytics, embora poderoso, envia dados para servidores nos Estados Unidos, muitas vezes sem transparência total sobre como esses dados são armazenados ou compartilhados. Para empresas que priorizam a privacidade web e a soberania dos dados, a solução ideal é o analytics self-hosted.

O Ackee Analytics se destaca como uma das melhores alternativas open source ao Google Analytics. Diferente de soluções tradicionais, o Ackee não usa cookies, não rastreia usuários individuais e processa os dados localmente no seu próprio servidor. Ele oferece um dashboard analítico proprio limpo, moderno e focado em métricas agregadas, garantindo que você tenha controle total sobre a infraestrutura e a conformidade legal.

Neste tutorial, vamos guiar você na instalação do Ackee Analytics em uma VPS Linux utilizando Docker. Esta abordagem garante isolamento, facilidade de atualização e portabilidade. Ao final, você terá um google analytics alternativo totalmente funcional, privado e sob seu controle.

Pré-requisitos para a Instalação

Antes de iniciarmos o processo de configuração, é fundamental garantir que seu ambiente esteja preparado. Para rodar o Ackee Analytics de forma eficiente e segura em uma ackee analytics vps, você precisará dos seguintes componentes:

  • Um servidor Linux: Recomendamos Ubuntu 20.04/22.04 LTS, Debian 11 ou CentOS Stream. O sistema deve ter acesso root ou um usuário com privilégios sudo.
  • Docker e Docker Compose: O Ackee é projetado para ser containerizado. A instalação via Docker facilita a gestão de dependências (Node.js, PostgreSQL) sem poluir o sistema hospedeiro.
  • Um domínio configurado: Você precisa de um domínio (ex: analytics.seudominio.com.br) apontando para o IP da sua VPS. Um certificado SSL é altamente recomendado para garantir a segurança da conexão e evitar avisos de "site não seguro" ao inserir o código de rastreamento.
  • Conexão à internet: Necessária apenas para baixar as imagens do Docker na primeira execução.

Se você ainda não possui o Docker instalado, execute os comandos abaixo no seu terminal Linux para garantir a versão mais recente:

# Atualize o sistema
sudo apt update && sudo apt upgrade -y

# Instale dependências necessárias
sudo apt install ca-certificates curl gnupg lsb-release -y

# Adicione a chave oficial do Docker
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# Configure o repositório
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Instale o Docker Engine
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y

# Verifique a instalação
docker --version

Estrutura de Diretórios e Arquivos de Configuração

A boa prática em administração de sistemas recomenda manter os dados persistentes separados das imagens do container. Vamos criar uma estrutura de diretórios dedicada para o Ackee.

Crie um diretório raiz para seus serviços self-hosted:

sudo mkdir -p /opt/ackee
cd /opt/ackee

Dentro desta pasta, criaremos duas subpastas: data para o banco de dados PostgreSQL e uploads para imagens ou logs locais (se necessário). O Ackee utiliza PostgreSQL como seu banco de dados principal por ser robusto e suportar bem consultas analíticas complexas.

mkdir data uploads

Agora, vamos criar o arquivo docker-compose.yml. Este arquivo define os serviços que compõem sua stack. Abra um editor de texto como o nano:

nano docker-compose.yml

Cole a seguinte configuração. Note que definimos variáveis de ambiente para o banco de dados e mapeamos as portas necessárias.

version: '3'
services:
  ackee:
    image:/electerious/ackee:latest
    restart: always
    ports:
      - "3000:3000"
    depends_on:
      - db
    environment:
      - ACKEE_DATABASE_URL=postgres://ackee:password123@db:5432/ackee?sslmode=disable
      - ACKEE_DOMAIN_URLS=http://analytics.seudominio.com.br
      # Substitua 'sua-chave-secreta' por uma string aleatória forte para segurança da sessão
      - ACKEE_COOKIE_SECRET=sua-chave-secreta-muito-forte-aqui
    volumes:
      - ./uploads:/app/src/uploads

  db:
    image: postgres:13-alpine
    restart: always
    environment:
      - POSTGRES_USER=ackee
      - POSTGRES_PASSWORD=password123
      - POSTGRES_DB=ackee
    volumes:
      - ./data:/var/lib/postgresql/data

Atenção às variáveis de ambiente:

  • ACKEE_DOMAIN_URLS: Deve corresponder exatamente ao domínio onde o Ackee será acessado. Isso é crucial para a validação do script de rastreamento.
  • ACKEE_COOKIE_SECRET: Uma chave criptográfica usada para assinar as sessões. Gere uma aleatória e guarde em um local seguro.
  • POSTGRES_PASSWORD: A senha do banco de dados. Altere password123 para uma senha complexa.

Inicializando o Container Ackee

Com o arquivo docker-compose.yml salvo, podemos iniciar os containers. O Docker Compose baixará a imagem do Ackee e a do PostgreSQL, configurando a rede entre eles automaticamente.

cd /opt/ackee
sudo docker compose up -d

O flag -d executa os containers em segundo plano (detached). Você pode monitorar o log de inicialização para garantir que não houve erros:

sudo docker compose logs -f ackee

Aguarde até ver a mensagem indicando que o servidor está pronto. Em seguida, acesse http://analytics.seudominio.com.br:3000 no seu navegador. Se tudo estiver correto, você verá a tela de login do Ackee.

Configuração Inial e Criação da Conta Admin

A primeira vez que acessar o dashboard, o Ackee pedirá para criar uma conta de administrador. Este será o único usuário com acesso total ao sistema. Escolha um nome de usuário seguro e uma senha forte.

Após o login, você verá a interface principal do dashboard analítico proprio. O layout é intuitivo: à esquerda, há um menu lateral para gerenciar Sites, Usuários e Configurações. À direita, os gráficos de visitas, páginas mais vistas e origem do tráfego.

Dica de Segurança: Antes de expor o Ackee publicamente, é recomendável configurar um proxy reverso (como Nginx ou Traefik) para gerenciar o SSL/HTTPS. O Ackee não inclui gerenciamento de certificados SSL nativamente em sua configuração padrão do Docker Compose.

Exemplo básico de configuração Nginx para servir o Ackee via HTTPS:

server {
    listen 443 ssl;
    server_name analytics.seudominio.com.br;

    ssl_certificate /etc/letsencrypt/live/analytics.seudominio.com.br/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/analytics.seudominio.com.br/privkey.pem;

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

Integrando o Rastreamento com seu Site

Agora que o Ackee está rodando, precisamos dizer aos sites que você deseja monitorar para enviar os dados para sua nova instância. No menu lateral do Ackee, clique em Sites e depois em Novo Site.

  1. Insira o nome do site (ex: "Meu Blog").
  2. Insira a URL principal do site (ex: https://meublog.com.br). Esta URL deve corresponder à que os usuários verão no navegador.
  3. Salve o site.

Após salvar, o Ackee gerará um bloco de código JavaScript. Ele se parece com isto:

<script async src="http://analytics.seudominio.com.br/js/ackee.tracker.js"></script>
<script>
    var ackee = ACKEE("<!-- tracker -->", "a1b2c3d4-e5f6-7890-abcd-ef1234567890");
    ackee.attributes["referrer"] = document.referrer;
    ackee.options["ignoreLocalhost"] = true;
    ackee.options["detailed"] = true;
    ackee.options["ignoreServerErrors"] = false;
    ackee.options["ignoreObsoleteVersions"] = true;
</script>

Instruções de Instalação:

  • Copie este código.
  • Insira-o no <head> ou no final do <body> de todas as páginas do seu site que deseja rastrear.
  • Se você usa WordPress, pode usar plugins como "Insert Headers and Footers" ou editar o arquivo header.php do seu tema filho.
  • Se você usa React ou Vue, instale a biblioteca via npm: npm install ackee-tracker.

Importante: O Ackee por padrão ignora visitas de localhost (ignoreLocalhost: true). Isso evita que você influe seus próprios testes. Se estiver testando localmente e quiser ver os dados, altere essa flag para false.

Métricas e Privacidade: O Que o Ackee Rastreia?

Para entender o valor do open source analytics, é crucial saber o que está sendo coletado. Ao contrário do Google Analytics, o Ackee:

  • Não usa cookies: Não há necessidade de banners de consentimento intrusivos (embora você ainda deva seguir as leis locais sobre dados pessoais).
  • Não rastreia indivíduos: Ele não armazena IPs completos, nomes de usuários ou identificadores persistentes.
  • Dados Agregados: As métricas incluem: Páginas vistas, Visitantes únicos (baseado em cookies locais temporários e hash do navegador), Tempo na página, Origem do tráfego (refere/utm), Dispositivo, Navegador, Sistema Operacional e Idioma.

Isso torna o Ackee uma ferramenta analytics self-hosted extremamente leve em termos de conformidade legal. Você pode relatá-lo como "não-coletor de dados pessoais" na maioria das jurisdições, simplificando sua política de privacidade.

Mantendo o Sistema Atualizado e Seguro

A manutenção de um servidor self-hosted exige atenção contínua. Como você está usando Docker, atualizar o Ackee é simples.

Para puxar a versão mais recente da imagem:

cd /opt/ackee
sudo docker compose pull
sudo docker compose up -d

O Docker Compose detectará novas versões e recriará os containers sem perder dados, pois o banco de dados PostgreSQL está persistente no volume ./data.

Falhas Comuns e Soluções (Troubleshooting)

1. O script não aparece ou dá erro 404:

Verifique se o container Ackee está rodando com sudo docker ps. Confirme que o domínio no navegador corresponde exatamente ao definido em ACKEE_DOMAIN_URLS no arquivo docker-compose.yml.

2. Dados não aparecem no dashboard:

Verifique os logs do container: sudo docker compose logs ackee. Erros de conexão com o banco de dados são comuns se a senha estiver incorreta ou se o serviço db ainda não estiver pronto quando o Ackee tenta iniciar. O flag depends_on ajuda, mas em ambientes complexos, pode ser necessário um script de espera.

3. Problemas de CORS:

O Ackee lida com CORS automaticamente se a configuração do domínio estiver correta. Se você hospedar o script de rastreamento em um domínio diferente do domínio do site (cross-site), certifique-se de que o Ackee está configurado para aceitar requisições desse domínio específico.

Vantagens Competitivas do Ackee

Além da privacidade, o Ackee oferece vantagens técnicas significativas:

  • Leveza: O container consome poucos recursos de CPU e RAM, ideal para VPSs de entrada.
  • Interface Moderna: Diferente de ferramentas antigas como Piwik (atual Matomo), o Ackee tem uma UI reativa e rápida.
  • API RESTful: O Ackee possui uma API documentada que permite integrar seus dados analíticos com outros sistemas de BI, dashboards personalizados ou relatórios automatizados.
  • Comunidade Ativa: Sendo open source, você pode contribuir com o código ou solicitar funcionalidades específicas no GitHub.

Conclusão

Migrar para uma solução como o Ackee Analytics é um passo estratégico para profissionais de TI e empresas que valorizam a soberania dos dados. Ao implementar este google analytics alternativo, você elimina dependências de terceiros, reduz riscos de conformidade legal e ganha transparência total sobre suas métricas.

A instalação via Docker em uma VPS Linux, como demonstrado neste tutorial, é robusta, escalável e fácil de manter. Comece hoje mesmo a coletar dados que pertencem apenas a você.

Próximos Passos:

  • Configure backups automáticos do diretório /opt/ackee/data.
  • Explore as opções de personalização de cores e temas no painel.
  • Integre a API do Ackee com ferramentas como Grafana para visualizações avançadas.

Lembre-se: a privacidade é um recurso, não uma limitação. Com o Ackee, você transforma seus dados em um ativo estratégico sob seu completo controle.

Esse tutorial foi útil?

Comentários (0)

Seja o primeiro a comentar.

Deixe seu comentário

Seu comentário será analisado antes de ser publicado.

0/2000
WhatsApp