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/eventpour 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 :
- app-umami — plus mature, base PostgreSQL
- app-plausible — privacy-first, Elixir
- app-ackee — minimaliste Node.js
- app-goatcounter — Go ultra-léger
- app-matomo — analytics PHP complet
- app-open-web-analytics — PHP traditionnel
- app-rybbit — TypeScript moderne
- app-swetrix — TypeScript Plausible-like
- app-vince — Go minimaliste
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 :
mongodumpquotidien, 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/eventrecommandé en amont (Nginx, Traefik). - Restreindre l'accès admin via 2FA et IP allowlist si possible.
- fail2ban sur l'API admin.