139 lines
5.7 KiB
Markdown
139 lines
5.7 KiB
Markdown
---
|
|
title: Lemmy
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, activitypub-fediverse, agregateur-liens, reddit, rust, fediverse]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=activitypub-fediverse, https://github.com/LemmyNet/lemmy, https://join-lemmy.org/]
|
|
---
|
|
|
|
# 🦬 Lemmy
|
|
|
|
> **L'agrégateur de liens fédéré open source** : communautés, votes, commentaires à la Reddit, mais interopérable avec Mastodon, Peertube et tout le Fediverse via ActivityPub.
|
|
|
|
| Métadonnée | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | [https://join-lemmy.org](https://join-lemmy.org) |
|
|
| **GitHub** | [https://github.com/LemmyNet/lemmy](https://github.com/LemmyNet/lemmy) |
|
|
| **License** | AGPL-3.0 |
|
|
| **Langage principal** | Rust, TypeScript (Inferno) |
|
|
| **Étoiles GitHub** | 14 200 ⭐ |
|
|
| **Dernière MAJ** | 2026-05 |
|
|
| **Catégorie** | [[cat-activitypub-fediverse]] |
|
|
|
|
## Description
|
|
|
|
Lemmy est un **agrégateur de liens communautaire** dans la veine de Reddit, mais entièrement **fédéré** via ActivityPub. Chaque instance héberge des « communautés » (l'équivalent des subreddits) ; les utilisateurs d'une instance peuvent suivre, voter et commenter dans les communautés d'une autre instance sans créer de compte dessus.
|
|
|
|
L'interface utilisateur est écrite en Inferno (le portage React en Rust) et propose l'expérience Reddit classique : fils chauds / nouveaux / top, votes positifs/négatifs, commentaires arborescents imbriqués, modérateurs par communauté, tags, NSFW paramétrable. Le backend en Rust donne d'excellentes performances (souvent < 500 Mo RAM pour une petite instance).
|
|
|
|
La federation ActivityPub rend Lemmy particulièrement attractif : un compte `@user@lemmy.world` peut commenter un pouet Mastodon, suivre une chaîne PeerTube, ou s'abonner à une communauté. Lemmy et **Mastodon** communiquent pleinement (les utilisateurs Mastodon voient les posts Lemmy dans leur timeline, et inversement).
|
|
|
|
**Points forts** : code en Rust (rapide, sûr), très économe en RAM, federation ActivityPub complète (plutôt rare pour un « Reddit-like »), UI soignée.
|
|
|
|
**Points faibles** : instance de référence (`lemmy.world`) instable à ses débuts, petit écosystème de clients mobiles, recherche federated limitée, et la scission de la communauté (création de `lemm.ee`, `fedia.io` etc.) a fragmenté le réseau.
|
|
|
|
## Installation
|
|
|
|
### Via Docker (recommandé)
|
|
|
|
L'image officielle est `lemmy/lemmy` sur Docker Hub. Lemmy est accompagné de `Lemmy-UI` (frontend Inferno) et d'un `Pictrs` (serveur d'images).
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
services:
|
|
lemmy:
|
|
image: lemmy/lemmy:0.19
|
|
restart: unless-stopped
|
|
ports:
|
|
- "127.0.0.1:8536:8536"
|
|
volumes:
|
|
- ./lemmy.hjson:/config/config.hjson
|
|
- lemmy_vol:/app/volumes
|
|
depends_on:
|
|
- postgres
|
|
|
|
lemmy-ui:
|
|
image: lemmy/lemmy-ui:0.19
|
|
restart: unless-stopped
|
|
ports:
|
|
- "127.0.0.1:1234:1234"
|
|
environment:
|
|
LEMMY_UI_LEMMY_INTERNAL_HOST: lemmy:8536
|
|
LEMMY_UI_LEMMY_EXTERNAL_HOST: lemmy.example.com
|
|
|
|
pictrs:
|
|
image: asonix/pictrs:0.5
|
|
restart: unless-stopped
|
|
volumes:
|
|
- pictrs_vol:/mnt
|
|
environment:
|
|
PICTRS__DATABASE_URL: postgresql://pictrs:change-me@postgres:5432/pictrs
|
|
|
|
postgres:
|
|
image: postgres:16-alpine
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_USER: lemmy
|
|
POSTGRES_PASSWORD: change-me
|
|
POSTGRES_DB: lemmy
|
|
volumes:
|
|
- lemmy_db:/var/lib/postgresql/data
|
|
|
|
volumes:
|
|
lemmy_db:
|
|
lemmy_vol:
|
|
pictrs_vol:
|
|
```
|
|
|
|
### Installation manuelle
|
|
|
|
Compilation native : installer Rust stable, Node.js 18+, PostgreSQL 14+, et suivre `https://join-lemmy.org/docs/administration/install.html`. Réserver ~2 Go RAM minimum.
|
|
|
|
## Configuration
|
|
|
|
1. Copier `config.hjson` depuis le dépôt : `wget https://raw.githubusercontent.com/LemmyNet/lemmy/main/config/defaults.hjson`.
|
|
2. Éditer `config.hjson` : `hostname`, `database_url`, `pictrs_url`, `federation.enabled`, SMTP.
|
|
3. Démarrer la stack, puis créer l'admin via l'API : `curl -X POST .../api/v3/user/register`.
|
|
4. Configurer le reverse-proxy HTTPS (Traefik) en pointant `/` sur lemmy-ui (port 1234) et `/api`, `/pictrs`, `/federation` sur lemmy (port 8536).
|
|
|
|
## Alternatives
|
|
|
|
### Open source
|
|
- [[app-mastodon]] — Microblogage fédéré (suit aussi Lemmy via ActivityPub)
|
|
- **Mbin** — Agrégateur + microblogage, fork communautaire de Lemmy
|
|
- **Kbin** — Précédent, fusionné dans Mbin
|
|
- **Sublinks** — Agrégateur fédéré, en cours de développement
|
|
|
|
### Propriétaires
|
|
- **Reddit** — Modèle d'origine, centralisé, propriétaire de 2023
|
|
- **Hacker News** — Sans federation, ni comptes
|
|
- **Tildes** — Communauté fermée non self-hostable
|
|
|
|
## Sécurité
|
|
|
|
- ✅ **Authentification** : email + mot de passe, 2FA TOTP, OAuth2 via applications tierces
|
|
- ✅ **Modération** : admins globaux + modérateurs par communauté, signalements, listes de blocage
|
|
- ✅ **HTTPS** obligatoire en federation (échec sinon)
|
|
- ✅ **NSFW** : marqué par communauté, masquable par défaut
|
|
- ⚠️ **Pictrs** : taille max d'image paramétrable, attention au stockage
|
|
- ⚠️ **Flood** : limiter les inscriptions par IP / Captcha (intégré)
|
|
- ⚠️ **Federation sortante** : peut envoyer beaucoup de trafic si votre communauté devient populaire
|
|
|
|
## Ressources
|
|
|
|
- [Site officiel](https://join-lemmy.org)
|
|
- [Documentation admin](https://join-lemmy.org/docs/)
|
|
- [GitHub LemmyNet/lemmy](https://github.com/LemmyNet/lemmy)
|
|
- [Liste d'instances](https://join-lemmy.org/instances)
|
|
|
|
## Pages Liées
|
|
|
|
- [[cat-activitypub-fediverse]] — Catégorie parente
|
|
- [[app-mastodon]] — Federation transparente entre les deux
|
|
- [[app-peertube]] — Vidéo fédérée du même écosystème
|
|
- [[app-traefik]] — Reverse-proxy HTTPS
|
|
- [[recettes-docker-compose]] — Templates Docker
|