一个懒散的博客

一个去中心化的视频分享服务平台:PeerTube安装教程

简介

PeerTube是一个视频上传、分享服务平台,这个项目是建立在webtorrent这个项目和ActivityPub协议;架构很灵活,可以支持自建服务器,web版本的bittorrent分发视频,简而言之,就是建立了一个去中心化的,在线版的快播。

  • 每个peertube节点称之为一个Instance
  • 一个Instance可以提供类似youtube的服务,可以开放用户注册,上传视频。
  • 多个Instance之间通过bittorent共享服务。
  • 用户访问Instance时,多个用户通过webtorrent来交换数据,变身seeds,从而减轻服务器压力,提高车速。
  • 如果只有一个用户观看,Instance自动变成seeds
  • 支持ActivityPub协议,后续可以搭建去中心化的评论平台之类的。
  • Github项目地址:https://github.com/Chocobozzz/PeerTube

截图

请输入图片描述
请输入图片描述
请输入图片描述

安装

本教程适用于CentOSDebianUbuntu系统,内存至少为1G,并在Debian 8 X64下完美通过。

1、安装Docker和Docker Compose

#安装Docker
curl -sSL https://get.docker.com/ | sh
service docker start
#安装Docker Compose
curl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

2、添加虚拟内存
如果你的内存足够的大,这步可以跳过。

cd /var/
#获取文件块,count后面参数建议为内存的2倍
dd if=/dev/zero of=swapfile bs=1M count=2048
#创建swap文件
/sbin/mkswap swapfile
#激活swap文件
/sbin/swapon swapfile
#修改权限
chmod 0644 /var/swapfile
#开机自启
echo "/var/swapfile swap swap defaults 0 0" >>/etc/fstab

3、下载PeerTube并配置

git clone https://github.com/Chocobozzz/PeerTube.git

如果提示git不存在的,运行:

#Debian/Ubuntu系统
apt-get -y install git

#CentOS/RHEL系统
yum -y install git

修改docker-compose.yml文件,并将内部端口9000暴露出来,使其映射到其它外部端口。

cd /root/PeerTube/support/docker/production/
nano docker-compose.yml

编辑文件,将PEERTUBE_HOSTNAME参数后面写成你的域名,并在文件里添加ports代码:

#前面的端口随便填
ports:
  - "8000:9000"

#示例
version: "3.3"
services:
  peertube:
    ports:
      - "8000:9000"
    build:

4、运行容器

docker-compose up

如果遇到错误Error: EACCES: permission denied, mkdir '/data/logs',使用Ctrl+c关闭,并运行:

chown -R 991:991 data/

然后后台启动

docker-compose up -d

然后可以进入http://IP:8000查看界面了。

5、配置https访问
为了方便,这里使用Caddy反代,并自动添加ssl证书。

安装Caddy

wget -N --no-check-certificate https://raw.githubusercontent.com/iiiiiii1/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
#备用地址
wget -N --no-check-certificate https://toot.su/usr/shell/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh

编辑配置文件

#以下全部内容是一个整体,修改域名、IP、邮箱后一起复制到SSH运行!
echo "https://xx.com {
 tls admin@moerats.com
 proxy / 127.0.0.1:8000 {
    header_upstream Connection {>Connection}
    header_upstream Upgrade {>Upgrade}
    header_upstream Host {host}
    header_upstream X-Real-IP {remote}
    header_upstream X-Forwarded-For {remote}
    header_upstream X-Forwarded-Port {server_port}
    header_upstream X-Forwarded-Proto {scheme}
  }
 log /var/log/caddy.log
 gzip
}" > /usr/local/caddy/Caddyfile

启动Caddy

/etc/init.d/caddy restart

最后就可以通过域名https访问了。

6、查找管理员账号
管理员默认账号为root,密码需要查看日志。

#查看日志
cat /root/PeerTube/support/docker/production/docker-volume/data/logs/peertube.log
#会输出一些信息,找到如下信息,密码就是xxxxxx
{"message":"Username: root","level":"info","timestamp":"}
{"message":"User password: xxxxxxxxxx","level":"info","timestamp":"}
赞(0)