---
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](https://selfh.st/apps/?tag=web-analytics)
## 📋 Métadonnées
| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | [litlyx.com](https://litlyx.com/) |
| **GitHub** | [github.com/Litlyx/litlyx](https://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é)
```yaml
# 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 :
```bash
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)
```bash
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** :
```html
```
- **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** :
- [[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** : `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
- [Site officiel](https://litlyx.com/)
- [Documentation](https://docs.litlyx.com/)
- [GitHub Litlyx/litlyx](https://github.com/Litlyx/litlyx)
- [Démo live](https://litlyx.com/dashboard-demo)
- [API reference](https://docs.litlyx.com/api)
- [Roadmap](https://github.com/Litlyx/litlyx/projects)
## 🔗 Pages Liées
- [[cat-web-analytics]]
- [[recettes-docker-compose]]
- [[app-umami]]
- [[app-plausible]]
- [[app-rybbit]]