Cómo instalar Plausible Analytics con Docker en Ubuntu 22.04
Plausible es una analítica web de código abierto alternativa a Google Analytics. Es una analítica web ligera y centrada en la privacidad que puede utilizarse en múltiples sectores, como startups, autónomos y blogueros.
Plausible es una analítica web ligera y sencilla. Proporciona métricas importantes en una sola página, lo que facilita el análisis de las métricas al webmaster. Plausible está disponible en dos versiones, el servicio Plausible que tienes que pagar al usuario y el Plausible autoalojado que puedes instalar en tu servidor.
El Plausible Analytics te permite crear analíticas de sitios web autoalojados en tu servidor y te permite hacer un seguimiento ilimitado de los sitios web. En esta guía, aprenderás a instalar y configurar el Plausible Analytics mediante Docker en un servidor Ubuntu 22.04. También configurarás Nginx como proxy inverso para la aplicación Plausible Analytics y configurarás SSL mediante Letsencrypt.
Requisitos previos
Para empezar, necesitarás los siguientes requisitos para completar esta guía:
- Un servidor Ubuntu 22.04 – Este ejemplo utiliza un servidor con el nombre de host‘plausible-server‘.
- Un usuario no root con privilegios de administrador sudo/root.
- Un nombre de dominio o subdominio apuntando a la dirección IP del servidor – Este ejemplo utiliza el subdominio ‘plausible.hwdomain.io‘.
Instalación de Docker CE (Community Edition)
Plausible Analytics puede desplegarse y autoalojarse mediante Docker en cualquier sistema operativo que admita el motor Docker. Para ello, debes instalar primero el motor Docker en la máquina de destino en la que quieras desplegar la aplicación Plausible.
Comienza esta guía instalando Docker CE (Community Edition) en tu servidor Ubuntu a través del repositorio oficial de Docker.
Ejecuta el siguiente comando apt para instalar algunas dependencias básicas. Cuando se te pida la configuración, introduce y y pulsa ENTER para continuar.
sudo apt install \ ca-certificates \ curl \ gnupg \ lsb-release
A continuación, ejecuta el siguiente comando para descargar la clave GPG para el repositorio Docker. A continuación, añade el repositorio oficial de Docker a tu sistema.
sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
«deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable» | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Una vez añadidas la clave GPG y el repositorio Docker, refresca y actualiza tu repositorio mediante el siguiente comando apt.
sudo apt update
Recibirás un resultado como el siguiente: el repositorio de Docker CE está añadido.
Ahora instala Docker CE y Docker Compose utilizando el siguiente comando apt.
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Introduce y para confirmar la instalación y pulsa ENTER para continuar.
Una vez instalado Docker, ejecuta el siguiente comando systemctl para verificar el estado actual del servicio Docker.
sudo systemctl is-enabled docker sudo systemctl status docker
Ahora deberías recibir la salida del servicio Docker en ejecución y habilitado. Ahora Docker se ejecutará automáticamente al arrancar el sistema.
Ahora que Docker está instalado, el siguiente paso será configurar la instalación de Plausible Analytics.
Descarga y configuración de Plausible Analytics
Una vez instalado Docker, ahora descargarás el código fuente de Plausible Analytics y configurarás la variable de entorno que se utilizará durante el despliegue. Esto incluye algunos ajustes importantes, como el usuario y la contraseña del administrador, el nombre de dominio de Plausible para la instalación y la SECRET_KEY_BASE que se utilizará para proteger Plausible.
Mueve el directorio de trabajo a ‘/opt‘. A continuación, descarga el código fuente de Plausible mediante el comando git que aparece a continuación.
cd /opt sudo git clone https://github.com/plausible/hosting plausible
A continuación, ejecuta el siguiente comando para generar la SECRET_KEY_BASE para el Plausible Analytics.
openssl rand 64 | base64 -w 0 ; echo
Recibirás la cadena aleatoria generada – asegúrate de guardarla, aquí utilizarás la cadena aleatoria generada como la SECRET_KEY_BASE para Plausible.
Ahora mueve el directorio de trabajo a‘/opt/plausible‘, que es el directorio de instalación de Plasibble. A continuación, utiliza el siguiente comando del editor nano para editar el archivo de configuración‘plausible-conf.env‘.
cd /opt/plausible sudo nano plausible-conf.env
Cambia los detalles de configuración con tu entorno de despliegue. Además, asegúrate de cambiar los detalles usuario admin, correo electrónico y contraseña. Y también el nombre de dominio para tu instalación y la SECRET_KEY_BASE con la cadena aleatoria que hayas generado.
Las siguientes configuraciones se utilizarán como variable durante el despliegue de Plausible Analytic a través de Docker y Docker Compose.
[email protected] ADMIN_USER_NAME=alice ADMIN_USER_PWD=admin_alice_password BASE_URL=https://plausible.hwdomain.io SECRET_KEY_BASE=WI+Dzf5ZsvbL+tapfDuIyOr2rhQqcss10XnQkX3b/BjOucweWvHjqpFtb9kV69O1PwvbOxaBvotlGbh6vry//Q==
Guarda el archivo y sal del editor cuando hayas terminado.
Ejecutar Plausible Analytics con Docker Compose
Ahora que ya has configurado el entorno que se utilizará para el despliegue de Plausible. Ahora configurarás el script docker-compose.yml y desplegarás Plausible mediante Docker Compose.
Mueve tu directorio de trabajo al directorio de instalación de Plausible‘/opt/plausible‘.
cd /opt/plausible
Utiliza el editor nano para editar el archivo de configuración de Docker Compose‘docker-compose.yml’.
sudo nano docker-compose.yml
En la sección del servicio ‘plausible’, cambia la configuración por defecto de‘puertos‘ por la siguiente configuración. Con esta configuración, el servicio Plausible Analytic se ejecutará en el localhost en el puerto 8000 por defecto.
plausible: ...... ports: - 127.0.0.1:8000:8000 ......
Guarda el archivo y sal del editor cuando hayas terminado.
Una vez que hayas modificado el archivo docker-compose.yml, ejecuta el comando docker que se indica a continuación para empezar a construir y desplegar el servicio Plausible Analytic.
sudo docker compose up -d
Una vez que ejecutes el comando, Docker descargará las imágenes que se utilizarán para el despliegue de Plausible, que incluye PostgreSQL como base de datos. Además, verás que se crean nuevos volúmenes.
A continuación se muestra la salida de los procesos de despliegue de Plausible.
Una vez finalizado el despliegue Plausible, abajo deberías ver que se inician los servicios del contenedor.
Ahora verifica el contenedor y los servicios en ejecución mediante el comando docker que aparece a continuación. Y deberías ver que los servicios de Plausible se están ejecutando.
sudo docker compose ps
También puedes verificar la lista de imágenes Docker que están disponibles en tu sistema mediante el siguiente comando. Y deberías ver varias imágenes, incluidas las imágenes PostgreSQL y Plausible.
sudo docker compose images
Por último, ejecuta el siguiente comando para verificar que el servicio Plausible se está ejecutando. Esto intentará llegar al servicio Plausible que se ejecuta en localhost con el puerto 8000 por defecto.
curl http://localhost:8000
En la siguiente salida, puedes ver que se te redirige a la ruta URL‘/login ‘ para la página de inicio de sesión de Plausible.
Configurar Apache2 como proxy inverso
Ahora que el Plausible Analytics se está ejecutando dentro de Docker. Ahora instalarás el servidor web Apache2 y lo configurarás como proxy inverso para la aplicación web Plausible.
Ejecuta el siguiente comando apt para instalar el servidor web Apache2 en tu sistema. Introduce y para confirmar la instalación y pulsa ENTER para continuar.
sudo apt install apache2
Ahora verifica el servicio apache2 para asegurarte de que se está ejecutando. Utiliza el siguiente comando systemctl.
sudo systemctl is-enabled apache2 sudo systemctl status apache2
En la siguiente salida, verás que el servicio apache2 se está ejecutando y está habilitado. Esto significa que el servicio apache2 se ejecutará automáticamente al arrancar el sistema.
Ahora que el servidor web Apache2 está instalado, a continuación configurarás el host virtual que se utilizará como proxy inverso para la aplicación web Plausible Analytics.
Para empezar, ejecuta el siguiente comando para habilitar algunos módulos de apache2. Esto incluye los módulos que ejecutarán apache2 como proxy inverso y el módulo mod_ssl.
sudo a2enmod proxy proxy_http proxy_ajp remoteip headers ssl
Deberías ver una salida como la siguiente.
A continuación, ejecuta el siguiente comando para copiar la configuración predeterminada del host virtual para el proxy inverso apache2 en el directorio‘/etc/apache2/sites-available/‘.
sudo cp /opt/plausible/reverse-proxy/apache2/plausible.conf /etc/apache2/sites-available/
Ahora utiliza el siguiente comando del editor nano para editar la configuración del host virtual‘/etc/apache2/sites-available/plausible.conf‘.
sudo nano /etc/apache2/sites-available/plausible.conf
Cambia el nombre de dominio de la instalación de Plausible por tu dominio. En este ejemplo, el Plausible Analytics se ejecutará en el subdominio‘plausible.hwdomain.io‘.
ServerAdmin [email protected] ServerName plausible.hwdomain.io
Guarda el archivo y sal del editor cuando hayas terminado.
A continuación, activa la configuración del host virtual ‘plausible.conf ‘ mediante el siguiente comando a2ensite.
sudo a2ensite plausible.conf
Después, ejecuta el siguiente comando para verificar la configuración de apache2 y asegurarte de que tienes la configuración correcta. Si recibes un mensaje de salida como‘Sintaxis OK‘, significa que tu configuración es correcta.
sudo apachectl configtest
Por último, reinicia el servicio apache2 mediante el siguiente comando systemctl para aplicar la nueva configuración del host virtual‘plausible.conf‘.
sudo systemctl restart apache2
Llegados a este punto, habrás terminado la configuración de Apache2 como proxy inverso para el Plausible Analytics. El siguiente paso será asegurar la implementación de Plausible con SSL de Letsencrypt.
Asegurar Plausible Analytics con SSL Letsencrypt
Después de configurar el proxy inversor Apache2 para Plausible Analytics, ahora asegurarás Plausible mediante SSL Letsencrypt. Así que, antes de empezar, asegúrate de que el dominio que se utilizará para el Plausible apunta a la dirección IP del servidor. Asegúrate también de tener una dirección de correo electrónico que se utilizará para registrar el nombre de dominio en Letsencrypt.
Instala la herramienta certbot y el plugin certbot para Apache2 mediante el siguiente comando apt.
sudo apt install certbot python3-certbot-apache
Introduce y para confirmar la instalación y pulsa ENTER para proceder con la instalación.
Una vez instalado certbot, ya puedes generar certificados SSL mediante el siguiente comando certbot. Asegúrate de cambiar el nombre de dominio de tu instalación Plausible.
sudo certbot --apache -d plausible.hwdomain.io
Una vez finalizado el proceso, deberías ver una salida como la siguiente. El Plausible Analytics está ahora protegido con SSL Letsencrypt.
Congratulations! You have successfully enabled https://plausible.hwdomain.io You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=plausible.hwdomain.io - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/plausible.hwdomain.io/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/plausible.hwdomain.io/privkey.pem Your cert will expire on 2022-12-10. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
En este punto, tu Plausible Analytics es accesible a través de una conexión HTTPS segura.
Acceder a Plausible Analytics
Ahora que el Análisis Plausible está protegido con SSL Letsencrypt. Ahora puedes acceder de forma segura a tu instalación de Playsible desde tu navegador web.
Abre tu navegador web y visita el nombre de dominio de tu Plausible Analytics (es decir: https://plausible.hwdomain.io/).
Al principio, se te mostrará la página de inicio de sesión de Playsible. Introduce la dirección de correo electrónico del administrador y la contraseña de tu Plausible. Esto se encuentra en el archivo de configuración‘plausible-conf.env‘.
Si tienes el usuario administrador y la contraseña correctos, se te mostrará el panel de Plausible Analytics.
Seguimiento de sitios web con Plausible Analytics
En el siguiente paso, aprenderás a rastrear y añadir el sitio web a Plausible Analytics.
En el panel de control de Plausible, haz clic en«Añadir un sitio web«.
Ahora, introduce el nombre de dominio que deseas rastrear y selecciona el tiempo a utilizar. A continuación, haz clic en «Añadirfragmento«.
Ya puedes añadir el fragmento de JavaScript a tu sitio web objetivo. A continuación, haz clic en «Empezar a recopilar datos«.
En la siguiente captura de pantalla, puedes ver que los dominios se añaden a Plausible Analytics.
Conclusión
En este tutorial, has instalado Plausible Analytics mediante Docker en un servidor Ubuntu 22.04. Además, has instalado el servidor web Apache2 como proxy inverso para Plausible Analytics y has asegurado la implementación mediante SSL Letsencrypt. Para el uso básico de Plausible Analytics, has aprendido a rastrear sitios web mediante Plausible Analytics.
Ahora, si quieres continuar, puedes añadir más sitios web al Plausible Analytics autoalojado que tienes instalado en tu sistema.