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. Alterepassword123para 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.
- Insira o nome do site (ex: "Meu Blog").
- Insira a URL principal do site (ex:
https://meublog.com.br). Esta URL deve corresponder à que os usuários verão no navegador. - 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.phpdo 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.