124 lines
5.1 KiB
Markdown
124 lines
5.1 KiB
Markdown
---
|
|
title: Yamtrack
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, tracking, media-tracker, python, django]
|
|
confidence: medium
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=Media+Tracker, https://github.com/FuzzyGrim/Yamtrack]
|
|
---
|
|
|
|
# 🎬 Yamtrack
|
|
|
|
> Suivi multi-média unifié (films, séries, animés, mangas, jeux vidéo) inspiré de Trakt, mais auto-hébergé et simple à déployer.
|
|
|
|
| Métadonnée | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | [yamtrack.app](https://github.com/FuzzyGrim/Yamtrack) |
|
|
| **GitHub** | [FuzzyGrim/Yamtrack](https://github.com/FuzzyGrim/Yamtrack) |
|
|
| **License** | AGPL-3.0 |
|
|
| **Langage principal** | Python (Django) |
|
|
| **Étoiles GitHub** | 194 ⭐ |
|
|
| **Dernière MAJ** | 2026-04-18 |
|
|
| **Catégorie** | [[cat-tracking]] |
|
|
|
|
## Description
|
|
**Yamtrack** est un **tracker média auto-hébergé** construit en **Django** qui permet de centraliser sa consommation culturelle : films, séries TV, animés, mangas et jeux vidéo. Il s'inspire directement de Trakt.tv (et se présente comme un concurrent self-hosted), mais avec une approche plus minimaliste et une API simple, pour qui veut garder le contrôle de ses données.
|
|
|
|
L'application s'appuie sur les **métadonnées de TMDb, MAL, IGDB et OpenLibrary** pour enrichir les entrées, gère la **synchronisation multi-appareils** (web, mobile via PWA), l'**historique de visionnage**, les **listes personnalisées**, et propose des **statistiques** de consommation. C'est un excellent compromis entre la simplicité de [[app-ryot]] et la complétude de Trakt.
|
|
|
|
L'interface est disponible en anglais (pas encore de traduction française complète), mais reste claire et rapide. Le projet est jeune mais actif, et constitue une **excellente porte d'entrée** pour qui veut quitter les services cloud tout en gardant un suivi fin de ses marathons séries.
|
|
|
|
## Installation
|
|
### Via Docker (recommandé)
|
|
```yaml
|
|
version: "3.8"
|
|
services:
|
|
yamtrack:
|
|
image: fuzzygrim/yamtrack:latest
|
|
container_name: yamtrack
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8080:8000"
|
|
environment:
|
|
- SECRET_KEY=changez_moi_avec_une_chaine_aleatoire_de_50_chars
|
|
- DB_TYPE=postgres
|
|
- DB_NAME=yamtrack
|
|
- DB_USER=yamtrack
|
|
- DB_PASSWORD=changez_moi
|
|
- DB_HOST=db
|
|
- TMDB_API=***
|
|
depends_on:
|
|
- db
|
|
volumes:
|
|
- ./data:/app/data
|
|
|
|
db:
|
|
image: postgres:16-alpine
|
|
container_name: yamtrack-db
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_DB: yamtrack
|
|
POSTGRES_USER: yamtrack
|
|
POSTGRES_PASSWORD: changez_moi
|
|
volumes:
|
|
- pgdata:/var/lib/postgresql/data
|
|
|
|
volumes:
|
|
pgdata:
|
|
```
|
|
|
|
### Installation manuelle
|
|
1. Cloner le dépôt : `git clone https://github.com/FuzzyGrim/Yamtrack.git`
|
|
2. Créer un environnement virtuel : `python -m venv venv && source venv/bin/activate`
|
|
3. Installer : `pip install -r requirements.txt`
|
|
4. Copier `.env.example` en `.env` et remplir les clés
|
|
5. Migrer : `python manage.py migrate`
|
|
6. Lancer : `python manage.py runserver 0.0.0.0:8000`
|
|
7. Créer un super-utilisateur : `python manage.py createsuperuser`
|
|
|
|
## Configuration
|
|
- Obtenir une clé **TMDb API** (gratuite) sur [themoviedb.org/settings/api](https://www.themoviedb.org/settings/api)
|
|
- Configurer les **providers externes** dans l'admin (MAL pour mangas/animes, IGDB pour les jeux)
|
|
- Créer les **premiers utilisateurs** et définir les permissions
|
|
- Activer la **PWA** pour utiliser Yamtrack sur mobile
|
|
- Configurer les **listes publiques** et leur mise en cache
|
|
- Brancher un **reverse proxy HTTPS** (Traefik, Caddy) pour la production
|
|
- Activer le **import CSV** depuis Trakt, MyAnimeList ou Letterboxd
|
|
|
|
## Alternatives
|
|
### Open source
|
|
- [[app-ryot]] — tracker média complet, plus de catégories
|
|
- [[app-kavita]] — lecteur + tracker manga/comics
|
|
- **Plex** / **Jellyfin** — serveurs média avec suivi de progression
|
|
- **MediaTracker** — alternative plus ancienne (Python)
|
|
- **Syft** — fork de Yamtrack
|
|
|
|
### Propriétaires
|
|
- **Trakt.tv** — référence cloud du genre, apps multi-plateformes
|
|
- **MyAnimeList** — site communautaire pour mangas/animes
|
|
- **Letterboxd** — spécifique films, social
|
|
- **Backloggd** — jeux vidéo + films
|
|
|
|
## Sécurité
|
|
- Changer la **SECRET_KEY** Django et la garder en variable d'environnement
|
|
- Activer **HTTPS obligatoire** derrière Traefik/Caddy
|
|
- Limiter l'**API** via Django REST Framework throttling
|
|
- Mettre en place un **reverse proxy** avec auth OIDC si multi-utilisateurs
|
|
- Sauvegarder la base PostgreSQL et le volume `./data` quotidiennement
|
|
- Mettre à jour l'image Docker régulièrement (alertes Renovate/Dependabot)
|
|
- Restreindre l'accès admin à un compte dédié avec 2FA
|
|
|
|
## Ressources
|
|
- [GitHub du projet](https://github.com/FuzzyGrim/Yamtrack)
|
|
- [Wiki et guide](https://github.com/FuzzyGrim/Yamtrack/wiki)
|
|
- [Issue tracker](https://github.com/FuzzyGrim/Yamtrack/issues)
|
|
- [Démo en ligne](https://github.com/FuzzyGrim/Yamtrack#demo) (quand disponible)
|
|
- [Template docker-compose](https://github.com/FuzzyGrim/Yamtrack/blob/main/docker-compose.yml)
|
|
|
|
## Pages Liées
|
|
- [[cat-tracking]]
|
|
- [[recettes-docker-compose]]
|
|
- [[cat-media-tracking]]
|