TypechoJoeTheme

MetMan's Blog

网站页面

Fireshare-搭建视频分享观看网站

MetMan博 主神仙
2024-12-30
/
0 评论
/
101 阅读
/
641 个字
/
百度已收录
12/30
本文最后更新于 2024年12月30日,已超过 61天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

需求

搬运收藏外网优质视频,实现“内网”在线观看同时能够小范围分享。不过由于视频版权限制,不适合上传到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/nginxproxymanagerB站视频进行安装。

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来上传视频。

建站
朗读
赞(0)
赞赏
感谢您的支持,我会继续努力哒!
版权属于:

MetMan's Blog

本文链接:

https://blog.metman.top/index.php/archives/177/(转载时请注明本文出处及文章链接)

评论 (0)

互动读者

标签云

最新回复

  1. tqymnonccc打酱油
    2024-09-27
  2. toibdpojay打酱油
    2024-09-22
  3. yvctxyevvw打酱油
    2024-09-22
  4. frezhwzwuq打酱油
    2024-09-22
登录
X
用户名
密码