130 lines
5.7 KiB
Markdown
130 lines
5.7 KiB
Markdown
---
|
|
title: PieFed
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, activitypub-fediverse, piefed, agrgateur, liens, fediverse, python, flask, lemmy, mbin, alternative]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps?tag=activitypub-fediverse, https://join.piefed.social/, https://codeberg.org/rimu/pyfedi, https://github.com/Jelloeater/pyfedi]
|
|
---
|
|
|
|
# 🔗 PieFed
|
|
|
|
> Agrégateur de liens fediverse écrit en Python/Flask, positionné comme une alternative moderne à Lemmy et Mbin, avec une approche volontairement plus simple à maintenir et à faire évoluer.
|
|
|
|
| Métadonnée | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | [join.piefed.social](https://join.piefed.social/) |
|
|
| **GitHub / Codeberg** | [codeberg.org/rimu/pyfedi](https://codeberg.org/rimu/pyfedi) |
|
|
| **License** | AGPL-3.0 |
|
|
| **Langage principal** | Python (Flask) |
|
|
| **Étoiles GitHub** | 74 ⭐ (comptage agrégé selfh.st) |
|
|
| **Dernière MAJ** | 2026-06-07 |
|
|
| **Catégorie** | [[cat-activitypub-fediverse]] |
|
|
|
|
## Description
|
|
|
|
**PieFed** est un agrégateur de liens de type « Reddit-like » qui participe au Fediverse via **ActivityPub**. Lancé en bêta fin 2023, il a été conçu pour répondre à deux frustrations courantes sur les alternatives existantes : la **complexité technique** de Lemmy (Rust + Postgres + Leptos, code difficile à reprendre) et la **lourdeur** du duo Mbin/Mastodon côté infrastructure. PieFed est écrit en **Python avec Flask**, ce qui en fait l'un des agrégateurs fediverse les plus accessibles à comprendre et à contribuer.
|
|
|
|
Concrètement, PieFed propose les fonctionnalités classiques attendues : communautés, votes, commentaires, modérations, abonnements, multilinguisme, modération distribuée, NSFW configurable par communauté, et fédération bidirectionnelle avec **Lemmy, Mbin, Mastodon et autres serveurs ActivityPub**. Une passerelle **NNTP** (newsgroups Usenet) est également disponible, ce qui est plutôt unique dans l'écosystème.
|
|
|
|
L'écosystème est en pleine croissance, avec une instance phare à `piefed.social` qui sert de vitrine. L'installation Docker est encore jeune (le dépôt `dockur/piefed` propose une intégration simple) et la documentation s'étoffe rapidement. Pour un self-hoster qui veut **héberger un agrégateur de liens** sans la complexité d'un Lemmy, PieFed est aujourd'hui le **compromis le plus pertinent** : code lisible, langage répandu, fonctionnalité complètes.
|
|
|
|
## Installation
|
|
|
|
### Via Docker (recommandé)
|
|
|
|
L'image communautaire `dockur/piefed` simplifie le déploiement en un seul service :
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
services:
|
|
piefed:
|
|
image: ghcr.io/dockur/piefed:latest
|
|
container_name: piefed
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8443:5000"
|
|
env_file:
|
|
- .env
|
|
volumes:
|
|
- piefed_data:/app/data
|
|
depends_on:
|
|
- db
|
|
- redis
|
|
|
|
db:
|
|
image: postgres:17-alpine
|
|
container_name: piefed-db
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_DB: piefed
|
|
POSTGRES_USER: piefed
|
|
POSTGRES_PASSWORD: change-me
|
|
volumes:
|
|
- db_data:/var/lib/postgresql/data
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
container_name: piefed-redis
|
|
restart: unless-stopped
|
|
volumes:
|
|
- redis_data:/data
|
|
|
|
volumes:
|
|
piefed_data:
|
|
db_data:
|
|
redis_data:
|
|
```
|
|
|
|
### Installation manuelle
|
|
|
|
PieFed nécessite **Python 3.13** (épinglé pour éviter 3.14), **PostgreSQL 17** et **Redis**. Les instructions complètes sont dans `INSTALL-docker.md` du dépôt. Le projet documente également un packaging **YunoHost** officiel.
|
|
|
|
## Configuration
|
|
|
|
1. Cloner le dépôt, copier `env.docker.sample` en `.env` et éditer les secrets.
|
|
2. Lancer la stack : `docker compose up -d`.
|
|
3. Exécuter les migrations et créer le **premier administrateur** via la ligne de commande (`flask` CLI).
|
|
4. Configurer le **domaine public** et activer HTTPS via le reverse proxy (Traefik, Caddy, Nginx).
|
|
5. Vérifier la **fédération** en suivant une communauté d'une instance Lemmy ou Mbin distante.
|
|
6. Activer le **NNTP bridge** (optionnel) si vous voulez exposer les communautés en newsgroups.
|
|
7. Mettre en place les **sauvegardes** Postgres + volumes de médias.
|
|
|
|
## Alternatives
|
|
|
|
### Open source
|
|
- [[app-lemmy]] — Agrégateur de liens fediverse en Rust, plus mature
|
|
- [[app-mbin]] — Agrégateur + microblog, projet allemand, interface soignée
|
|
- [[app-lobsters]] — Clone de Lobsters, plus centré tech et sans Fediverse
|
|
- **Sublinks** — alternative Lemmy, en cours de développement
|
|
|
|
### Propriétaires
|
|
- **Reddit** — centralisé, monétisation agressive, modération opaque
|
|
- **Hacker News** — centralisé sur Y Combinator
|
|
- **Voat / Gab** — clones alternatifs fermés, peu fiables
|
|
|
|
## Sécurité
|
|
|
|
- ✅ Authentification par mot de passe avec **hashage argon2** côté Flask.
|
|
- ✅ Fédération ActivityPub avec **WebFinger** pour la découverte des acteurs distants.
|
|
- ⚠️ Projet jeune : suivre activement les **mises à jour de sécurité** (Python, dépendances Flask).
|
|
- ⚠️ Le NNTP bridge expose potentiellement les communautés à de nouveaux vecteurs d'abus : à durcir.
|
|
- ⚠️ Configurer la **modération fédérale** : listes de blocage d'instances, anti-spam, règles par communauté.
|
|
- ⚠️ **HTTPS obligatoire** pour la fédération et pour la confiance des utilisateurs.
|
|
|
|
## Ressources
|
|
|
|
- [Site du projet PieFed](https://join.piefed.social/)
|
|
- [Instance phare PieFed](https://piefed.social/)
|
|
- [Code source sur Codeberg](https://codeberg.org/rimu/pyfedi)
|
|
- [Documentation d'installation](https://codeberg.org/rimu/pyfedi/src/branch/main/INSTALL.md)
|
|
|
|
## Pages Liées
|
|
|
|
- [[cat-activitypub-fediverse]] — Catégorie parente
|
|
- [[app-lemmy]] — Concurrent direct, plus mature en Rust
|
|
- [[app-mbin]] — Alternative plus minimaliste
|
|
- [[recettes-docker-compose]] — Templates Docker
|