搬瓦工搭建 PeerTube 联邦视频平台完整教程
PeerTube 是一款去中心化的开源视频平台,支持 ActivityPub 联邦协议,可以与 Mastodon 等 Fediverse 平台互通。它使用 WebTorrent/HLS 进行 P2P 视频分发,能有效降低服务器带宽压力。PeerTube 还支持直播功能、视频导入和插件扩展。本文将介绍如何在搬瓦工 VPS 上通过 Docker 部署 PeerTube。
一、准备工作
1.1 系统要求
- 操作系统:Ubuntu 20.04+(推荐 Ubuntu 22.04)。
- 内存:至少 2GB,推荐 4GB(视频转码需要较多资源)。
- 磁盘空间:程序约 1GB,视频存储按需准备。
- 域名:PeerTube 必须使用域名访问,需提前准备并配置 DNS。
- Docker:需提前安装,参考 Docker 安装教程。
1.2 创建目录
mkdir -p /opt/peertube
cd /opt/peertube
二、Docker Compose 部署
2.1 下载官方 Docker 配置
curl -O https://raw.githubusercontent.com/Chocobozzz/PeerTube/master/support/docker/production/docker-compose.yml
curl -O https://raw.githubusercontent.com/Chocobozzz/PeerTube/master/support/docker/production/.env
2.2 编辑环境变量
编辑 .env 文件,配置以下关键参数:
# 修改 .env 文件中的关键配置
PEERTUBE_WEBSERVER_HOSTNAME=video.example.com
PEERTUBE_WEBSERVER_PORT=443
PEERTUBE_WEBSERVER_HTTPS=true
PEERTUBE_DB_USERNAME=peertube
PEERTUBE_DB_PASSWORD=your_db_password
POSTGRES_PASSWORD=your_postgres_password
PEERTUBE_ADMIN_EMAIL=admin@example.com
PEERTUBE_SECRET=your_random_secret_string
PEERTUBE_SMTP_HOSTNAME=smtp.example.com
PEERTUBE_SMTP_PORT=587
PEERTUBE_SMTP_USERNAME=noreply@example.com
PEERTUBE_SMTP_PASSWORD=smtp_password
PEERTUBE_SMTP_FROM=noreply@example.com
2.3 启动服务
docker compose up -d
首次启动后查看日志获取管理员密码:
docker compose logs peertube | grep "User password"
三、Nginx 反向代理
PeerTube 在生产环境中需要通过 Nginx 反向代理提供 HTTPS 访问:
server {
listen 443 ssl http2;
server_name video.example.com;
ssl_certificate /etc/letsencrypt/live/video.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/video.example.com/privkey.pem;
client_max_body_size 8G;
location / {
proxy_pass http://127.0.0.1:9000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 600s;
proxy_send_timeout 600s;
send_timeout 600s;
}
location ~ ^/static/(webseed|streaming-playlists)/ {
proxy_pass http://127.0.0.1:9000;
proxy_set_header Host $host;
# 优化视频文件传输
proxy_buffering on;
proxy_buffer_size 128k;
proxy_buffers 8 256k;
}
}
四、基本配置
4.1 管理面板
使用管理员账户登录后,点击「管理」进入管理面板,可以配置:
- 实例信息:网站名称、描述、使用条款等。
- 注册策略:开放注册、需审核或关闭注册。
- 视频配额:每个用户的视频存储配额。
- 转码设置:视频转码分辨率和格式。
4.2 转码配置
在「管理」→「配置」→「VOD 转码」中,设置视频转码参数:
- 启用的分辨率:建议根据服务器性能选择,至少启用 480p 和 720p。
- 转码线程数:搬瓦工 VPS 建议设置为 CPU 核心数。
- HLS 与 WebTorrent:推荐同时启用以获得最佳兼容性。
4.3 联邦设置
PeerTube 支持通过 ActivityPub 协议与其他 PeerTube 实例或 Mastodon 实例互通。在「管理」→「联邦」中可以:
- 关注其他 PeerTube 实例的频道。
- 管理已知实例列表。
- 配置自动关注策略。
五、上传视频
5.1 Web 界面上传
登录后点击右上角的「发布」按钮,可以上传视频文件。上传时可以设置标题、描述、标签、频道、许可证和隐私级别。
5.2 从 URL 导入
PeerTube 支持从 YouTube 等平台通过 URL 导入视频。在上传页面选择「导入」→「来自 URL」,粘贴视频地址即可。
5.3 直播功能
在「管理」→「配置」→「直播」中启用直播功能后,用户可以通过 RTMP 推流进行直播。推流地址和密钥在创建直播时会自动生成。
六、插件系统
PeerTube 支持丰富的插件和主题:
- 在「管理」→「插件」中浏览和安装官方插件仓库的插件。
- 常用插件包括:自动字幕(Auto-Mute)、视频水印、自定义主题等。
七、维护与更新
7.1 更新 PeerTube
cd /opt/peertube
docker compose pull
docker compose down
docker compose up -d
7.2 备份数据
# 备份数据库
docker exec -t peertube-postgres pg_dump -U peertube peertube > peertube-db.sql
# 备份视频和配置
tar -czf peertube-data-backup.tar.gz -C /opt/peertube data/
7.3 查看日志
docker compose logs --tail=100 peertube
总结
PeerTube 是打造个人视频平台的绝佳方案,去中心化的架构和 P2P 视频分发技术有效降低了服务器成本。在搬瓦工 VPS 上部署后,你可以拥有自己的视频发布和分享平台。建议选择至少 2GB 内存的方案以支持视频转码。选购搬瓦工 VPS 请参考 全部方案,购买时使用优惠码 NODESEEK2026 可享受 6.77% 的循环折扣。如遇问题,可前往 搬瓦工官网 提交工单。