当前位置: 首页 > news >正文

PeerTube 部署指南:自建视频托管平台

PeerTube 部署指南:自建视频托管平台

PeerTube 是一个去中心化的视频托管平台,基于 ActivityPub 协议,可以和 Mastodon 等 Fediverse 应用互联。你可以用它搭建自己的视频平台:存放课程视频、技术分享、私人录像,也可以开放给社区使用。视频托管在你自己的服务器,不受平台审查,没有广告算法推荐,播放体验完全自控。

服务器配置建议

视频平台对存储和带宽要求较高:

用途CPU内存硬盘带宽
个人/小团队2 核2G100GB+20Mbps
社区平台4 核4G500GB+100Mbps

视频转码会消耗大量 CPU,建议开启后台转码,避免影响播放。我在 雨云 rainyun+com 开了一台 4 核 4G 带大硬盘的服务器专门跑 PeerTube,视频转码队列完全够用。雨云新用户注册填优惠码2026off能领 5 折优惠券。

使用 Docker 部署

mkdir-p/opt/peertube# 下载官方 docker-compose 配置cd/opt/peertubecurlhttps://raw.githubusercontent.com/Chocobozzz/PeerTube/master/support/docker/production/docker-compose.yml-odocker-compose.ymlcurlhttps://raw.githubusercontent.com/Chocobozzz/PeerTube/master/support/docker/production/.env-o.env

编辑.env文件:

nano.env

关键配置项:

# 服务器域名 PEERTUBE_WEBSERVER_HOSTNAME=video.你的域名.com PEERTUBE_WEBSERVER_HTTPS=true PEERTUBE_WEBSERVER_PORT=443 # 管理员邮箱 PEERTUBE_ADMIN_EMAIL=admin@你的域名.com # 数据库 PEERTUBE_DB_USERNAME=peertube PEERTUBE_DB_PASSWORD=数据库强密码 PEERTUBE_DB_HOSTNAME=postgres # Redis PEERTUBE_REDIS_HOSTNAME=redis # SMTP 邮件(用于注册验证) PEERTUBE_SMTP_HOSTNAME=smtp.你的邮件服务商.com PEERTUBE_SMTP_PORT=587 PEERTUBE_SMTP_USERNAME=你的邮件账号 PEERTUBE_SMTP_PASSWORD=邮件密码 PEERTUBE_SMTP_FROM=noreply@你的域名.com PEERTUBE_SMTP_TLS=false PEERTUBE_SMTP_STARTTLS=true

配置 Nginx 反代

PeerTube 的 docker-compose 默认包含 Nginx,但如果你已经有自己的 Nginx/Caddy,需要做相应配置。

使用 Caddy:

sudotee-a/etc/caddy/Caddyfile<<'EOF' video.你的域名.com { reverse_proxy localhost:9000 # 提高上传限制(视频文件很大) request_body { max_size 8GB } } EOFsudosystemctl reload caddy

启动服务

cd/opt/peertube# 首次启动dockercompose up-d# 等待初始化完成(约 1-2 分钟)dockercompose logs-fpeertube# 获取管理员初始密码dockercomposeexec-upeertube peertubenodedist/server/tools/peertube.js get-settings

首次启动会自动生成管理员密码,记录下来。

初始配置

登录https://video.你的域名.com后,进入管理面板(Admin Panel):

实例设置

管理 → 实例设置 - 实例名称:你的视频平台名称 - 简介:平台说明 - 关键词:用于 Fediverse 发现 - 默认语言:zh-Hans - 注册:选择是否开放公开注册

视频配置

管理 → 配置 - 视频配额:每个用户可上传的总量限制 - 每日配额:每日上传限制 - 允许的视频格式:mp4, webm, ogv, avi 等 - 最大视频大小:根据服务器带宽设置

转码设置

管理 → 配置 → 转码 - 启用转码:是 - 线程数:根据 CPU 核心数设置(建议核心数-1) - 720p、1080p:根据需要启用 - HLS 流:推荐开启(更好的播放体验)

频道和视频管理

创建频道

每个账户可以创建多个频道,类似 YouTube 上的子频道:

我的账户 → 我的频道 → 新建频道 - 名称:技术分享 - 简介:Linux 和开发相关的视频 - 头像:上传图片

上传视频

支持直接上传或从 URL 导入(YouTube 等平台链接):

上传 → 选择文件 - 标题、描述、标签 - 隐私设置:公开 / 不公开 / 仅我可见 - 频道选择 - 发布时间(可以定时发布)

联邦功能

PeerTube 基于 ActivityPub,可以和其他 PeerTube 实例以及 Mastodon 互联:

管理 → 联邦 → 关注

关注其他 PeerTube 实例后,可以在本地搜索到其他实例的视频,实现内容聚合。

P2P 视频分发

PeerTube 的特色是使用 WebTorrent 技术,观看人数越多,服务器带宽压力越小,因为观众之间会互相传输视频数据。对于带宽有限的服务器特别友好。

存储优化

视频文件很大,建议把存储目录挂载到大容量磁盘:

# 如果使用 LVM 扩容(参考 LVM 文章)# 挂载到 /opt/peertube/storage# 或者使用对象存储(MinIO/S3)# 在 PeerTube 配置里设置 object_storage

数据备份

cat>/opt/backup_peertube.sh<<'EOF' #!/bin/bash BACKUP_DIR=/backup/peertube mkdir -p $BACKUP_DIR # 备份数据库 docker exec peertube_postgres pg_dump -U peertube peertube > $BACKUP_DIR/db-$(date +%Y%m%d).sql # 视频文件太大,只备份元数据 tar czf $BACKUP_DIR/config-$(date +%Y%m%d).tar.gz /opt/peertube/config find $BACKUP_DIR -mtime +14 -delete EOFchmod+x /opt/backup_peertube.sh

更新

cd/opt/peertubedockercompose pulldockercompose up-d

PeerTube 最适合有内容创作需求但不想依赖平台的场景:技术团队内部知识分享、在线课程托管、播客视频版归档,或者只是不想让自己的视频被平台算法决定命运。相比 Owncast 专注直播,PeerTube 更适合录播内容管理,两者可以配合使用。

http://www.jsqmd.com/news/742689/

相关文章:

  • Helm GCS插件:在Google云存储上构建私有Chart仓库的完整指南
  • AI应用开发实战指南:从API调用到智能体工程化
  • 【仅限前200名工控开发者】:获取完整C语言PLCopen Level B兼容套件(含SFC状态机C代码生成器+CANopen PDO映射表自动推导模块)
  • 普通车床数控化改造 毕业设计 及全套CAD图
  • OpenClaw离线安装包:零配置部署AI代理的Windows解决方案
  • ROS Kinetic-信号与系统-趣味案例
  • Zwift离线版终极指南:如何在无网络环境下构建专属虚拟骑行训练室
  • 纹理映射不止于游戏:用Three.js和WebGL打造高清数据可视化的完整流程
  • 保姆级教程:在1Panel面板上,用Docker一键部署MaxKB知识库并连接本地Ollama(Llama3模型)
  • 基于Node.js与微信API的Markdown自动化排版发布工具实践
  • Mem Reduct中文界面设置终极指南:3分钟让你的内存清理工具说中文
  • FastAPI API版本控制新思路:基于cadwyn的声明式版本管理实践
  • Ubuntu 18.04 经典 / 有趣 / 实用 APT 软件清单
  • 终极AI小说推文自动化方案:6小时完成从文字到视频的全流程创作
  • 硬件、环境与软件:那些让你怀疑人生的“玄学”Bug排查实录
  • 旋转机械系统形性一体数字孪生模型构建状态监测【附代码】
  • HPH构造大揭秘,新国标下家电更智能
  • Python项目启动报RequestsDependencyWarning?手把手教你锁定urllib3和chardet的兼容版本
  • 别再乱配了!SAP MRP批量大小(EX/FX/WB)实战避坑指南,附MD04结果对比
  • 构建本地化A股智能分析平台:OpenAshare架构解析与实战
  • 外包协作自动化工具套件:ClawSuite的设计原理与实战应用
  • KLineCharts配置避坑指南:在Vue3中自定义十字光标和指标样式的正确姿势
  • Mamba与Transformer融合架构:高效语言模型新突破
  • ARM GICv3中断控制器架构与调试实践
  • EldenRingSaveCopier:基于二进制逆向工程的游戏存档迁移架构解析
  • 新手零基础入门:在快马平台边学边练掌握vmware workstation核心操作
  • Orange Pi RV开发板:30美元起的RISC-V单板计算机解析
  • 从老式收音机到蓝牙音箱:聊聊功放电路简史与DIY一个TDA2030小功放的实战
  • Flowable外置表单实战:SpringBoot集成JSON表单与HTML表单的完整配置与避坑指南
  • Simulink多模型协同开发指南:如何用Embedded Coder管理共享代码与原子子系统