En este artículo escribí como tener una alternativa Open Source a Google Analitycs para tu blog o sitio web, también escribí que para mi Shynet no era una alternativa realmente válida ya que te ofrecía la posibilidad de poder guardar las direccione IP de tus visitantes, cosa que no cumple con la GDPR y deja a tu criterio hacer uso o no de esta característica.
Pero por suerte tienes otras alternativas, también Open Source, como pueden ser Matomo o Plausible para poder alojar en tu propio servidor las estadísticas web y trackear sin ser trackeado y al mismo tiempo ser respetuoso con tus visitantes.
Como digo hay muchas alternativas pero yo me he decidido por Umami
Características
- Mide solo las métricas importantes como páginas vistas, dispositivos utilizados y país de dónde provienen los visitantes. Todo se muestra en una única página fácil de navegar.
- Puede rastrear un número ilimitado de sitios web desde una sola instalación. Incluso puede rastrear subdominios y URL individuales.
- Al alojar nosotros mismo el servidor bajo nuestro propio dominio podremos evitar los bloqueadores de anuncios, a diferencia de Google Analytics.
- Es ligero, el script de seguimiento es pequeño (solo 2 KB) y es compatible con la mayoría de navegadores.
- Si se desea se pueden compartir las estadísticas públicamente
- Compatible con dispositivos móviles
- Al ser autohospedado, tu eres el propietario de todos los datos.
- No recopila ninguna información de identificación personal y anonimiza todos los datos recopilados.
- Es de código abierto y tiene licencia MIT. El código fuente está disponible en Github.
Instalación
Para este artículo he decidido hacer la instalación mediante docker-compose y PostgreSQL como base de datos.
Vamos a empezar creando dos carpetas, umami-db-data y sql y desde el repositorio de Umami descargamos los ficheros docker-compose.yml y sql/schema.postgresql.sql que guardamos en la raíz y en la carpeta sql respectivamente

docker-compose.yml
Mi fichero de yml es el siguiente, ajusta las rutas de los volúmenes y puertos según tu caso:
version: '3'
services:
umami:
image: ghcr.io/umami-software/umami:postgresql-latest
ports:
- "3000:3000"
environment:
DATABASE_URL: postgresql://umami:umami@db:5432/umami
DATABASE_TYPE: postgresql
HASH_SALT: cadena_aleatoria
FORCE_SSL: 1
IGNORE_IP: 192.168.1.2
depends_on:
- db
db:
image: postgres:12-alpine
environment:
POSTGRES_DB: umami
POSTGRES_USER: umami
POSTGRES_PASSWORD: umami
volumes:
- /volume1/docker/umami/sql/schema.postgresql.sql:/docker-entrypoint-initdb.d/schema.postgresql.sql:ro
- /volume1/docker/umami/umami-db-data:/var/lib/postgresql/data
volumes:
umami-db-data:
Observa que he añadido ciertas variables de entorno para personalizar el servidor
- FORCE_SSL: 1 Redirige el tráfico http hacía https
- IGNORE_IP: 192.168.1.20 Es la dirección IP del pc desde el que hago las pruebas para el blog, no quiero que cuenten las estadísticas de este ordenador
Configuración
Si todo ha ido bien al ingresar la url http://servidor-umami:3000 debería de aparecer la página para el primer login en Umami, el usuario es admin y la contraseña umami

Nada más hacer el primer login debemos de cambiar la contraseña del usuario admin
Lo haremos desde el perfil del usuario

Hacemos clic en Change password

Y ponemos la nueva contraseña

Podemos elegir entre el modo oscuro y el claro o seleccionar nuestro idioma.
Añadir sitio web
Como ves en la captura aún no tenemos configurado ningún sitio del que recoger estadísticas.

Para añadir un nuevo sitio web para su seguimiento desde la sección Sitios hacemos clic en Agregar sitio

Y rellenamos los campos

Ahora debemos de obtener el script a colocar en la etiqueta <head> de las páginas a efectuar el seguimiento, hacemos clic en el icono </>


Después de colocar el pequeño script entre las etiquetas <head> deberíamos de empezar a ver las estadísticas

Umami permite modificar el script de seguimiento para permitir controlar ciertos eventos, puedes verlas en https://umami.is/docs/tracker-functions
Ahora te dejo unas capturas para que veas su funcionamiento



Espero que te haya gustado, pasa un buen día. 🐧