Fireshare

Fireshare 自托管媒体分享 — 一键安装

自托管您的媒体文件,并通过唯一链接进行分享。

为什么用 Web.Casa 安装 Fireshare 自托管媒体分享?

一键部署

无需手动编写 Docker Compose,Web.Casa 自动配置并启动。

自动 HTTPS

Caddy 自动签发和续期 SSL 证书,反向代理开箱即用。

统一管理

监控、备份、更新、日志——所有应用在一个面板中管理。

安装方式

先安装 Web.Casa,然后在应用商店中一键安装此应用。

应用信息

版本
1.4.2
作者
https://github.com/ShaneIsrael
默认端口
8140

Fireshare

文件夹信息

根文件夹容器文件夹
/runtipi/app-data/fireshare/data/fireshare_data/data
/runtipi/app-data/fireshare/data/fireshare_processed/processed
/runtipi/media/data/videos/fireshare_videos/videos

目录

  1. 关于项目
  2. 安装
  3. 本地开发
  4. 贡献
  5. 常见问题 / 故障排除

关于项目

我使用 Nvidia Shadowplay 等工具创建了许多游戏剪辑,其中很多是 15-30 秒的短视频,我想与朋友分享,但不想花时间上传到 YouTube、等待 YouTube 处理视频,最后才能发送链接。

我认为应该有一个简单的解决方案,让我能够自托管我的剪辑,并通过某种生成的链接与朋友分享?遗憾的是,我找到的工具都不完全符合我的需求。于是在一位朋友的帮助下,我们快速构建了 Fireshare 来实现这个目标。

Fireshare 的目标是提供一种非常简单、便捷的方式,让您可以通过唯一链接分享您拥有的任何视频。您只需将视频放入一个文件夹,剩下的交给 Fireshare 处理。

登录界面

仪表板

在这里,您可以查看所有视频,并编辑其详细信息,如标题、描述以及是否希望它们显示在公共动态中。

卡片视图

也许卡片视图不是您的风格?Fireshare 也支持列表视图。

列表视图

文件夹分类

Fireshare 将使用您视频所在的最顶层目录,作为一种简单直观的方式,让您将视频组织成自己选择的类别。

文件夹

上传

允许您的社区或公众上传视频。当然,此功能可以禁用或仅限于管理员访问。

上传

编辑视频详情

点击“铅笔”图标,访问用于编辑视频标题和描述的基本模态框。

编辑详情

视频预览模态框

在公共动态或管理仪表板上打开的视频会显示在模态框中。此模态框提供直接链接和带时间戳的链接分享按钮,以及“随机播放”到另一个视频的功能。作为管理员,您还可以从此模态框编辑视频的详细信息。

预览模态框

观看页面

这是人们收到 Fireshare 链接时将看到的内容。

观看页面

移动端支持

更喜欢在移动设备上浏览?没问题。Fireshare 已为您考虑周全。

Open Graph 支持

从 Fireshare 中的链接复制按钮复制的直接链接,将允许网站和消息应用读取 Open Graph 数据,并在您的帖子中显示标题、描述和视频缩略图。

Logo

LDAP 身份验证支持

将 Fireshare 连接到中央用户目录,保持用户访问的有序性。

构建技术

安装

Fireshare 旨在在 Docker 环境中运行。虽然我们建议使用 Docker Compose 之类的工具,但这不是必需的,也可以通过简单的 docker run 命令运行。

Fireshare 需要 3 个卷挂载。

  1. /data - Fireshare 用于保存其内部数据库的目录
  2. /processed - 用于保存 Fireshare 创建的与您视频相关的元数据(海报、元数据信息)的目录
  3. /videos - Fireshare 将监视和扫描视频的目录。

如果您将所有游戏剪辑存储在 my_game_clips 文件夹中,那么您需要在 docker compose 文件(或 docker run 命令)中将该文件夹卷挂载到 Fireshare 监视的 /videos 文件夹。

Docker Compose

如果您已安装 docker compose,可以在项目根目录下直接运行此命令。

请确保编辑 docker-compose.yml 文件,设置您的卷位置和管理员密码。

Docker

docker run --name fireshare -v $(pwd)/fireshare:/data:rw -v $(pwd)/fireshare_processed:/processed:rw -v /path/to/my_game_clips:/videos:rw -p 8080:80 -e ADMIN_PASSWORD=your-admin-password -d shaneisrael/fireshare:latest

运行后,在浏览器中导航到 localhost:8080。

可配置设置

请参阅 Fireshare 配置 Wiki:链接 关于 LDAP 配置,请参阅 LDAP.md

本地开发

如果您想通过源代码运行 Fireshare 以进行贡献,您需要安装 npm、Node.js 和 Python。我建议使用 NVM 安装 Node.js,以便轻松切换 Node 版本。

设置

  1. 安装 Python3、NodeJS 和 NPM。

  2. 克隆仓库

    $ git clone https://github.com/ShaneIsrael/fireshare.git
    
  3. 在项目根目录下

  4. 在新的终端中,导航到 app/client 并运行以下命令。

  5. 在浏览器中,导航到 localhost:3000 并使用 admin/admin 登录。

贡献

如果您对这个项目感兴趣,请随时贡献或提出建议。请注意,创建拉取请求并不保证它会被项目接受。除了明显的错误修复外,最好在开始任何您想添加的功能之前与我们协商。

如有问题或功能请求,请在此处创建带有适当标签的 issue

  1. Fork 项目
  2. 添加上游 (git remote add upstream https://github.com/ShaneIsrael/fireshare.git)
  3. 创建您的功能分支 (git checkout -b feature/AmazingFeature)
  4. 提交您的更改 (git commit -m 'Add some AmazingFeature')
  5. 与上游变基 (git rebase upstream/main)
  6. 修复您可能遇到的任何合并冲突
  7. 推送到分支 (git push origin feature/AmazingFeature)
  8. 针对 develop 分支打开一个拉取请求

更新您的分支 我们不会为您解决合并冲突,如果您提交拉取请求并显示存在合并冲突,请参阅上述步骤 4 和 5。

更新 Fireshare 数据库

如果您需要更新数据库或添加新表/列,请首先修改 app/server/fireshare/models.py 文件,然后在项目根目录运行 flask db migrate -m "迁移名称",将生成包含您更改的新迁移文件。请检查该文件,确保一切正确。您可能需要手动编辑此迁移。

常见问题

播放问题

如果您遇到播放问题,可能有多种原因。以下是最常见的原因。

  1. 文件大小

    Fireshare 按原样提供您的视频。如果您的视频非常大,任何尝试观看的人都需要足够快的下载速度才能播放。这也意味着您需要有足够快的上传速度来提供这些大文件。考虑使用 Handbrake 等工具将视频压缩到更小的尺寸。

  2. 上传速度

    您的上传速度很重要。如果您上传速度慢,根据您尝试提供的文件大小,人们可能无法流式传输您的视频。考虑使用 Handbrake 压缩您的视频。

  3. 浏览器

    在我的测试中,我注意到 Firefox 在播放非常大的文件时遇到困难,而 Chrome 和 Edge 似乎没有同样的问题。

  4. 不支持的文件类型

    目前,Fireshare 仅支持 MP4、MOV 和 WEBM 文件。建议尽可能使用 MP4,虽然支持 MOV,但我们注意到有些 MOV 文件播放正常,而有些则不行。如果您的 MOV 文件无法播放,请考虑使用 Handbrake 等工具将其转码为 MP4 文件。

  5. 上传问题

    上传问题通常是由于将 Fireshare 放在 nginx 等反向代理后面引起的。默认情况下,nginx 对上传文件大小有限制。通常问题是您尝试上传的文件超过了 nginx 允许的大小。您需要更新反向代理的设置以增加这些限制和超时时间。如果您使用 nginx,很可能只需要添加这两行。

    client_max_body_size 0;
    proxy_read_timeout 999999s;
    

    这些设置仅适用于 Nginx。将 client_max_body_size 设置为 0 意味着允许任何大小的上传。我们还增加了超时限制,以免连接超时。如果您不使用 nginx,您需要进行一些研究。

常见问题

Fireshare 自托管媒体分享 可以安装在 Web.Casa 上吗?

是的,Fireshare 自托管媒体分享 是 Web.Casa 应用商店中的官方应用。你可以通过 Web.Casa 面板一键安装,无需手动编写 Docker Compose 或配置反向代理。

如何在 Web.Casa 上安装 Fireshare 自托管媒体分享?

首先通过 curl -fsSL https://get.web.casa | bash 安装 Web.Casa,然后在面板的应用商店中搜索「Fireshare 自托管媒体分享」,点击安装即可。Web.Casa 会自动配置 Docker 容器、分配端口并设置 Caddy 反向代理。

Fireshare 自托管媒体分享 在 Web.Casa 上的默认端口是什么?

Fireshare 自托管媒体分享 在 Web.Casa 上的默认端口为 8140。你可以通过 Web.Casa 的 Caddy 反向代理将其绑定到自定义域名,自动获取 HTTPS 证书。

Fireshare 自托管媒体分享 安装后可以自动获取 HTTPS 吗?

是的。Web.Casa 基于 Caddy 构建,安装应用后只需绑定域名,Caddy 会自动通过 Let's Encrypt 签发和续期 SSL 证书,全程无需手动配置。

Fireshare 自托管媒体分享 的数据如何备份?

Web.Casa 内置备份插件,支持将 Fireshare 自托管媒体分享 的数据自动备份到本地、S3、WebDAV 或 SFTP。你可以设置定时快照和保留策略,确保数据安全。