---
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]]
