Plausible Analytics es una herramienta de análisis web de código abierto, ligera y centrada en la privacidad, diseñada como una alternativa a Google Analytics. En este artículo, te mostraremos cómo configurar Plausible Analytics en Debian 12 paso a paso. Este tutorial está diseñado para ser técnico pero accesible para los recién llegados.

Requisitos Previos

Antes de comenzar, asegúrate de tener lo siguiente:

  • Un servidor con Debian 12 instalado.
  • Acceso a una cuenta con privilegios de superusuario (root) o acceso a sudo.
  • Un dominio configurado que apunte a tu servidor (opcional pero recomendado).

Paso 1: Actualizar el Sistema

Es importante asegurarse de que tu sistema esté actualizado. Abre una terminal y ejecuta los siguientes comandos:

sudo apt update
sudo apt upgrade -y

Paso 2: Instalar Docker y Docker Compose

Plausible se puede ejecutar fácilmente usando Docker y Docker Compose. Instálalos con los siguientes comandos:

Instalar Docker

sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

Verifica que Docker esté instalado correctamente:

sudo systemctl status docker

Instalar Docker Compose

sudo curl -L "https://github.com/docker/compose/releases/download/v2.5.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

Paso 3: Configurar Plausible Analytics

Crear el Directorio de Plausible

Crea un directorio para Plausible y navega a él:

sudo mkdir -p /srv/plausible
cd /srv/plausible

Crear el Archivo Docker Compose

Crea un archivo docker-compose.yml con la siguiente configuración:

version: '3.3'

services:
  plausible:
    image: plausible/analytics:latest
    restart: always
    env_file:
      - plausible-conf.env
    volumes:
      - plausible-db:/var/lib/postgresql/data
    ports:
      - 8000:8000
    depends_on:
      - postgres
      - clickhouse
      - events-db

  postgres:
    image: postgres:13
    restart: always
    volumes:
      - plausible-db:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: plausible
      POSTGRES_USER: plausible
      POSTGRES_PASSWORD: contraseña_segura

  clickhouse:
    image: yandex/clickhouse-server:21.3.15.4
    restart: always
    volumes:
      - clickhouse-data:/var/lib/clickhouse

  events-db:
    image: yandex/clickhouse-server:21.3.15.4
    restart: always
    volumes:
      - events-db-data:/var/lib/clickhouse

volumes:
  plausible-db:
  clickhouse-data:
  events-db-data:

Crear el Archivo de Configuración de Plausible

Crea un archivo plausible-conf.env con el siguiente contenido:

SECRET_KEY_BASE=$(openssl rand -base64 64)
DATABASE_URL=postgresql://plausible:contraseña_segura@postgres:5432/plausible
CLICKHOUSE_DATABASE_URL=clickhouse://default:@clickhouse:8123/default
EVENTS_DB_URL=clickhouse://default:@events-db:8123/default
BASE_URL=https://tu-dominio.com

Asegúrate de reemplazar contraseña_segura con una contraseña fuerte y tu-dominio.com con tu dominio real.

Paso 4: Iniciar Plausible

Inicia Plausible con Docker Compose:

sudo docker-compose up -d

Verifica que los contenedores de Plausible estén en funcionamiento:

sudo docker-compose ps

Deberías ver una salida indicando que los contenedores están up.

Paso 5: Acceder a Plausible

Abre tu navegador web y navega a http://tu-dominio.com:8000. Serás recibido por la pantalla de configuración inicial de Plausible.

Configurar Plausible

  1. Admin User: Crea una cuenta de administrador proporcionando tu correo electrónico y una contraseña segura.
  2. Site Setup: Configura tu primer sitio web que deseas rastrear con Plausible.

Paso 6: Configurar un Servidor Web (Opcional)

Para hacer que Plausible esté disponible públicamente y protegerlo con HTTPS, puedes configurar un servidor web como Nginx y obtener un certificado SSL gratuito con Let’s Encrypt.

Instalar Nginx

sudo apt install nginx
sudo systemctl start nginx
sudo systemctl enable nginx

Configurar Nginx para Plausible

Crea un archivo de configuración para Plausible:

sudo nano /etc/nginx/sites-available/plausible

Añade la siguiente configuración:

server {
    listen 80;
    server_name tu-dominio.com;

    location / {
        proxy_pass http://localhost:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Habilita el sitio y reinicia Nginx:

sudo ln -s /etc/nginx/sites-available/plausible /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

Obtener un Certificado SSL con Let’s Encrypt

Instala Certbot:

sudo apt install certbot python3-certbot-nginx

Obtén y configura el certificado SSL:

sudo certbot --nginx -d tu-dominio.com

Sigue las instrucciones en pantalla para completar el proceso. Certbot configurará automáticamente Nginx para usar el certificado SSL.

Para mejorar el rendimiento y la gestión de tu instalación de Plausible, considera utilizar los servicios de Shape.host. Ofrecen soluciones de Linux SSD VPS que proporcionan escalabilidad, alta disponibilidad y un rendimiento superior para tus aplicaciones web. Con Shape.host, puedes asegurarte de que tu infraestructura esté siempre disponible y funcionando de manera óptima.