You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2.6 KiB

chocobozz - peertube

This is a docker container for a PeerTube server. The official container and documentation was made by chocobozz. This docker-rebuild is made up by a docker-compose.yml file. In addition to the main container you need to connect a redis container to it.

Set-up

Create the files rebuild.sh, .env and docker-compose.yml at the same place. Change the settings according to your needs and run ./rebuild.sh afterwards.

Ports

Set the following ports in the ports: section.

Container Port Recommended outside port Protocol Description
9000 9000 TCP WebUI

Volumes

Set the following volumes with the -v tag.

Outside mount/volume name Container mount Description
assets /app/client/dist storage for icons, etc
config /config configuration data
data /data further data storage

rebuild.sh

#!/bin/sh
docker-compose down
docker-compose up -d

.env

TZ="Europe/Berlin"

PT_INITIAL_ROOT_PASSWORD=<root password>
PEERTUBE_ADMIN_EMAIL=<admin email>
PEERTUBE_WEBSERVER_HOSTNAME=<domain>
PEERTUBE_WEBSERVER_PORT=<port>



POSTGRES_USER=peertube
POSTGRES_PASSWORD=<postgres password>
POSTGRES_DB=peertube



PEERTUBE_DB_USERNAME=peertube
PEERTUBE_DB_PASSWORD=<db password>
PEERTUBE_DB_SSL=false
PEERTUBE_DB_HOSTNAME=postgres

PEERTUBE_TRUST_PROXY=["127.0.0.1", "loopback", "172.18.0.0/16"]

#  E-mail configuration
PEERTUBE_SMTP_USERNAME=<smtp email>
PEERTUBE_SMTP_PASSWORD=<smtp password>
PEERTUBE_SMTP_HOSTNAME=mail.<domain>
PEERTUBE_SMTP_PORT=587
PEERTUBE_SMTP_FROM=<smtp email>
PEERTUBE_SMTP_TLS=false
PEERTUBE_SMTP_DISABLE_STARTTLS=false

docker-compose.yml

version: "3.3"

services:

  peertube:
    image: chocobozzz/peertube:production-bullseye
    ports:
        - "9000:9000"
    env_file:
      - .env
    volumes:
      - assets:/app/client/dist
      - data:/data
      - config:/config
    depends_on:
      - postgres
      - redis
    restart: unless-stopped

  postgres:
    image: postgres:13-alpine
    env_file:
      - .env
    volumes:
      - db:/var/lib/postgresql/data
    restart: unless-stopped

  redis:
    image: redis:6-alpine
    volumes:
      - redis:/data
    restart: unless-stopped

volumes:
  assets:
  data:
  config:
  db:
  redis: