Files
2026-06-09 18:40:21 +02:00

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

  1. Éditer config.yaml : définir instance_name, instance_url, le DSN PostgreSQL, et la taille max des uploads.
  2. Premier démarrage : créer le compte administrateur via la CLI ou l'API.
  3. Webfinger : vérifier que /.well-known/webfinger répond bien (tester avec curl).
  4. Stockage média : par défaut RocksDB local, pour la prod on peut brancher S3-compatible.
  5. 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

Pages Liées