Instalación de Plausible mediante docker

2023-04-17

Índice

  1. Despliegue
  2. Primeros pasos

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 la KEY

    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

img

Y los datos de nuestro sitio web

img

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.

img

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

img

img

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


Ingrese la dirección de su instancia