美文网首页运营相关
PeerTube 安装教程:如何搭建视频分享平台

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

作者: Xpitz | 来源:发表于2021-03-17 10:55 被阅读0次

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

    最近在 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
    

    修改以下参数:

    • <MY POSTGRES USERNAME>:数据库的用户名。
    • <MY POSTGRES PASSWORD>:数据库的密码。
    • <MY DOMAIN>:域名,不用加 https://
    • <MY EMAIL ADDRESS>:邮箱地址。

    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://<ip> 来访问,配置方法如下:

    # 创建并进入目录,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 的用法,包含:

    • 如何用 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
    

    登录后的界面如下:

    上传视频

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

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

    订阅视频

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


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

    写在最后

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

    References

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

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/nvpnqltx.html