Usamos la aplicación Umami que funciona como un reemplazo de Google Analytics. Umami es gratis, open-source, liviana y tiene un énfasis en la privacidad de los usuarios que visitan las páginas.
Para poder usarla se debe instalar en un servidor propio.
Este repositorio contiene lo necesario para instalar la aplicación en un servidor:
En el servidor:
git clone https://github.com/enflujo/sitios-analitica.git
Hacer una copia del archivo .env.ejemplo
y llamarlo .env
(o crear uno con las siguientes variables).
# Nombre de la base de datos en Postgres
BD_NOMBRE=...
# Usuario dueño de la base de datos
BD_USUARIO=...
# Clave para conectarse a Postgres
BD_CLAVE=...
# Una llave única para Umami,
# puede ser generada con UUID4 https://www.uuidgenerator.net/version4
SALT=...
# El puerto por donde corre la instancia de Umami (NodeJS)
PUERTO=...
Umami es una aplicación de Node y se puede instalar directamente clonano el código desde su repositorio. En nuestro caso vamos a usar Docker para no depender de una base de datos administrada en el servidor.
Ver el archivo docker-compose.yml
para saber que versión de Postgres y Umami se están instalando (de manera predeterminada se usan las mas recientes de cada una).
Teniendo Docker y Docker Compose instalados en el servidor, simplemente se puede iniciar con:
# ir primero a la carpeta que se acaba de clonar
cd sitios-analitica
# Descargar e iniciar contenedores
docker-compose up -d
Desde este repositorio tenemos configurado un Github Action llamado despliegue que se encarga de mandarle las siguientes instrucciones al servidor:
- Conectarse al servidor usando las credenciales guardadas en los "Secrets" del repositorio.
- Descargar la versión más reciente de este repositorio.
- Actualizar la imagen que usa Docker para umami
- Reiniciar contenedores.
Esta acción sólo se activa cuando hay cambios en este repositorio así que si se quiere actualizar Umami sin hacer cambios a los archivos de configuración, simplemente cambiar algo en el archivo version.md
. (no importa lo que se cambie en este archivo, se usa simplemente para hacer un push al repositorio y activar el Github Action).