Favicon of PeerTube

PeerTube

Launch an independent video platform free from ads and tracking. Federate with other hosts to build a larger network and manage your community with open-source tools.

Create your own video platform, completely independent from big tech. This open-source software allows you to host and share videos on your own terms, free from opaque algorithms, obscure moderation, advertising, and user tracking. Instead of a single massive platform, it enables a network of smaller, interconnected video hosts that form a "fediverse." This decentralized approach gives you full control over your content and community.

Whether you're a viewer, creator, or administrator, the platform offers a rich set of features:

  • For Viewers: Enjoy an ad-free experience, download videos for offline viewing, and follow channels across the entire federated network from a single mobile app.
  • For Creators: Publish directly from your phone, synchronize channels from other platforms, access detailed analytics, and live stream to your audience.
  • For Administrators: Get full control with extensive customization options, manage users and moderation, and set your own rules for your community.

Directory Structure

peertube
peertube-config
peertube-data
postfix-keys
postgres-data
redis-data
.env
docker-compose.yml

docker-compose.yml

services:
  peertube:
    image: chocobozzz/peertube:production-bookworm
    environment:
      - PEERTUBE_WEBSERVER_HOSTNAME=localhost
      - PEERTUBE_WEBSERVER_PORT=9000
      - PEERTUBE_WEBSERVER_HTTPS=false
      - PEERTUBE_TRUST_MAC_IP=false
      - PEERTUBE_DB_HOSTNAME=postgres
      - PEERTUBE_DB_USERNAME=${PEERTUBE_DB_USERNAME}
      - PEERTUBE_DB_PASSWORD=${PEERTUBE_DB_PASSWORD}
      - PEERTUBE_DB_SSL=false
      - PEERTUBE_SECRET=${PEERTUBE_SECRET}
      - PEERTUBE_ADMIN_EMAIL=${PEERTUBE_ADMIN_EMAIL}
      - PEERTUBE_REDIS_HOSTNAME=redis
      - PEERTUBE_SMTP_HOSTNAME=postfix
      - PEERTUBE_SMTP_PORT=25
      - PEERTUBE_SMTP_FROM=noreply@localhost
      - PEERTUBE_SMTP_TLS=false
      - PEERTUBE_SMTP_DISABLE_STARTTLS=false
    ports:
      - "9000:9000"
    volumes:
      - ./peertube-config:/config
      - ./peertube-data:/data
    depends_on:
      - postgres
      - redis
      - postfix
    restart: always

  postgres:
    image: postgres:13-alpine
    environment:
      - POSTGRES_USER=${POSTGRES_USER}
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
      - POSTGRES_DB=peertube
    volumes:
      - ./postgres-data:/var/lib/postgresql/data
    restart: always

  redis:
    image: redis:6-alpine
    volumes:
      - ./redis-data:/data
    restart: always

  postfix:
    image: mwader/postfix-relay
    environment:
      - POSTFIX_myhostname=localhost
    volumes:
      - ./postfix-keys:/etc/opendkim/keys
    restart: always

.env

PEERTUBE_DB_USERNAME=peertube
PEERTUBE_DB_PASSWORD=super_secret_db_password
PEERTUBE_SECRET=super_secret_peertube_secret_key
PEERTUBE_ADMIN_EMAIL=admin@example.com
POSTGRES_USER=peertube
POSTGRES_PASSWORD=super_secret_db_password
Categories:

Share:

Ad
Favicon

 

  
 

Similar to PeerTube

Favicon

 

  
  
Favicon

 

  
  
Favicon