Toda la documentación

Empezar

  1. 01Primeros pasos
  2. 02Instalación
  3. 03Seguimiento

Funciones

  1. 04El panel
  2. 05Objetivos
  3. 06Enlaces cortos
  4. 07Fuentes y agentes de IA
  5. 08Informes por email
  6. 09Comprobación programada
  7. 10Pregunta a tu IA

Referencia

  1. 11Configuración
  2. 12API HTTP

Plataformas

  1. 13Servidor independiente
  2. 14PHP
  3. 15WordPress
  4. 16Drupal
  5. 17Craft CMS
  6. 18Python
  7. 19Rails
  8. 20Ruby
  9. 21Go
  10. 22Java
  11. 23.NET
  12. 24Elixir
  13. 25Rust

Confianza

  1. 26Privacidad

Empezar

Primeros pasos

Runlight es una analítica web que se instala en tu aplicación. Pasar de npm install a tu primera visita lleva cinco minutos.

Runlight es una biblioteca que funciona dentro de una aplicación que ya tienes. Guarda lo que cuenta en tu base de datos y sirve su panel desde tu propio dominio en /runlight, así que no hay ninguna cuenta de Runlight que crear y tus datos nunca pasan por un servidor nuestro.

Esta página configura la biblioteca de TypeScript, que necesita una aplicación capaz de servir rutas, como Next.js, Nuxt, SvelteKit, Astro, Remix, Express, NestJS, Fastify, Koa, Hono o cualquier otra que maneje un Request web. Funciona en Node 22 o posterior, Bun, Deno o Cloudflare Workers.

Runlight también está escrito para PHP, Python, Ruby y Rails, Go, Java, .NET, Elixir y Rust. Cada uno sirve el mismo panel desde las mismas tablas, y su página tiene los pasos para ese lenguaje. Los sitios de WordPress, Drupal y Craft usan un plugin que ejecuta Runlight dentro del CMS o envía sus visitas a un Runlight que tengas en otro lugar. Para tener un solo panel con varios sitios, o para un sitio cuya aplicación no puede ejecutar Runlight, usa el servidor independiente.

1. Instalar

bash

npm install @runlight/sdk better-sqlite3

better-sqlite3 es el driver de SQLite. Para Postgres, MySQL, MariaDB, Turso, Cloudflare D1 o el SQLite propio de Bun, consulta Configuración.

2. Crear la instancia

Crea un archivo e impórtalo allí donde necesites Runlight.

lib/runlight.ts

import { runlight } from "@runlight/sdk";
import { sqlite } from "@runlight/sdk/sqlite";

export const rl = runlight({
  store: sqlite({ path: "./data/runlight.db" }),
  site: { name: "example.com", hostnames: ["example.com"], timezone: "Europe/London" },
});

Las tablas se crean la primera vez que se usan. El archivo de la base de datos es tuyo, así que haz copias de seguridad como de cualquier otro.

3. Montar las rutas

En Next.js (App Router), una sola ruta comodín sirve el tracker y el panel, y recibe cada visita.

app/runlight/[[...path]]/route.ts

import { rl } from "@/lib/runlight";

export const { GET, POST, PUT, PATCH, DELETE, OPTIONS } = rl.routes();

Otros frameworks también necesitan una o dos líneas, como muestra Instalación.

4. Añadir el script

Pon esto en cada página, justo antes de </head>.

html

<script defer src="/runlight/s.js"></script>

El script ocupa menos de 2 KB comprimido con gzip y envía los datos a tu propio dominio sin crear ninguna cookie.

5. Iniciar sesión

El panel es privado, así que define un token largo y aleatorio en tu entorno.

bash

RUNLIGHT_TOKEN=a-long-random-string

Después abre /runlight/?token=a-long-random-string una vez. Runlight crea una cookie con un resumen del token (nunca el token en sí) y te lleva al panel. Sin un token definido, el panel solo está abierto mientras NODE_ENV sea development, como ocurre con next dev. En cualquier otro caso responde 503 hasta que definas uno.

Visita cualquier página de tu sitio y te verás en “ahora mismo” en cuestión de segundos.

6. Programar la comprobación horaria

Una comprobación a la que llamas una vez por hora renueva la sal diaria y envía los informes por email. También borra las visitas que un sitio ya no conserva y suma los días terminados, y Comprobación programada explica cómo configurarla. En Vercel son cuatro líneas de vercel.json.

Siguientes pasos

  • Seguimiento trata los eventos personalizados, las aplicaciones de una sola página, los clics sin código y los ajustes de la etiqueta de script.
  • Objetivos trata las conversiones y los ingresos.
  • Enlaces cortos pone enlaces en tu propio dominio y los cuenta como visitas.
  • Privacidad enumera exactamente lo que Runlight guarda y lo que deja fuera.