Initial vault setup

This commit is contained in:
2026-06-09 18:40:21 +02:00
commit bda02d587f
3692 changed files with 402457 additions and 0 deletions
+123
View File
@@ -0,0 +1,123 @@
---
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]]