Ya he escrito sobre varios servicios open source auto hospedados para recolectar estadistas para sitios web, como pueden ser Shynet y Umami. Sinceramente estaba muy contento con el funcionamiento de Umami pero cuando migre el blog desde el servidor NAS de Synology a una Raspberry Pi me encontré con el problema de que no existía una imagen docker de Umami para la arquitectura arm, por el contrario, Plausible si cuenta con ella.
Al igual que Umami, Plausible es de código abierto , sin cookies y totalmente compatible con GDPR, CCPA y PECR.
Despliegue
El stack necesario para el despliegue de Plausible lo realizo en Portainer con el siguiente código:
version: "3.3"
services:
mail:
image: bytemark/smtp
restart: always
plausible_db:
# supported versions are 12, 13, and 14
image: postgres:14-alpine
restart: always
volumes:
- /home/carlos/docker/plausible/db-data:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=postgres
plausible_events_db:
image: clickhouse/clickhouse-server:22.6-alpine
restart: always
volumes:
- /home/carlos/docker/plausible/event-data:/var/lib/clickhouse
- /home/carlos/docker/plausible/clickhouse/clickhouse-config.xml:/etc/clickhouse-server/config.d/logging.xml:ro
- /home/carlos/docker/plausible/clickhouse/clickhouse-user-config.xml:/etc/clickhouse-server/users.d/logging.xml:ro
ulimits:
nofile:
soft: 262144
hard: 262144
plausible:
image: plausible/analytics:latest
restart: always
command: sh -c "sleep 10 && /entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh run"
depends_on:
- plausible_db
- plausible_events_db
- mail
ports:
- 8000:8000
environment:
# ADMIN_USER_EMAIL: <admin-mail>
# ADMIN_USER_NAME: <admin-user>
# ADMIN_USER_PWD: <admin-pwd>
BASE_URL: https://dominio.com
SECRET_KEY_BASE: jtyyzgCoYjJPqs4sCS/hUit+uOAwJSA2uiO2arv0efwg3+z06vY7YqZA..........
DISABLE_REGISTRATION: true
volumes:
db-data:
driver: local
event-data:
driver: local
geoip:
driver: local
Configura las rutas de los volúmenes según tu configuración
BASE_URL: Debe ser la URL base donde se puede acceder a esta instancia, incluido<http://>o<https://>) el nombre de dominio y, opción almente, un puerto. Si no se específica ningún puerto, se utilizará el 8000 predeterminadoSECRET_KEY_BASEPara generar laKEY
openssl rand -base64 64 | tr -d `\n` ; echo
jtyyzgCoYjJPqs4sCS/hUit+uOAwJSA2uiO2arv0efwg3+z06vY7YqZAhgbnJQMyxfwFC2MaXePUckm6v3LXrg==
DISABLE_REGISTRATION: true, deshabilita el registro de nuevos usuarios, excepto el primero.
Primeros pasos
La primera vez debemos de registrar un nuevo usuario

Y los datos de nuestro sitio web

Tras ingresar los datos de nuestro sitio web se mostrará un script que debemos de incrustar entre las etiquetas html <HEAD> de las páginas web que deseemos que registren las estadísticas.

Por ejemplo para el tema de este blog, hugo-ficurinia, basta con añadir el script en el fichero de configuración config.toml.
# enable analytics using Plausible
plausibleScriptUrl = "https://something.com/..."
plausibleDomain = "example.com"
Ahora solo queda esperar que visiten tu sitio web para empezar a recolectar las estadísticas


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