Files
wiki/Catalogue-Self-Hosted/apps/app-peertube.md
T
2026-06-09 18:40:21 +02:00

135 lines
5.7 KiB
Markdown

---
title: PeerTube
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, activitypub-fediverse, video, youtube, typescript, fediverse]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=activitypub-fediverse, https://github.com/Chocobozzz/PeerTube, https://joinpeertube.org/]
---
# 🎬 PeerTube
> **La plateforme vidéo décentralisée et fédérée** : l'alternative à YouTube soutenue par la Framasoft, basée sur ActivityPub, BitTorrent et un réseau P2P pour alléger la bande passante.
| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | [https://joinpeertube.org](https://joinpeertube.org) |
| **GitHub** | [https://github.com/Chocobozzz/PeerTube](https://github.com/Chocobozzz/PeerTube) |
| **License** | AGPL-3.0 |
| **Langage principal** | TypeScript, PostgreSQL |
| **Étoiles GitHub** | 13 800 ⭐ |
| **Dernière MAJ** | 2026-05 |
| **Catégorie** | [[cat-activitypub-fediverse]] |
## Description
PeerTube est l'une des pièces maîtresses du Fediverse. C'est une **plateforme de publication vidéo** comparable à YouTube (chaîne, abonnements, likes, commentaires, monétisation, lives) mais **décentralisée** et **fédérée** : chaque instance héberge ses propres créateurs, et un compte Mastodon peut suivre une chaîne PeerTube, voir les vidéos dans son fil, et commenter.
L'innovation technique majeure est l'**architecture P2P** : quand une vidéo devient populaire, elle est servie par les autres pairs qui l'ont déjà regardée (intégration WebTorrent). Cela permet à de petites instances d'héberger des vidéos massives sans exploser la bande passante. L'instance reçoit les fragments manquants depuis les autres nœuds.
Fonctionnalités principales : **chaîne** avec miniatures et playlists, **sous-titres** WebVTT, **import/export de vidéos** (.mp4, .webm), **transcodage** H.264/H.265 configurable, **lives RTMP/HLS**, **commentaires fedérés**, **historique de visionnage**, **filtres**, **thèmes**, **OAuth2 pour clients tiers** (clients Android comme **Tubular**, **PeerTube for Android**).
**Points forts** : mature (depuis 2018), plus de 1 800 instances publiques, Framasoft derrière le développement, pas d'algorithme de classement, pas de publicité, support natif de l'import.
**Points faibles** : **RAM et stockage** importants (transcodage = 2-4 Go RAM, 100-500 Go de stockage selon usage), pas d'application iOS officielle, transcodage long pour les vidéos > 1 h, et la monétisation reste embryonnaire (plugin Tipeee / OpenCollective).
## Installation
### Via Docker (recommandé)
L'image officielle est `chocobozzz/peertube` sur Docker Hub. La stack typique inclut PostgreSQL, Redis et un serveur de fichiers.
```yaml
# docker-compose.yml
services:
peertube:
image: chocobozzz/peertube:v7
restart: unless-stopped
env_file: .env
volumes:
- peertube_data:/data
- peertube_config:/config
- ./docker/nginx:/etc/nginx/conf.d
ports:
- "9000:9000"
depends_on:
- postgres
- redis
postgres:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_USER: peertube
POSTGRES_PASSWORD: change-me
POSTGRES_DB: peertube
volumes:
- peertube_db:/var/lib/postgresql/data
redis:
image: redis:7-alpine
restart: unless-stopped
volumes:
- peertube_redis:/data
volumes:
peertube_data:
peertube_config:
peertube_db:
peertube_redis:
```
### Installation manuelle
Voir la doc officielle : `https://docs.joinpeertube.org/install-anywhere`. Prévoir Node.js 20+, PostgreSQL 14+, Redis 7+, FFMPEG avec codecs H.264/H.265, Yarn, et un reverse-proxy HTTPS (Caddy ou Nginx).
## Configuration
1. Copier `docker-compose.yaml` officiel et `.env` depuis le dépôt.
2. Régénérer les secrets (`peertube --help` pour `secret`).
3. Compléter `PEERTUBE_HOSTNAME`, `PEERTUBE_WEBSERVER.*`, SMTP.
4. Démarrer la stack, créer le compte admin via l'interface web.
5. **Configurer le reverse-proxy HTTPS** (Caddy est le plus simple) en important le template officiel.
6. Activer la federation : par défaut activée, vérifier `federation.enabled` et les ports 443 ouverts.
## Alternatives
### Open source
- **Odysee / LBRY** — Vidéo sur blockchain (OP_RETURN), pas ActivityPub
- [[app-jellyfin]] — Streaming média, pas de partage social
- **Owncast** — Live vidéo self-hosted, pas de VOD fedérée
- **TILVids** — Plateforme d'instances PeerTube hébergées
- [[app-mastodon]] — Pour la promotion croisée des vidéos
### Propriétaires
- **YouTube** — L'original, adossé à Google
- **Twitch** — Live principal, non self-hostable
- **Vimeo** — Freemium orienté pro
## Sécurité
-**Authentification** : email + mot de passe, 2FA TOTP, OAuth2 (applications)
-**HTTPS** obligatoire (HSTS)
-**Modération** : signalements, blocage de comptes et d'instances, anti-spam
-**Pluggable** : les plugins peuvent ajouter anti-flood, captcha, etc.
- ⚠️ **Stockage** : taille max par vidéo paramétrable, attention au quota disque
- ⚠️ **Transcodage** : processus lourd, isoler en worker dédié pour les grosses instances
- ⚠️ **P2P** : WebRTC expose l'IP de l'instance, bien configurer `trust_proxy`
## Ressources
- [Site officiel](https://joinpeertube.org)
- [Documentation](https://docs.joinpeertube.org)
- [GitHub Chocobozzz/PeerTube](https://github.com/Chocobozzz/PeerTube)
- [Framasoft — hébergement d'instances](https://framasoft.org)
## Pages Liées
- [[cat-activitypub-fediverse]] — Catégorie parente
- [[app-mastodon]] — Federation entre vidéo et microblogage
- [[app-jellyfin]] — Pour une médiathèque locale complémentaire
- [[app-caddy]] — Reverse-proxy HTTPS recommandé
- [[recettes-docker-compose]] — Templates Docker