Back to Apps
PeerTube

Deploy PeerTube on Your Own Server

PeerTube is a decentralized video hosting network, based on free/libre software.

🛠️ Developer Tools

Want to deploy PeerTube on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.

Get Started

What is PeerTube?

ActivityPub-federated video streaming platform using P2P directly in your web browser. (Github : https://github.com/Chocobozzz/PeerTube/)

Self-Host PeerTube

Follow these steps to deploy on your own server.

1

Install Docker

Skip this step if Docker is already installed on your server.

curl -fsSL https://get.docker.com | sh
2

Configure

Customize the settings below. Defaults work for most cases.

General
3

Deploy

Copy the configuration and run it on your server.

services:
  peertube:
    image: chocobozzz/peertube:v5.1.0-bullseye
    environment:
      PEERTUBE_ADMIN_EMAIL: ""
      PEERTUBE_DB_HOSTNAME: peertube-db
      PEERTUBE_DB_PASSWORD: a6a61d81cf0dfbab1f2d7ae3ef40f747
      PEERTUBE_DB_USERNAME: peertubeuser
      PEERTUBE_REDIS_HOSTNAME: peertube-redis
      PEERTUBE_SECRET: bf69dddd57160acc0a9bcf778c448416
      PEERTUBE_SMTP_DISABLE_STARTTLS: "false"
      PEERTUBE_SMTP_FROM: ""
      PEERTUBE_SMTP_HOSTNAME: ""
      PEERTUBE_SMTP_PASSWORD: ""
      PEERTUBE_SMTP_PORT: ""
      PEERTUBE_SMTP_TLS: "false"
      PEERTUBE_SMTP_USERNAME: ""
      PEERTUBE_TRUST_PROXY: '["127.0.0.1", "loopback", "10.0.0.0/16"]'
      PEERTUBE_WEBSERVER_HOSTNAME: peertube.your-domain.com
      PEERTUBE_WEBSERVER_HTTPS: "true"
      PEERTUBE_WEBSERVER_PORT: "443"
      PT_INITIAL_ROOT_PASSWORD: c93d7d87eb
    volumes:
      - peertube-peertube-data:/data
      - peertube-peertube-config:/config
    depends_on:
      - peertube-db
      - peertube-redis
  peertube-db:
    image: postgres:13.10-alpine
    environment:
      POSTGRES_DB: peertube
      POSTGRES_PASSWORD: a6a61d81cf0dfbab1f2d7ae3ef40f747
      POSTGRES_USER: peertubeuser
    volumes:
      - peertube-db-data:/var/lib/postgresql/data
  peertube-redis:
    image: redis:6.2.11-alpine
    volumes:
      - peertube-redis-data:/data
volumes:
  peertube-peertube-data: {}
  peertube-peertube-config: {}
  peertube-db-data: {}
  peertube-redis-data: {}

Then run:

docker compose up -d
4

Access

Once started, access your app at http://localhost:9000

Why Self-Host PeerTube?

Full Data Ownership

Your data stays on your servers. No third-party access.

No Monthly Fees

Pay only for your server. No per-seat or usage charges.

Complete Control

Customize, backup, and scale on your own terms.

Privacy & Compliance

Meet GDPR, HIPAA, or internal security requirements.

Technical Details

Docker Image

chocobozzz/peertube:${peertube_version}

Want to go faster?

Try Senate! Senate handles Docker, HTTPS, updates, and monitoring for you. Deploy any of our 300+ apps with a single command.

Install on any Linux server:

sh -c "$(curl -sSL https://get.senate.sh)"