5.6 KiB
title: Mitra created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, activitypub-fediverse, microblogging, rust, single-user, fediverse, lightweight, pleroma] confidence: high contested: false sources: [https://selfh.st/apps/?tag=activitypub-fediverse, https://codeberg.org/silverpill/mitra]
🦀 Mitra
Le microblog Fediverse en Rust signé silverpill, ex-auteur de Pleroma — un serveur ActivityPub minimaliste, rapide et conçu pour tourner sur un Raspberry Pi.
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | silverpill.eu/mitra |
| GitHub / Codeberg | silverpill/mitra |
| Licence | AGPL-3.0 |
| Langage | Rust, Actix |
| Étoiles GitHub | 23 ⭐ |
| Dernière MAJ | 2026-04 |
| Catégorie | cat-activitypub-fediverse |
📝 Description
Mitra est un serveur microblog ActivityPub en Rust, développé par silverpill — figure historique de Pleroma (un des auteurs originaux du projet). Mitra est né en 2023 du souhait de réécrire Pleroma "from scratch" en s'appuyant sur les leçons apprises : une base de code plus compacte, des choix techniques plus radicaux (PostgreSQL uniquement, binaire statique, gestion des médias via RocksDB), et une cible mono-instance légère.
L'argument de vente principal est la performance. En Rust, sans surcoût garbage-collector, Mitra consomme très peu de RAM (souvent < 100 Mo même pour une instance publique) et tourne de manière fluide sur des machines modestes type Raspberry Pi 4. Le binaire final est statique (grâce à la toolchain Rust), ce qui simplifie le déploiement.
Fonctionnellement, Mitra propose tout ce qu'on attend d'un serveur Fediverse : posts, threads, boosts, favoris, follows, listes, quote posts, custom emojis, réactions emoji, sondages, limite de caractères configurable (par défaut 5000), DM. La fédération est complète et l'auteur a documenté des extensions ActivityPub adoptées par Pleroma/Akkoma (donc interopérables).
Le projet est plus confidentiel que Pleroma ou Mastodon : peu de contributeurs externes, rythme de release soutenu mais communauté réduite. C'est le choix idéal pour un self-hoster avancé qui veut un Fediverse minimaliste, performant, et qui n'a pas peur de mettre les mains dans la config.
🚀 Installation
Option recommandée : Docker
# docker-compose.yml
services:
mitra:
image: silverpill/mitra:latest
container_name: mitra
restart: unless-stopped
environment:
- MITRA_DATABASE_URL=postgresql://mitra:***@db/mitra
- MITRA_LISTEN_ADDRESS=0.0.0.0:8080
depends_on:
- db
volumes:
- ./data:/opt/mitra/data
ports:
- "8080:8080"
db:
image: postgres:16-alpine
container_name: mitra-db
restart: unless-stopped
environment:
- POSTGRES_USER=mitra
- POSTGRES_PASSWORD=*** - POSTGRES_DB=mitra
volumes:
- ./pgdata:/var/lib/postgresql/data
Option 2 : Binaire natif
git clone https://codeberg.org/silverpill/mitra.git
cd mitra
cargo build --release
./target/release/mitra --config config.yaml
⚙️ Configuration Initiale
- Éditer
config.yaml: définirinstance_name,instance_url, le DSN PostgreSQL, et la taille max des uploads. - Premier démarrage : créer le compte administrateur via la CLI ou l'API.
- Webfinger : vérifier que
/.well-known/webfingerrépond bien (tester aveccurl). - Stockage média : par défaut RocksDB local, pour la prod on peut brancher S3-compatible.
- Sauvegardes : dump Postgres + dossier média.
🔄 Alternatives
Open Source
- app-pleroma — Le projet d'origine de l'auteur, en Elixir.
- app-akkoma — Fork de Pleroma maintenu par la communauté.
- app-mastodon — Le standard, en Ruby.
- app-ktistec — Approche minimaliste similaire en Crystal.
- app-snac — Encore plus minimaliste, en C.
Propriétaires (ce que cette app remplace)
- Twitter / X — centralisé, traque publicitaire.
- Threads (Meta) — non fédéré, lié à Instagram.
- Bluesky — modèle AT Protocol différent.
- Pleroma "officiel" — abandonné par l'auteur, dont l'énergie va désormais sur Mitra.
🔐 Sécurité
- Authentification : comptes locaux avec mots de passe hashés (Argon2id). Premier compte créé = admin.
- OAuth : Mitra expose l'API OAuth 2.0 standard, donc n'importe quel client Mastodon peut s'y connecter.
- HTTPS obligatoire : Let's Encrypt via Caddy/Nginx, requis par ActivityPub.
- Fédération : les DM sont chiffrés en transit mais pas E2E. L'auteur a publié ses extensions sur E2EE DMS à surveiller dans les releases.
- Modération : support des blocks, mutes, instance blocks standards, mais l'interface d'admin est minimale (à compléter avec des scripts).
- Mises à jour : projet jeune, suivre attentivement les releases car le modèle de données peut évoluer.
📚 Ressources
- Codeberg silverpill/mitra
- Site officiel silverpill.eu/mitra
- LemmyNet/activitypub-federation-rust — Librairie utilisée
Pages Liées
- cat-activitypub-fediverse — Catégorie parente
- app-pleroma — Projet d'origine de l'auteur
- app-ktistec — Microblog Fediverse en Crystal (autre approche minimaliste)
- recettes-docker-compose — Templates Docker