---
title: BookWyrm
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, activitypub-fediverse, livres, goodreads, django, fediverse, social]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=activitypub-fediverse, https://github.com/bookwyrm-social/bookwyrm, https://joinbookwyrm.com/]
---

# 📚 BookWyrm

> **Le réseau social de lecteurs fédéré** : l'alternative éthique à Goodreads, basée sur ActivityPub, où vous pistez vos lectures, écrivez des critiques et discutez avec d'autres lecteurs — y compris depuis Mastodon.

| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | [https://joinbookwyrm.com](https://joinbookwyrm.com) |
| **GitHub** | [https://github.com/bookwyrm-social/bookwyrm](https://github.com/bookwyrm-social/bookwyrm) |
| **License** | AGPL-3.0 |
| **Langage principal** | Python (Django) |
| **Étoiles GitHub** | 2 250 ⭐ |
| **Dernière MAJ** | 2026-05 |
| **Catégorie** | [[cat-activitypub-fediverse]] |

## Description

BookWyrm est l'**alternative éthique et fédérée à Goodreads** développée depuis 2021 par une équipe de bénévoles sensibles à la culture du libre. Le principe : un réseau social centré sur la lecture, où vous tenez un **journal de lectures** (lu, en cours, à lire, abandonné), rédigez des **critiques**, notez les livres, créez des **listes thématiques** et discutez avec d'autres lecteurs.

La particularité fediverse : BookWyrm parle **ActivityPub**. Vous pouvez **suivre un compte BookWyrm depuis Mastodon**, et inversement — un compte Mastodon apparaît dans vos followers BookWyrm. Les critiques d'un livre publiées sur BookWyrm sont visibles depuis Mastodon, et les commentaires de vos amis Mastodon sous votre critique remontent sur BookWyrm. C'est un pont rare entre le monde littéraire et le microblogage.

Fonctionnalités principales : **étagères** (shelves) personnalisables, **statuts de lecture** (to-read, reading, read), **critiques** riches (markdown, spoilers masquables), **listes** collaboratives (type « les 100 meilleurs polars »), **citations** partagées, **citations du jour**, **découverte** par genres et tags, **scrobbling** (intégration OPDS), **import/export** depuis Goodreads, **API** pour intégrations tierces.

**Points forts** : UI claire et agréable, federation ActivityPub complète, alternative crédible à Goodreads (propriété d'Amazon), respect de la vie privée, communauté de lecteurs active.

**Points faibles** : stack Python/Django + PostgreSQL + Redis + Elasticsearch (lourd pour quelques utilisateurs), pas d'application mobile native (PWA), catalogue OpenLibrary parfois lent, et le réseau est fragmenté entre plusieurs instances.

## Installation

### Via Docker (recommandé)

L'image officielle est `bookwyrm/bookwyrm` et `bookwyrm/celery-worker` sur Docker Hub. La stack inclut PostgreSQL, Redis, Elasticsearch (optionnel mais recommandé).

```yaml
# docker-compose.yml
services:
  web:
    image: bookwyrm/bookwyrm:latest
    restart: unless-stopped
    env_file: .env
    volumes:
      - bookwyrm_data:/app
    ports:
      - "8000:8000"
    depends_on:
      - postgres
      - redis
      - celery

  celery:
    image: bookwyrm/bookwyrm:latest
    restart: unless-stopped
    env_file: .env
    command: celery -A bookwyrm worker -l info
    depends_on:
      - postgres
      - redis

  postgres:
    image: postgres:16-alpine
    restart: unless-stopped
    environment:
      POSTGRES_DB: bookwyrm
      POSTGRES_USER: bookwyrm
      POSTGRES_PASSWORD: change-me
    volumes:
      - bookwyrm_db:/var/lib/postgresql/data

  redis:
    image: redis:7-alpine
    restart: unless-stopped
    volumes:
      - bookwyrm_redis:/data

volumes:
  bookwyrm_data:
  bookwyrm_db:
  bookwyrm_redis:
```

### Installation manuelle

Voir la doc officielle : `https://docs.joinbookwyrm.com/install-prod.html`. Prévoir Python 3.11+, PostgreSQL 13+, Redis 7+, Elasticsearch 7+ (recommandé), Node.js, et un reverse-proxy (Nginx/Caddy).

## Configuration

1. Cloner le dépôt et copier `.env.example` vers `.env`, compléter `DOMAIN`, `DATABASE_URL`, `REDIS_URL`, `EMAIL`, `OTEL_*`.
2. Migrer la base : `python manage.py migrate`.
3. Migrer les données de base OpenLibrary : `python manage.py initdb`.
4. Pré-compiler les assets : `python manage.py collectstatic`.
5. Créer le superadmin : `python manage.py admin_code`.
6. Lancer la stack, **configurer le reverse-proxy HTTPS** (Caddy ou Nginx avec WebSocket) et activer la federation (par défaut activée).

## Alternatives

### Open source
- **OpenReads** — Suivi de lectures local, sans réseau social
- **MyLibro** — Suivi de lectures, pas de réseau social fediverse
- [[app-pixelfed]] — Pour d'autres types de partage créatif
- [[app-friendica]] — Réseau multi-protocoles avec un faible volet livres
- [[app-mastodon]] — Pour la partie microblogage / discussion

### Propriétaires
- **Goodreads (Amazon)** — Le modèle d'origine, public tracking publicitaire
- **The StoryGraph** — Concurrent moderne, freemium, pas self-hostable
- **LibraryThing** — Historique, freemium limité
- **Babelio** — Francophone, pas self-hostable

## Sécurité

- ✅ **Authentification** : email + mot de passe, OAuth (Fediverse) — connectez-vous avec votre compte Mastodon
- ✅ **HTTPS** obligatoire (HSTS)
- ✅ **Modération** : signalements, blocage de comptes et d'instances, listes de blocage
- ✅ **Privacy** : étagères privées possibles, listes « à cacher »
- ⚠️ **Federation** : un compte BookWyrm public attire les bots, modérer les demandes de follow
- ⚠️ **Données OpenLibrary** : la base est partagée, attention aux requêtes API
- ⚠️ **Stack** : Elasticsearch + Postgres + Redis demande de la RAM (~ 4 Go minimum recommandé)

## Ressources

- [Site officiel](https://joinbookwyrm.com)
- [Documentation](https://docs.joinbookwyrm.com)
- [GitHub bookwyrm-social/bookwyrm](https://github.com/bookwyrm-social/bookwyrm)
- [Liste d'instances publiques](https://joinbookwyrm.com/instances/)

## Pages Liées

- [[cat-activitypub-fediverse]] — Catégorie parente
- [[app-mastodon]] — Federation avec le microblogage
- [[app-pixelfed]] — Partage créatif fediverse
- [[app-caddy]] — Reverse-proxy HTTPS
- [[recettes-docker-compose]] — Templates Docker
