Initial vault setup
This commit is contained in:
@@ -0,0 +1,196 @@
|
||||
---
|
||||
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
|
||||
<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** :
|
||||
- [[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]]
|
||||
Reference in New Issue
Block a user