--- 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]]