Gesamte Doku

Start

  1. 01Erste Schritte
  2. 02Installation
  3. 03Tracking

Funktionen

  1. 04Das Dashboard
  2. 05Ziele
  3. 06Kurzlinks
  4. 07KI-Quellen und Agenten
  5. 08E-Mail-Berichte
  6. 09Stündlicher Check
  7. 10Frag deine KI

Referenz

  1. 11Konfiguration
  2. 12HTTP-API

Plattformen

  1. 13Eigenständiger Server
  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

Vertrauen

  1. 26Datenschutz

Start

Erste Schritte

Runlight ist Webanalyse, die sich in deine App installiert. Von npm install bis zum ersten Besuch dauert es fünf Minuten.

Runlight ist eine Bibliothek, die in einer App läuft, die du schon hast. Sie speichert, was sie zählt, in deiner Datenbank und liefert ihr Dashboard von deiner eigenen Domain unter /runlight aus. Du musst also kein Runlight-Konto anlegen, und deine Daten laufen nie über einen Server von uns.

Diese Seite richtet die TypeScript-Bibliothek ein. Sie braucht eine App, die Routen ausliefern kann, etwa Next.js, Nuxt, SvelteKit, Astro, Remix, Express, NestJS, Fastify, Koa, Hono oder alles andere, was einen Web-Request verarbeitet. Sie läuft auf Node 22 oder neuer, Bun, Deno oder Cloudflare Workers.

Runlight gibt es außerdem neu geschrieben für PHP, Python, Ruby und Rails, Go, Java, .NET, Elixir und Rust. Jede Fassung liefert dasselbe Dashboard aus denselben Tabellen aus, und ihre Seite enthält die Schritte für diese Sprache. WordPress-, Drupal- und Craft-Websites bekommen ein Plugin, das Runlight im CMS ausführt oder ihre Besuche an ein Runlight schickt, das du anderswo betreibst. Für ein Dashboard über mehrere Websites oder für eine Website, deren App Runlight nicht ausführen kann, betreibst du den eigenständigen Server.

1. Installieren

bash

npm install @runlight/sdk better-sqlite3

better-sqlite3 ist der SQLite-Treiber. Für Postgres, MySQL, MariaDB, Turso, Cloudflare D1 oder das eigene SQLite von Bun siehe Konfiguration.

2. Die Instanz erstellen

Erstelle eine Datei und importiere sie überall, wo du Runlight brauchst.

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" },
});

Die Tabellen werden bei der ersten Nutzung angelegt. Die Datenbankdatei gehört dir, sichere sie also wie jede andere.

3. Die Routen einbinden

In Next.js (App Router) liefert eine einzige Catch-all-Route den Tracker und das Dashboard aus und nimmt jeden Besuch entgegen.

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

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

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

Andere Frameworks brauchen ebenfalls nur ein oder zwei Zeilen, wie Installation zeigt.

4. Das Skript hinzufügen

Füge das auf jeder Seite ein, direkt vor </head>.

html

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

Das Skript ist gzip-komprimiert kleiner als 2 KB und sendet an deine eigene Domain, ohne Cookies zu setzen.

5. Anmelden

Das Dashboard ist privat, setze also ein langes zufälliges Token in deiner Umgebung.

bash

RUNLIGHT_TOKEN=a-long-random-string

Öffne dann einmal /runlight/?token=a-long-random-string. Runlight setzt ein Cookie mit einem Digest des Tokens (nie dem Token selbst) und leitet dich zum Dashboard weiter. Ohne gesetztes Token ist das Dashboard nur offen, solange NODE_ENV gleich development ist, wie unter next dev. Überall sonst antwortet es mit 503, bis du eines setzt.

Ruf eine beliebige Seite deiner Website auf, und innerhalb von Sekunden siehst du dich unter „gerade hier“.

6. Den stündlichen Check planen

Ein Check, den du einmal pro Stunde aufrufst, wechselt den täglichen Salt und verschickt E-Mail-Berichte. Er löscht außerdem Besuche, die eine Website nicht mehr behält, und summiert abgeschlossene Tage auf. Stündlicher Check zeigt, wie du ihn einrichtest. Auf Vercel sind es vier Zeilen in vercel.json.

Wie es weitergeht

  • Tracking behandelt eigene Ereignisse, Single-Page-Apps, Klicks ohne Code und die Einstellungen am Script-Tag.
  • Ziele behandelt Conversions und Umsatz.
  • Kurzlinks legt Links auf deine eigene Domain und zählt sie wie Besuche.
  • Datenschutz listet genau auf, was Runlight speichert und was es weglässt.