Tabla de Contenidos

Plausible Analytics

Herramienta para el análisis de webs. Alternativa liviana y privada de Google Analytics.

Instalación

Docker

Ejemplo de docker-compose.yml:

version: "3.3"
services:
  mail:
    image: bytemark/smtp
    restart: always

  plausible_db:
    image: postgres:12
    volumes:
      - db-data:/var/lib/postgresql/data
    environment:
      - POSTGRES_PASSWORD=postgres

  plausible_events_db:
    image: yandex/clickhouse-server:21.3.2.5
    volumes:
      - event-data:/var/lib/clickhouse
      - ./clickhouse/clickhouse-config.xml:/etc/clickhouse-server/config.d/logging.xml:ro
      - ./clickhouse/clickhouse-user-config.xml:/etc/clickhouse-server/users.d/logging.xml:ro
    ulimits:
      nofile:
        soft: 262144
        hard: 262144

  plausible:
    image: plausible/analytics:latest
    command: sh -c "sleep 10 && /entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh db init-admin && /entrypoint.sh run"
    depends_on:
      - plausible_db
      - plausible_events_db
      - mail
    ports:
      - 8000:8000
    env_file:
      - plausible-conf.env

volumes:
  db-data:
    driver: local
  event-data:
    driver: local
  geoip:
    driver: local

El fichero plausible-conf.env contiene la configuración de ciertas variables:

ADMIN_USER_EMAIL=email@ejemplo.com
ADMIN_USER_NAME=tempwin
ADMIN_USER_PWD=super-secreto
BASE_URL=https://analytics.miweb.com
SECRET_KEY_BASE=AsjIyKDGWiAUoF3S+x64fsadf8qw3edfKf933fSkNfftwi65tCuaDr0RPgycsp
MAILER_EMAIL=plausible@ejemplo.com
SMTP_HOST_ADDR=smtp.sendgrid.net
SMTP_HOST_PORT=465
SMTP_USER_NAME=apikey
SMTP_USER_PWD=SG.RiY3y3_4QFy0Xkzcyfasdfasd987fp8HAWIOFf4_V0yItuKKDSqvoumo
SMTP_HOST_SSL_ENABLED=true
SMTP_RETRIES=20

La configuración del servidor de correo es porque para empezar a usar Plausible es necesario introducir un código de activación que se enviará a la cuenta de correo del usuario. Si no disponemos, podemos “saltarnos” ese paso verificando manualmente a todos los usuarios de la base de datos:

docker exec hosting_plausible_db_1 psql -U postgres -d plausible_db -c "UPDATE users SET email_verified = true;"

Uso

Para monitorizar una web es necesario incluir el siguiente fragmento de código entre las etiquetas head del documento HTML:

<script async defer data-domain="unaweb.com" src="https://analytics.miweb.com/js/plausible.js"></script>

Donde https://analytics.miweb.com es el dominio que contiene la instalación de Plausible y unaweb.com es la web que queremos monitorizar.

Recursos