Files
wiki/Catalogue-Self-Hosted/apps/app-neodb.md
T
2026-06-09 18:40:21 +02:00

132 lines
5.5 KiB
Markdown

---
title: NeoDB
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, activitypub-fediverse, catalogue, livres, films, musique, jeux, python, fediverse]
confidence: medium
contested: false
sources: [https://selfh.st/apps/?tag=activitypub-fediverse, https://neodb.social/, https://github.com/neodb-social/neodb]
---
# 📚 NeoDB
> **Le catalogue social de médias fediverse** : marquez et critiquez livres, films, séries, musique, podcasts et jeux vidéo sur une plateforme ActivityPub, alternative libre à Goodreads / Letterboxd / Last.fm.
| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | [https://neodb.social](https://neodb.social) |
| **GitHub** | [https://github.com/neodb-social/neodb](https://github.com/neodb-social/neodb) |
| **License** | AGPL-3.0 |
| **Langage principal** | Python (Django) |
| **Étoiles GitHub** | 62 ⭐ |
| **Dernière MAJ** | 2026-05 |
| **Catégorie** | [[cat-activitypub-fediverse]] |
## Description
NeoDB (prononcer « Neo-D-B », pour « Network of DataBase ») est un **catalogue social multi-médias** qui centralise livres, films, séries, musique, podcasts et jeux vidéo sur une seule instance. Inspiré de **Douban** (le Goodreads chinois), le projet vise à offrir une expérience « Letterboxd + Goodreads + Last.fm » unifiée, tout en parlant ActivityPub.
Chaque utilisateur peut **marquer** un média (lu, vu, écouté, joué, envie), lui attribuer une **note** (1 à 5) et publier une **critique** ou un **commentaire court**. Le tout est **fédéré** : un compte NeoDB (`@pseudo@neodb.social`) peut être suivi depuis Mastodon, et la critique d'un livre sera diffusée dans la timeline de vos followers mastodontes.
NeoDB se distingue par son **modèle de données unifié** : un même type de schéma (title, cover, date, genres, …) est utilisé pour tous les types de médias, ce qui permet des **listes thématiques** transversales (« mes œuvres féministes de 2024 » mélangeant livres et films). Le projet intègre aussi un **scraper de métadonnées** qui récupère les informations depuis Goodreads, Google Books, TMDB, Spotify, IGDB, etc.
**Points forts** : couvre tous les types de médias, fediverse depuis le début, multilingue, API ouverte, scraping multi-sources.
**Points faibles** : projet jeune, encore en stabilisation, documentation en chinois/anglais parfois lacunaire, le scraping de Goodreads (utilisé par défaut) peut casser à tout moment, communauté plus restreinte que BookWyrm.
## Installation
### Via Docker (recommandé)
L'image officielle est disponible sur GitHub Container Registry : `ghcr.io/neodb-social/neodb:latest`.
```yaml
# docker-compose.yml
services:
app:
image: ghcr.io/neodb-social/neodb:latest
container_name: neodb
restart: unless-stopped
ports:
- "8000:8000"
environment:
DJANGO_SECRET_KEY: "change-me-random-50-chars"
DJANGO_SITE_URL: "https://neodb.example.com"
DJANGO_ALLOWED_HOSTS: "neodb.example.com"
DB_HOST: db
DB_NAME: neodb
DB_USER: neodb
DB_PASSWORD: change-me
depends_on:
- db
db:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_USER: neodb
POSTGRES_PASSWORD: change-me
POSTGRES_DB: neodb
volumes:
- db_data:/var/lib/postgresql/data
redis:
image: redis:7-alpine
restart: unless-stopped
volumes:
db_data:
```
### Installation manuelle
1. Installer Python 3.11+ et PostgreSQL 14+
2. Cloner le dépôt : `git clone https://github.com/neodb-social/neodb.git`
3. Créer un venv et installer les dépendances : `pip install -e .`
4. Configurer `neodb/settings.py` ou variables d'environnement
5. `python manage.py migrate` puis `python manage.py createsuperuser`
6. Servir derrière Gunicorn + Nginx
## Configuration
1. Accéder à l'installateur et créer le super-utilisateur
2. Configurer le **scraper de métadonnées** dans l'admin (priorité des sources : Google Books, TMDB, Spotify, IGDB)
3. Activer la **fédération ActivityPub** : par défaut sur
4. Créer des **listes** partagées (ex. « Mes lectures 2026 », « Films vus en 2026 »)
5. Brancher des **comptes relais** Mastodon si vous voulez que vos followers voient vos marques
## Alternatives
### Open source
- [[app-bookwyrm]] — spécialisé livres (pas films/musique/jeux)
- [[app-funkwhale]] — musique avec API Subsonic, pas de critiques
- **Letterboxd** — films uniquement, pas fediverse, mais réseau social énorme
- **Openreads** — livres uniquement, pas fediverse
- **Mal** — anime/manga, pas fediverse
### Propriétaires
- Goodreads (Amazon) — livres
- Letterboxd (propriétaire) — films
- Last.fm — musique
- Backloggd — jeux vidéo
## Sécurité
- **HTTPS obligatoire** (Fédération)
- **Scrapping** : la couche de récupération des métadonnées externes peut envoyer des requêtes à des services tiers, vérifier la configuration
- **Limiter les requêtes de scraping** via les rate-limits de l'admin
- **Quotas par utilisateur** : NeoDB permet de plafonner le nombre de marks/jour
- **Sauvegardes** : la base PostgreSQL (favoris, marques, critiques) suffit ; pas de gros fichiers binaires stockés
## Ressources
- Site officiel : [neodb.social](https://neodb.social)
- Documentation : [github.com/neodb-social/neodb#readme](https://github.com/neodb-social/neodb#readme)
- Instance publique : [neodb.social](https://neodb.social) pour tester avant d'héberger
- Communauté : Matrix `#neodb:matrix.org`
## Pages Liées
- [[cat-activitypub-fediverse]]
- [[recettes-docker-compose]]
- [[app-bookwyrm]]