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