What is PeerTube built with?
PeerTube is a TypeScript repo built with Angular and Express. It stores its data in bullmq, lru-cache, aws-sdk, and sequelize-pool, reaches it with Sequelize and sequelize-typescript, signs people in with otpauth, @node-oauth/oauth2-server, helmet, bcrypt, and jsonwebtoken, stores files in AWS S3, uses AI through jiwer, makes its content with angularx-qrcode, markdown-it-emoji, dompurify, markdown-it, node-html-parser, and 5 more, validates its data with validator and express-validator, is tested with Chai and supertest, deploys with winston, pino, pino-pretty, @angular/service-worker, opentelemetry, and 1 more, and uses Redis, @opentelemetry/instrumentation-ioredis, and Postgres. It has 370,776 written lines, with 450 test files.
Read on November 8, 2026, at commit 929ab32. Read it as markdown
Frontend
Interface 6
The base 1
- Angular475 files · in client/package.json
Backend
Sign-in 5
@node-oauth/oauth2-server3 files
helmet2 files
- otpauth2 files
- bcrypt1 file
- jsonwebtoken1 file
AI 1
- jiwer
The base 1
- Express243 files · in package.json
Data 7
bullmq37 files
- Redis4 files · server/core/initializers/config/config-loader.ts, line 215
aws-sdk3 files
@opentelemetry/instrumentation-ioredis1 file
- Postgres1 file · server/core/initializers/database.ts, line 39
- lru-cache11 files
- sequelize-pool2 files
Data access 2
- Sequelize284 files
- sequelize-typescript83 files
Services 1
Other repos with a similar stack
Ordered by how much of its stack they share with PeerTube, then by stars.
Frequently asked questions
What language is PeerTube written in?
What framework does PeerTube use?
What database does PeerTube use?
What does PeerTube sign people in with?
Does PeerTube use AI?
What services does PeerTube use?
The proof: server/core/initializers/checker-after-init.ts, line 102
Does PeerTube have tests?
Which repos have a stack like PeerTube's?
See inside your code, today.
Paste your repo and see it drawn, part by part: a medium one in under a minute.
Free, no account.
Is it your repo? Add its badge, keep it up to date or take it down →

