Instalación de Plausible mediante docker
2023-04-17
Índice
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 segun 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, opcionalmente, un puerto. Si no se especifica ningún puerto, se utilizará el 8000 predeterminado -
SECRET_KEY_BASE
Para 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 mostrara 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 estadisccas
Espero que te haya gustado, pasa un gran día 🐧