Initial vault setup
This commit is contained in:
@@ -0,0 +1,136 @@
|
||||
---
|
||||
title: Mbin
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, activitypub-fediverse, content-aggregator, link-aggregator, microblogging, lemmy, kbin, fediverse, symfony]
|
||||
confidence: high
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/?tag=activitypub-fediverse, https://github.com/MbinOrg/mbin]
|
||||
---
|
||||
|
||||
# 🌐 Mbin
|
||||
|
||||
> **L'agrégateur de contenu fédéré qui réconcilie le threadiverse et le microblog** — successeur communautaire de Kbin, compatible Lemmy, Mastodon, Pleroma et le reste du Fediverse.
|
||||
|
||||
## 📋 Informations Générales
|
||||
|
||||
| Champ | Valeur |
|
||||
| :--- | :--- |
|
||||
| **Site web** | [mbin.org](https://mbin.org/) |
|
||||
| **GitHub** | [MbinOrg/mbin](https://github.com/MbinOrg/mbin) |
|
||||
| **Licence** | AGPL-3.0 |
|
||||
| **Langage** | PHP, Symfony 7 |
|
||||
| **Étoiles GitHub** | 30 ⭐ (en croissance rapide) |
|
||||
| **Dernière MAJ** | 2026-06 |
|
||||
| **Catégorie** | [[cat-activitypub-fediverse\|ActivityPub / Fediverse]] |
|
||||
|
||||
## 📝 Description
|
||||
|
||||
**Mbin** est né en 2024 de la **scission communautaire de Kbin**. Quand l'auteur principal de Kbin a annoncé un cap controversé sur la modération, la majorité des contributeurs a forké le projet pour créer Mbin, qui se veut un **agrégateur de contenu ActivityPub neutre, multi-tenant et performant**. En quelques mois, Mbin a dépassé Kbin en termes de contributions, d'instances et d'attention.
|
||||
|
||||
L'ambition est claire : être le **Reddit-like fédéré de référence**, tout en parlant nativement avec **Mastodon et Pleroma** (microblog) ET avec **Lemmy et PieFed** (threadiverse). Concrètement, depuis une instance Mbin vous pouvez suivre des magazines (équivalent subreddits), poster des liens et des threads, mais aussi suivre des comptes Mastodon et interagir avec leurs pouets. Cette **interopérabilité cross-protocole** est l'argument massue.
|
||||
|
||||
L'architecture technique est solide : **Symfony 7** (PHP 8.3), **PostgreSQL**, **Redis** pour le cache, **Mercure** pour le temps réel, et une **API REST + ActivityPub complète**. Le projet met l'accent sur la **performance** (là où Kbin souffrait de latence sur les grandes instances) et la **modération multi-niveau** (modérateurs de magazine, modérateurs d'instance, admins).
|
||||
|
||||
Cas d'usage : agrégateur d'actualités fédéré, communauté thématique (chaque magazine = un subreddit fédéré), alternative à Reddit sans tracking. Comparé à Lemmy, Mbin offre une **meilleure UX** (lecteur intégré, threads enrichis) au prix d'une stack plus lourde.
|
||||
|
||||
## 🚀 Installation
|
||||
|
||||
### Option recommandée : Docker Compose
|
||||
|
||||
```yaml
|
||||
# docker-compose.yml
|
||||
services:
|
||||
mbin:
|
||||
image: mbin/mbin:latest
|
||||
container_name: mbin
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- APP_ENV=prod
|
||||
- APP_SECRET=changez-moi
|
||||
- DATABASE_URL=postgresql://mbin:mbin@db/mbin?serverVersion=16&charset=utf8
|
||||
- REDIS_URL=redis://redis:6379
|
||||
- MERCURY_URL=http://mercure:3000/.well-known/mercure
|
||||
- MERCURY_PUBLIC_URL=http://mercure:3000/.well-known/mercure
|
||||
- MERCURY_JWT_SECRET=changez-moi-mercure
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
- mercure
|
||||
ports:
|
||||
- "8000:8080"
|
||||
|
||||
db:
|
||||
image: postgres:16-alpine
|
||||
container_name: mbin-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_USER=mbin
|
||||
- POSTGRES_PASSWORD=mbin
|
||||
- POSTGRES_DB=mbin
|
||||
volumes:
|
||||
- ./pgdata:/var/lib/postgresql/data
|
||||
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
container_name: mbin-redis
|
||||
restart: unless-stopped
|
||||
|
||||
mercure:
|
||||
image: dunglas/mercure:latest
|
||||
container_name: mbin-mercure
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- SERVER_NAME=:3000
|
||||
- MERCURE_PUBLISHER_JWT_KEY=changez-moi-mercure
|
||||
- MERCURE_SUBSCRIBER_JWT_KEY=changez-moi-mercure
|
||||
- ALLOW_ANONYMOUS=1
|
||||
ports:
|
||||
- "3000:3000"
|
||||
```
|
||||
|
||||
## ⚙️ Configuration Initiale
|
||||
|
||||
1. **Premier démarrage** : suivre l'assistant web pour créer le compte administrateur.
|
||||
2. **Configurer le domaine** : éditer `APP_ENV` et les variables `KBIN_DOMAIN` (cf. doc officielle).
|
||||
3. **Activer la fédération** : tester en suivant `https://lemmy.world/c/news` depuis votre instance.
|
||||
4. **Magazines** : créer les premiers magazines (équivalent subreddits) qui serviront de communautés thématiques.
|
||||
5. **Modération** : configurer la file de signalements et la liste d'instances bloquées.
|
||||
6. **Sauvegardes** : `pg_dump` quotidien + volume des médias uploadés.
|
||||
|
||||
## 🔄 Alternatives
|
||||
|
||||
### Open Source
|
||||
- [[app-lemmy]] — Concurrent direct, plus mature, plus d'instances.
|
||||
- [[app-piefed]] — Agrégateur Lemmy-like récent en Go.
|
||||
- [[app-kbin]] — Le projet d'origine, désormais minoritaire.
|
||||
- [[app-mastodon]] — Le microblogging fédéré (Mbin y est interopérable).
|
||||
|
||||
### Propriétaires (ce que cette app remplace)
|
||||
- **Reddit** — modèle centralisé, déboires de l'API 2023.
|
||||
- **Hacker News** — pas de fédération, mono-instance.
|
||||
- **Voat** — historique chargé, fermé.
|
||||
- **Lobsters** — invitation, pas de fédération.
|
||||
|
||||
## 🔐 Sécurité
|
||||
|
||||
- **Authentification** : locale (email + mot de passe) + OAuth via Mastodon pour lier des comptes.
|
||||
- **CSRF / CORS** : Symfony gère nativement, mais il faut servir derrière HTTPS en production.
|
||||
- **Fédération** : Mbin parle ActivityPub 1.0 et 2.0, ainsi qu'un pont avec Lemmy (qui utilise un dialecte ActivityPub spécifique). Les **fédérations rompues** sont loguées dans `/federation`.
|
||||
- **Modération** : système à 3 niveaux (utilisateur / modérateur de magazine / admin instance) avec **suspension, ban, signalement à d'autres instances**.
|
||||
- **Uploads** : par défaut stockés sur disque ; pour la prod, brancher un S3-compatible.
|
||||
- **2FA** : non activée nativement, à compléter par un proxy (Authelia/Authentik).
|
||||
|
||||
## 📚 Ressources
|
||||
|
||||
- [Site officiel Mbin](https://mbin.org/)
|
||||
- [GitHub MbinOrg/mbin](https://github.com/MbinOrg/mbin)
|
||||
- [Documentation d'install officielle](https://docs.mbin.pub/)
|
||||
- [Reddit r/fediverse — Mbin presentation](https://www.reddit.com/r/fediverse/comments/1i7nxdf/mbin_is_an_opensource_fediverse_server_that/)
|
||||
|
||||
## Pages Liées
|
||||
- [[cat-activitypub-fediverse]] — Catégorie parente
|
||||
- [[app-lemmy]] — Concurrent direct
|
||||
- [[app-mastodon]] — Interopérable avec Mbin
|
||||
- [[recettes-docker-compose]] — Templates Docker
|
||||
Reference in New Issue
Block a user