Files
wiki/Catalogue-Self-Hosted/apps/app-litlyx.md
T
2026-06-09 18:40:21 +02:00

7.3 KiB


title: Litlyx created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, web-analytics, privacy, self-hosted, analytics, typescript, nextjs, postgresql, simple, modern] confidence: medium contested: false sources: [https://selfh.st/apps/?tag=web-analytics]

Litlyx

Solution d'analytics web simple et moderne écrite en TypeScript, avec un script de 1 Ko et une expérience développeur soignée. Source : selfh.st

📋 Métadonnées

Métadonnée Valeur
Site web litlyx.com
GitHub github.com/Litlyx/litlyx
License AGPL-3.0
Langage TypeScript / Next.js / Node.js
Étoiles 112
Dernière MAJ 2026-04
Catégorie cat-web-analytics

📝 Description

Litlyx est une solution d'analyse web moderne qui mise sur la simplicité radicale et la qualité de l'expérience développeur. L'objectif affiché : fournir un outil aussi rapide à installer qu'un Google Tag Manager, mais avec la souveraineté du self-hosted et le respect de la vie privée.

Le script de tracking pèse moins d'1 Ko et se charge de manière asynchrone, sans impacter les Core Web Vitals. L'API publique est volontairement simple et bien documentée : une seule méthode litlyx.event('nom_evenement', { props }) permet de tracker n'importe quelle interaction personnalisée. Litlyx s'inscrit dans la mouvance "track what matters" — pas une débauche de rapports, mais l'essentiel visible rapidement.

Fonctionnalités principales : dashboard temps réel, événements personnalisés illimités, funnels simples, sessions et utilisateurs uniques, géolocalisation par IP, intégrations natives (webhooks, Zapier, Make), API REST, multi-sites depuis une seule instance, rôles basiques (admin / user), export CSV.

Litlyx se distingue aussi par son setup en 30 secondes : une commande npx litlyx (en mode cloud) ou un docker compose up (en self-hosted) suffit pour démarrer. Le projet est plus jeune que app-umami ou app-plausible, mais l'équipe livre régulièrement des mises à jour et la communauté grandit.

Idéal pour les startups, petits SaaS, portfolios et projets personnels qui veulent un analytics fiable, simple et rapide à mettre en place.

🚀 Installation

Option 1 : Docker Compose (recommandé)

# docker-compose.yml
version: '3.8'

services:
  litlyx:
    image: ghcr.io/litlyx/litlyx:latest
    container_name: litlyx
    restart: unless-stopped
    ports:
      - "3030:3000"
    environment:
      LITLYX_SECRET_KEY: changez-cette-cle-aleatoire
      LITLYX_API_KEY: votre-api-key-publique
      DATABASE_URL: mongodb://litlyx:***@mongo:27017/litlyx
      JWT_SECRET: changez-jwt-secret
      LITLYX_PUBLIC_URL: https://litlyx.example.com
    depends_on:
      mongo:
        condition: service_healthy
    networks:
      - litlyx-net
    healthcheck:
      test: ["CMD", "wget", "--spider", "-q", "http://localhost:3000/"]
      interval: 30s
      timeout: 5s
      retries: 3

  mongo:
    image: mongo:6
    container_name: litlyx-mongo
    restart: unless-stopped
    environment:
      MONGO_INITDB_ROOT_USERNAME: litlyx
      MONGO_INITDB_ROOT_PASSWORD: litlyx
      MONGO_INITDB_DATABASE: litlyx
    volumes:
      - ./mongo-data:/data/db
    networks:
      - litlyx-net
    healthcheck:
      test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')"]
      interval: 10s
      timeout: 5s
      retries: 5

networks:
  litlyx-net:
    driver: bridge

Variante : support natif PostgreSQL via DATABASE_URL=postgresql://... selon la version de l'image.

Lancement :

docker compose up -d
# Accéder à http://localhost:3030
# Créer le compte initial et le premier projet depuis l'UI

Option 2 : Installation manuelle (Node.js + MongoDB)

git clone https://github.com/Litlyx/litlyx.git
cd litlyx
pnpm install
# Configurer .env (DATABASE_URL, LITLYX_SECRET_KEY, JWT_SECRET)
pnpm build
pnpm start

Prérequis : Node.js 20+, MongoDB 6+ (ou PostgreSQL 14+ selon la version), pnpm 9+.

⚙️ Configuration

  • LITLYX_SECRET_KEY : clé secrète pour signer les tokens JWT, 32+ caractères.
  • LITLYX_API_KEY : clé publique distribuée aux clients.
  • DATABASE_URL : MongoDB (mongodb://...) ou PostgreSQL (postgresql://...).
  • JWT_SECRET : clé secrète pour la session utilisateur, distincte de LITLYX_SECRET_KEY.
  • LITLYX_PUBLIC_URL : URL publique, utilisée pour CORS et les liens.
  • Snippet de tracking :
<script defer src="https://litlyx.example.com/cdn/litlyx.js"></script>
<script>
  window.lit = window.lit || [];
  lit.push(['init', 'votre-project-id']);
  lit.push(['event', 'pageview']);
  // événement custom :
  // lit.push(['event', 'signup', { plan: 'pro' }]);
</script>
  • API serveur : endpoint POST /api/v1/event pour ingérer des événements depuis vos apps.
  • Multi-sites : créer un projet par domaine, regroupé par workspace.
  • Thèmes : clair/sombre selon préférences utilisateur.
  • Langues : interface traduite en EN/FR/ES (parfois partiel, projet jeune).

🔄 Alternatives

Open source :

Propriétaire (SaaS) :

  • Google Analytics 4 — leader, RGPD complexe
  • Litlyx Cloud — offre officielle (à venir / bêta)
  • Plausible Cloud — payant
  • Fathom Analytics — simple
  • Simple Analytics — design
  • Umami Cloud — service officiel
  • Pirsch — allemand RGPD
  • PostHog — product analytics managé

🔒 Sécurité

  • LITLYX_SECRET_KEY et JWT_SECRET : générer via openssl rand -base64 64, jamais committé.
  • Changer LITLYX_API_KEY régulièrement, ne pas la partager publiquement.
  • HTTPS obligatoire : Traefik, Caddy ou Nginx avec Let's Encrypt.
  • MongoDB : ne jamais exposer le port 27017 sur Internet, bind sur réseau Docker interne.
  • Activer l'authentification MongoDB (root user + DB user, c'est le cas dans le compose).
  • Sauvegardes : mongodump quotidien, ou snapshots volumes.
  • Configurer CORS strictement via LITLYX_PUBLIC_URL (pas de wildcard).
  • Mettre à jour régulièrement — projet jeune, suivre les breaking changes.
  • Rate limiting sur /api/v1/event recommandé en amont (Nginx, Traefik).
  • Restreindre l'accès admin via 2FA et IP allowlist si possible.
  • fail2ban sur l'API admin.

📚 Ressources

🔗 Pages Liées