Initial vault setup
This commit is contained in:
@@ -0,0 +1,131 @@
|
||||
---
|
||||
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]]
|
||||
Reference in New Issue
Block a user