explaingit

chocobozzz/peertube

Analysis updated 2026-06-24 · repo last pushed 2026-05-20

14,683TypeScriptAudience · ops devopsComplexity · 4/5MaintainedLicenseSetup · hard

TLDR

Self-hosted, federated video platform that uses ActivityPub and WebRTC peer-to-peer streaming so independent instances can share videos and bandwidth without a central company.

Mindmap

mindmap
  root((PeerTube))
    Inputs
      Uploaded videos
      Live streams
      Federated follows
    Outputs
      Video pages
      Embeddable player
      RSS feeds
    Use Cases
      Self-host a video site
      Live stream events
      Federate with Mastodon
      Embed videos on a blog
    Tech Stack
      TypeScript
      Node.js
      ActivityPub
      WebRTC
      Docker
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Run a community video site federated with other PeerTube and Mastodon instances

USE CASE 2

Host live streams that viewers help redistribute via WebRTC

USE CASE 3

Embed self-hosted videos on a personal blog or organization website

USE CASE 4

Mirror or cache videos from peer instances to reduce bandwidth load

What is it built with?

TypeScriptNode.jsActivityPubWebRTCDocker

How does it compare?

chocobozzz/peertubebotpress/botpressgoogle/a2ui
Stars14,68314,68514,670
LanguageTypeScriptTypeScriptTypeScript
Last pushed2026-05-202026-05-22
MaintenanceMaintainedMaintained
Setup difficultyhardmoderatemoderate
Complexity4/53/54/5
Audienceops devopsdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

A production instance needs PostgreSQL, Redis, NGINX, FFmpeg, and an object store plus correct TLS and federation settings, which takes hours even with the Docker images.

Released under the GNU AGPLv3, so you can run and modify it freely but any modified version you offer over a network must also be open-sourced under AGPL.

In plain English

PeerTube is a free, decentralized video platform built as an alternative to centralized sites like YouTube, Dailymotion, or Vimeo. Instead of running on one company's servers, it is made up of many small independent instances run by different people and organizations. These instances can talk to each other through a shared protocol called ActivityPub, the same one used by Mastodon. From the viewer's side it works like a regular video site, but no single company controls all the content, the data, or the recommendations. The project is developed by Framasoft, a French nonprofit, and the README describes it as community-owned and ad-free. Viewers can upload videos, add a description and tags, and have them discovered across the wider network of PeerTube instances rather than only on the one they signed up for. The player can be embedded on other websites, and live streaming is supported, including permanent streams. Viewers can follow channels from any Fediverse account or through RSS, without needing an account on the instance the video was posted to. The interface is described as customizable for both users and instance administrators, with no dark patterns, data mining, or algorithmic video recommendations. Instances can help each other by caching one another's videos, so that smaller servers can still reach larger audiences. Viewers themselves help share the bandwidth, because PeerTube uses peer-to-peer WebRTC connections in the browser so that people watching the same video also pass parts of it to each other. Creators can receive support from viewers through a support button that links to a donation page or any message of their choice, rather than ads or pay-per-view. There are several demonstration instances listed at peertube.cpy.re, and a two-minute introductory video hosted on PeerTube itself. The README invites non-programmers to contribute through feedback, bug reports, translation, and documentation, and lists chat rooms on Matrix and IRC plus a forum on Framacolibri. To run an instance, the project points to a production install guide for various operating systems and community packages including YunoHost and Docker. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
Give me a step-by-step guide to install PeerTube on Ubuntu with Docker Compose
Prompt 2
Show me how to configure my PeerTube instance to follow another instance and cache its videos
Prompt 3
Explain how PeerTube uses ActivityPub so my videos appear in Mastodon feeds
Prompt 4
How do I enable live streaming and set retention rules on a PeerTube instance
Prompt 5
Walk me through embedding the PeerTube player on a Hugo static site

Frequently asked questions

What is peertube?

Self-hosted, federated video platform that uses ActivityPub and WebRTC peer-to-peer streaming so independent instances can share videos and bandwidth without a central company.

What language is peertube written in?

Mainly TypeScript. The stack also includes TypeScript, Node.js, ActivityPub.

Is peertube actively maintained?

Maintained — commit in last 6 months (last push 2026-05-20).

What license does peertube use?

Released under the GNU AGPLv3, so you can run and modify it freely but any modified version you offer over a network must also be open-sourced under AGPL.

How hard is peertube to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is peertube for?

Mainly ops devops.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.