安装
安装宝塔,不用装环境。因为宝塔图形化管理比较方便。国外服务器就用aapanel就行了。
本教程适用于CentOS
、Debian
、Ubuntu
系统,内存至少为2G
,并在Centos7.9 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.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
假设我的域名是peertube.2demo.top
我的网站根目录为/www/wwwroot/peertube
没有就创建,宝塔里边创建还是mkdir都可以。
获取配置文件:
cd /www/wwwroot/peertube
curl https://raw.githubusercontent.com/chocobozzz/PeerTube/master/support/docker/production/docker-compose.yml > docker-compose.yml
curl https://raw.githubusercontent.com/Chocobozzz/PeerTube/master/support/docker/production/.env > .env
修改配置文件
选择适合你自己的文本编辑器对.env文件进行修改(我这用的是nano)
POSTGRES_PASSWORD= #postgresql 用户密码
PEERTUBE_DB_PASSWORD= #数据库密码
PEERTUBE_WEBSERVER_HOSTNAME= #网站域名如peertube.2demo.top
如果有邮件需求可以修改SMTP配置
PEERTUBE_SMTP_HOSTNAME=postfix
PEERTUBE_SMTP_PORT=25
PEERTUBE_SMTP_FROM=noreply@<MY DOMAIN>
PEERTUBE_SMTP_TLS=false
PEERTUBE_SMTP_DISABLE_STARTTLS=false
PEERTUBE_ADMIN_EMAIL= #管理员邮箱必须有,密码在初次启动时会自动创建
重点来了,划重点,踩坑N次结论:
.env文件一定要把里边得所有信息都改了,不要只局限于我上面得这些。不然会报错,反复得报错npm ERR! code ELIFECYCLE npm ERR! errno 255
我试了好多次都是这种情况,换了好几次系统。结果发现就是因为我的信息填写不完整导致的。
配置反代:webserver
#配置NGINX
mkdir -p docker-volume/nginx
curl https://raw.githubusercontent.com/Chocobozzz/PeerTube/master/support/nginx/peertube > docker-volume/nginx/peertube
#配置ssl证书
mkdir -p docker-volume/certbot
docker run -it --rm --name certbot -p 80:80 -v "$(pwd)/docker-volume/certbot/conf:/etc/letsencrypt" certbot/certbot certonly --standalone
初始启动
docker-compose up
启动完之后等一会,然后访问网站,能访问成功就可以退出了。
然后后台启动
docker-compose up -d
获取管理员账号密码
docker-compose logs peertube | grep -A1 root

配置
网站信息
网站信息可以在管理页面中的配置–信息中进行修改,支持markdown格式
网站信息
转码
HLS具有天然的p2p优势,所以我们可以选择利用ffmpeg对上传的视频进行切片。
我选择的分辨率是480P,720P,1080P。
转码线程数选择的是自动,可以最大化利用服务器性能,但是有可能会对网页的稳定性造成一定的影响。
直播串流
我安装的是4.x版本,支持直播串流了,不过需要后台打开设置才行。
直播串流
自定义修改
你可以在配置——高级中的自定义项对实例进行微调。
可以客制化CSS以及JS
联邦
你可以在配置——联邦中关注其他peertube实例或者是频道,当你关注之你的网站也可以显示其他实例的视频。(需要被关注实例同意)
使用界面
用户页面
上传界面
上传界面
上传视频可以修改标题,标签,频道,类别,许可,语言,是否公开,是否含有敏感内容,是否转码。
需要注意的是必须等视频上传完毕之后才能发布,中途不能中断否则就要重新上传并撰写发布信息。
播放页面
只有同一个视频同一个分辨率才能进行p2p分享。
想要下载视频可以视频上右键,点击复制磁力链接然后用bt软件进行下载(webtorrent模式),
你也可以选择分享实例上的视频,可以通过iframe放到其它网站上。自定义配置也够丰富
PS:如果你的视频网站需要商业运用或者是UCG模式,请使用海外服务器,或者获取相关牌照以及解决版权问题。本教程不提供源码以及其他技术指导。