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