PeerTube 安装教程:如何搭建视频分享平台

文章首发于公号「阿拉平平」

最近在 GitHub 上看到了一个比较有意思的视频平台 PeerTube,与一般的视频平台不同,它的目标是打造一个去中心化的视频平台,即使某个节点出现问题,也不会影响观众观看视频。本文将介绍 PeerTube 的安装与使用方法。

项目介绍

PeerTube [1] 是一个开源、分布式、可互联的视频平台,通过点对点网络来减少单一服务器的负载。任何人都可以在服务器上搭建 PeerTube,共享上传的视频。

下载安装

目前 PeerTube 的最新版本为 v3.0.1,可以通过源码或者 docker 来安装。这里我准备采用容器的方式,将项目部署在一台 CentOS 7.8 的虚拟机上。

部署前需要安装 dockerdocker-compose。安装好后,创建并进入 PeerTube 的工作目录:

[root@localhost ~]# mkdir /opt/peertube/
[root@localhost ~]# cd /opt/peertube/

编排文件

下载最新的编排文件 docker-compose.yaml

[root@localhost peertube]# curl https://raw.githubusercontent.com/chocobozzz/PeerTube/develop/support/docker/production/docker-compose.yml > docker-compose.yml

这个文件将创建以下服务,可根据实际情况进行调整:

  • webserver:web 服务,供浏览器访问。
  • peertube:后端服务,提供核心内容。
  • redis:后端数据存储。
  • postgres:后端数据库。
  • postfix:提供邮件服务。
  • certbot:自动续期 Let’s Encrypt 证书。

.env

下载最新的 .env 文件:

[root@localhost peertube]# curl https://raw.githubusercontent.com/Chocobozzz/PeerTube/develop/support/docker/production/.env > .env

修改以下参数:

  • :数据库的用户名。
  • :数据库的密码。
  • :域名,不用加 https://
  • :邮箱地址。

webserver

webserver 本质是一个 nginx 服务,所以需要下载配置文件 peertube

[root@localhost peertube]# mkdir -p docker-volume/nginx
[root@localhost peertube]# curl https://raw.githubusercontent.com/Chocobozzz/PeerTube/develop/support/nginx/peertube > docker-volume/nginx/peertube

如果要使用本地的 nginx 服务,则需要修改配置文件的变量值,并注释掉编排文件中的 webserver。

域名

搭建 PeerTube 需要一个 HTTPS 域名,如果满足条件,可以注释掉编排文件中的 certbot。

如果有域名,但没有 HTTPS 证书,可以通过 certbot 生成免费的证书。

[root@localhost peertube]# mkdir -p docker-volume/certbot
[root@localhost peertube]# docker run -it --rm --name certbot -p 80:80 -v "$(pwd)/docker-volume/certbot/conf:/etc/letsencrypt" certbot/certbot certonly --standalone

由于手边没有域名,所以准备以 https:// 来访问,配置方法如下:

# 创建并进入目录,192.168.128.134 为虚拟机 IP
[root@localhost peertube]# mkdir -p docker-volume/certbot/conf/live/192.168.128.134
[root@localhost peertube]# cd docker-volume/certbot/conf/live/192.168.128.134
# 生成 HTTPS 证书
[root@localhost 192.168.128.134]# openssl genrsa -des3 -out privkey.pem 2048
[root@localhost 192.168.128.134]# openssl rsa -in privkey.pem -out privkey.pem
[root@localhost 192.168.128.134]# openssl req -new -key privkey.pem -out privkey.csr
[root@localhost 192.168.128.134]# openssl req -new -x509 -key privkey.pem -out ca.crt -days 3650
[root@localhost 192.168.128.134]# openssl x509 -req -days 3650 -in privkey.csr -CA ca.crt -CAkey privkey.pem -CAcreateserial -out fullchain.pem

启动

全部配置完成后,运行以下命令启动:

# 回到工作目录并启动
[root@localhost 192.168.128.134]# cd /opt/peertube/
[root@localhost peertube]# docker-compose up -d

服务启动后,就可以通过浏览器来访问,界面如下:

PeerTube 安装教程:如何搭建视频分享平台_第1张图片

使用说明

本章将简单演示下 PeerTube 的用法,包含:

  • 如何用 root 账号登录
  • 如何上传视频
  • 如何订阅视频

登录

PeerTube 内置了一个管理员账号,通过以下命令获取 root 的密码:

[root@master peertube]# docker-compose logs peertube | grep -A1 root
peertube_1   | [192.168.128.134:443] 2021-03-15 07:38:30.809 info: Username: root
peertube_1   | [192.168.128.134:443] 2021-03-15 07:38:30.809 info: User password: kegumejubikozido

登录后的界面如下:

PeerTube 安装教程:如何搭建视频分享平台_第2张图片

上传视频

点击右上角的「上传」,选择要上传的视频。

PeerTube 安装教程:如何搭建视频分享平台_第3张图片

上传的视频可以在线播放,支持下载、分享以及评论:

订阅视频

如果需要订阅他人的视频,只需在管理页面选择 「Instances you follow 」,点击「Follow domain」,加入域名即可。


PeerTube 安装教程:如何搭建视频分享平台_第4张图片

提交的请求需要对方允许,否则会一直处于等待中:

PeerTube 安装教程:如何搭建视频分享平台_第5张图片

写在最后

PeerTube 的机制与 BT 下载类似,多个用户在观看同一部视频时,可相互连接、传输数据给对方,达到播放视频加速的效果。如果大家对这个项目有兴趣的话,可以查阅官方文档 [2] 获得更多帮助。

References

[1] PeerTube: https://github.com/Chocobozzz/PeerTube
[2] 官方文档: https://docs.joinpeertube.org

你可能感兴趣的:(PeerTube 安装教程:如何搭建视频分享平台)