Fireshare-搭建视频分享观看网站
需求
搬运收藏外网优质视频,实现“内网”在线观看同时能够小范围分享。不过由于视频版权限制,不适合上传到B站等公共平台。因此希望搭建一个私人的视频观看分享网站。通过调研,发现fireshare
基本满足以上需求。
搭建方法
前提条件
- 一台云服务器
- 一个域名(非必须)
搭建服务器环境:Rocky Linux 9,以下命令均使用root权限执行。
视频下载工具yt-dlp
yt-dlp是一个命令行工具,可以方便下载视频网站的视频。
# 使用dnf安装
dnf update
dnf install yt-dlp
用法参考文章 https://zhaohongxuan.github.io/2022/03/14/use-yt-dlp-download-youtube-videos/
示例:
yt-dlp \
--format 'bv+ba' \
--write-auto-subs \
--sub-langs zh-Hans,en \
--write-link \
--write-thumbnail \
--embed-metadata \
--merge-output-format mp4 \
--output '%(playlist_index)s-%(playlist)s-%(title)s.mp4' \
https://www.youtube.com/watch\?v\=rY-7DtUFiEI\&list\=PLJVKAfvqjvcofezOxMQaSHnO6HV84isXO
多个视频链接可以存放到一个文件,比如url.txt
yt-dlp --write-subs --write-auto-subs --embed-subs --sub-lang en -a url.txt
docker与docker-compose
- docker安装
参考文章 https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-rocky-linux-9
dnf check-update
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
dnf install docker-ce docker-ce-cli containerd.io
systemctl start docker # 启动docker
systemctl enable docker # 开机启动docker功能
- docker-compose
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
dnf install docker-compose-plugin
docker compose version
反向代理软件Nginx Proxy Manager
参考文章 https://blog.laoda.de/archives/nginxproxymanager 及B站视频进行安装。
mkdir -p /root/data/docker_data/npm
cd /root/data/docker_data/npm
vim docker-compose.yml
docker-compose.yml内容:
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80' # 保持默认即可,不建议修改左侧的80
- '81:81' # 冒号左边可以改成自己服务器未被占用的端口
- '443:443' # 保持默认即可,不建议修改左侧的443
volumes:
- ./data:/data # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 data 文件夹中
- ./letsencrypt:/etc/letsencrypt # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 letsencrypt 文件夹中
打开服务器防火墙端口81
,并确保该端口没被占用。
cd /root/data/docker_data/npm # 来到 dockercompose 文件所在的文件夹下
docker-compose up -d
现在使用http://server_ip:81
访问。
默认登录名和密码:
Email: admin@example.com
Password: changeme
fireshare搭建
参考文章 https://blog.laoda.de/archives/docker-compose-install-fireshare 及对应B站视频
创建docker-compose文件
mkdir -p /root/data/docker_data/fireshare
cd /root/data/docker_data/fireshare
vim docker-compose.yaml
docker-compose.yaml内容:
version: '3.7'
services:
fireshare:
container_name: fireshare
image: shaneisrael/fireshare:latest # latest表示最新版本
ports:
- "8080:80" # 冒号左边的端口可以自己修改成服务器未占用的端口,冒号右边不要改!
volumes:
- ./data:/data # 冒号左边的路径可以自己修改(./代表当前目录下),冒号右边不要改!
- ./processed:/processed # 同上
- ./videos:/videos # 同上
environment:
- ADMIN_USERNAME=admin # 自己设置一个用户名
- ADMIN_PASSWORD=admin # 自己修改一个密码
其中./videos
就是我们放置视频的目录。
# 新建文件夹 fireshare 和 子目录
mkdir -p /root/data/docker_data/fireshare/{data,processed,videos}
# 进入目录
cd /root/data/docker_data/fireshare
ls -al
# 确保 docker-compose.yml 在当前目录下
确保服务器防火墙打开端口8080
。
安装fireshare
cd /root/data/docker_data/fireshare
docker-compose up -d
使用http://server_ip:8080
访问。
绑定域名
- 在域名服务商DNS设置中配置解析,添加一条A记录,使域名指向服务器。
- 在Nginx Proxy Manager中设置
这里填写的IP可以通过ip addr show docker0
获取docker容器内部IP。
现在可以使用域名访问。
fireshare配置
浏览器中输入域名进入网站,输入admin
账号及对应密码。
可以直接在服务器上将视频拷贝到/root/data/docker_data/fireshare/videos
目录下,或者通过filebrowser来上传视频。

