Sobre el proyecto
ΛNΛLOG es una herramienta mínima de análisis diseñada para ser autohospedada. Se inspira fuertemente en piratepx y se enfoca en un conjunto pequeño y comprensible de funciones en lugar de una gran suite de análisis.
El proyecto consiste en un panel de control frontend y un servidor Node.js. Los eventos se registran a través de una API simple y se muestran en un panel web. El README incluye una captura de pantalla del panel y un video de demostración corto.
El almacenamiento es modular. La variable ANALOG_DATABASE_PROVIDER selecciona uno de los cuatro backends: MongoDB, PostgreSQL, Redis o SQLite. El README sugiere proveedores alojados como MongoDB, Supabase, Render, CockroachDB, Upstash y Turso, y señala que PostgreSQL debería usar un pool de conexiones transaccionales. Las conexiones SQLite usan libsql y pueden apuntar a un archivo local mediante una URL de tipo file:.
La configuración se realiza a través de variables de entorno. Opciones notables incluyen el proveedor de base de datos y las URLs de conexión, el puerto del servidor, ANALOG_TOKEN para proteger solicitudes, ANALOG_PROTECT_POST para exigir el token en solicitudes POST, ANALOG_STATIC_SERVER para que el servidor Node.js sirva también el frontend compilado, y ANALOG_DATABASE_REQUEST_ITEM_COUNT para determinar cuántos elementos solicita la API por llamada a la base de datos. Las variables frontend usan el prefijo VITE porque la aplicación se construye con Vite; estas controlan el título de la página, el rango de tiempo mostrado (mínimo 10, máximo 30), si se ejecuta la limpieza de datos junto con las solicitudes GET y si las solicitudes API se encolan secuencialmente en lugar de obtenerse todas a la vez.
Las opciones de despliegue documentadas en el README incluyen desarrollo local con npm install y npm run dev, un Dockerfile con argumentos de compilación y variables de entorno en tiempo de ejecución, y servicios en la nube Koyeb, Netlify, Render y Vercel con sus respectivos archivos de configuración (netlify.toml, render.yaml, vercel.json). Netlify y Vercel pueden programar una función de limpieza diaria mediante configuración cron, aunque el README advierte que el programador puede no funcionar debido a limitaciones del entorno de ejecución.
El API se centra en /api/events. Una solicitud POST envía un nombre de evento en el cuerpo y devuelve OK; si ANALOG_PROTECT_POST y ANALOG_TOKEN están configurados, la solicitud debe incluir un encabezado Authorization con el token precedido por "Basic ". Una solicitud GET devuelve datos de eventos como arreglos de números indexados por nombre de evento. Acepta un parámetro opcional cursor para consultas paginadas de base de datos (sin él, todos los datos se obtienen de una sola vez) y un parámetro opcional de limpieza para activar la limpieza durante la recuperación. Cuando se usa un cursor, la respuesta incluye datos más un valor nextCursor. Si ANALOG_TOKEN está configurado, la URL del panel requiere un parámetro de consulta token, por ejemplo hostname/?token=ANALOG_TOKEN.
En general, ΛNΛLOG es una alternativa ligera y autohospedable para el seguimiento básico de eventos, con backends de almacenamiento flexibles y caminos de despliegue sencillos.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.