Compare commits
No commits in common. "dev" and "custom" have entirely different histories.
69
.github/ISSUE_TEMPLATE/app.yml
vendored
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
name: 💡 提交应用
|
||||||
|
description: 提交您想要添加到 1Panel 的应用
|
||||||
|
title: "[应用提交]"
|
||||||
|
labels: app
|
||||||
|
assignees: QYG2297248353
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
id: base_info
|
||||||
|
attributes:
|
||||||
|
value: "## 基本信息"
|
||||||
|
- type: input
|
||||||
|
id: version
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
attributes:
|
||||||
|
label: "1Panel 版本号"
|
||||||
|
description: "请提供您的 1Panel 版本号"
|
||||||
|
- type: input
|
||||||
|
id: email
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
attributes:
|
||||||
|
label: "邮箱"
|
||||||
|
description: "请提供您的邮箱"
|
||||||
|
- type: dropdown
|
||||||
|
id: app_type
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
attributes:
|
||||||
|
label: "应用类型"
|
||||||
|
multiple: false
|
||||||
|
options:
|
||||||
|
- 开源
|
||||||
|
- 闭源
|
||||||
|
- 半开源
|
||||||
|
default: 0
|
||||||
|
- type: input
|
||||||
|
id: app_url
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
attributes:
|
||||||
|
label: "应用链接"
|
||||||
|
description: "请提供应用的 Docker Hub 或 GitHub 或 官网 链接"
|
||||||
|
- type: input
|
||||||
|
id: app_name
|
||||||
|
attributes:
|
||||||
|
label: "应用名称"
|
||||||
|
description: "请提供应用的名称"
|
||||||
|
- type: input
|
||||||
|
id: app_version
|
||||||
|
attributes:
|
||||||
|
label: "应用版本"
|
||||||
|
description: "请提供应用的版本"
|
||||||
|
- type: textarea
|
||||||
|
id: details
|
||||||
|
attributes:
|
||||||
|
label: "应用描述"
|
||||||
|
description: "请提供应用的描述"
|
||||||
|
placeholder: "简单描述需要上架的理由"
|
||||||
|
- type: checkboxes
|
||||||
|
id: authorization
|
||||||
|
attributes:
|
||||||
|
label: 条款确认
|
||||||
|
description: "请确认您已阅读并同意以下条款"
|
||||||
|
options:
|
||||||
|
- label: "我已确认该应用 允许在 中国大陆 使用"
|
||||||
|
required: true
|
||||||
|
- label: "我已确认该应用 符合 中国大陆 相关法律法规"
|
||||||
|
required: true
|
8
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
blank_issues_enabled: false
|
||||||
|
contact_links:
|
||||||
|
- name: 博客论坛
|
||||||
|
url: https://blog.lifebus.top/
|
||||||
|
about: 总能找到你想要的
|
||||||
|
- name: 萌森工作室
|
||||||
|
url: https://www.tianyancha.com/company/6145984989
|
||||||
|
about: 新疆萌森软件开发工作室提供技术支持
|
339
.github/README.md
vendored
Normal file
@ -0,0 +1,339 @@
|
|||||||
|
# Docker 应用商店 - `1Panel` 版本
|
||||||
|
|
||||||
|
本项目由 [`新疆萌森软件开发工作室`](https://lifebus.top/) 提供技术支持,我们致力于为 `1Panel` 应用商店用户提供更多的应用程序。
|
||||||
|
|
||||||
|
本仓库中的所有应用不会与 `1Panel` 官方应用商店冲突(存在相同应用并不影响后续的安装与升级,择优选择你需要的版本即可)
|
||||||
|
,我们会定期更新应用,如果您有任何问题,请联系我们。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> ## 2024年07月29日 公告
|
||||||
|
>
|
||||||
|
> 版本 `v1.10.13-lts` 已经支持 `env_file` 文件,但是迫于稳定性考虑,我们依旧采用固定环境变量文件的方式解决问题。
|
||||||
|
>
|
||||||
|
> 近期我们上架了很多新应用,如果您有任何问题,请联系我们。
|
||||||
|
>
|
||||||
|
> 欢迎投稿,我们会根据您的需求,上架更多的应用。
|
||||||
|
>
|
||||||
|
> 🥰 [新疆萌森软件开发工作室](https://blog.lifebus.top/) 祝您生活愉快!
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> ## 2024年07月17日 公告
|
||||||
|
>
|
||||||
|
> 正式开始维护,新老用户推荐使用 `自动化脚本` 完成软件订阅。
|
||||||
|
|
||||||
|
<details>
|
||||||
|
|
||||||
|
<summary>历史公告</summary>
|
||||||
|
|
||||||
|
> ## 2024年07月16日 公告
|
||||||
|
>
|
||||||
|
> 为了解决应用安装问题,我们将在近期发布新的应用安装脚本,敬请期待!
|
||||||
|
>
|
||||||
|
> 具体上线应用,可以参考下方应用列表状态标识。
|
||||||
|
>
|
||||||
|
> 通过固定环境变量文件,解决应用安装问题,不再需要手动创建 `.env` 文件。
|
||||||
|
>
|
||||||
|
> 为了解决应用安装问题,我们将在近期发布新的应用安装脚本,敬请期待!
|
||||||
|
>
|
||||||
|
> 对于 `FIT2CLOUD 飞致云` 旗下开源产品 `1Panel` 经过多次商讨,依旧无法将原有问题解决。迫于无奈,这次我们采用迂回战术,通过固定环境变量文件的方式解决问题。
|
||||||
|
>
|
||||||
|
> 因此提高了维护成本,但相比于用户体验,我们认为这是值得的。简洁的 `docker-compose.yml` 才是我们的目标。
|
||||||
|
>
|
||||||
|
> 后续接入 `Dockge` 应用,将会迎来新的安装方式,敬请期待!
|
||||||
|
>
|
||||||
|
> 新老用户均可使用新的安装方式,升级或安装自动化脚本,无需卸载原有安装脚本。
|
||||||
|
>
|
||||||
|
> 由于结构变化,我们建议您,完全卸载应用后重新安装,以免出现问题。
|
||||||
|
|
||||||
|
> ## 2024年06月14日 公告
|
||||||
|
>
|
||||||
|
> 由于 `1Panel` 的升级,自版本 `v1.10.10-lts` 开始,所有应用均已**停止更新**!
|
||||||
|
>
|
||||||
|
> 经过与 `1Panel` 官方商议,由于其认为安装或升级应用或面板出现的问题不属于 `Bug`,对于使用本仓库的用户,我们深感抱歉!
|
||||||
|
>
|
||||||
|
> 截至目前,我们将不再更新任何应用,如果您有任何问题,请放弃使用当前第三方应用。
|
||||||
|
>
|
||||||
|
> 如果您依旧收到应用更新提示,当前唯一解决升级方案为:卸载应用并重新安装。安装时出现的相关问题,请参考常见问题解决。
|
||||||
|
>
|
||||||
|
> 🥰 祝大家周末愉快~~
|
||||||
|
|
||||||
|
> ## 2024年06月12日 公告
|
||||||
|
>
|
||||||
|
> 由于 `1Panel</span> 的升级,造成部分应用无法正常使用,我们考虑到用户体验,决定暂时关闭应用商店更新,等待团队商议解决方案。
|
||||||
|
>
|
||||||
|
> 拟定解决方案
|
||||||
|
> + 当您收到提示 <span style="font-weight: bold; color: #d9534f;">/xxx/xxx/.env</span> 文件不存在时,请手动创建该文件,不需要填写任何内容的空文件。
|
||||||
|
> + 当您升级 <span style="font-weight: bold; color: #d9534f;">1Panel</span> 出现容器不存在时,请查看容器列表是否正常运行,如果没有运行,可卸载应用并重新安装。
|
||||||
|
> + 当您升级 <span style="font-weight: bold; color: #d9534f;">1Panel</span> 出现应用无法正常使用时,请查看应用是否正常运行,如果没有运行,可卸载应用并重新安装。
|
||||||
|
> + 关闭期间,您可能会收到部分应用的更新,没有关系,您可以选择性更新,不会影响您的使用。
|
||||||
|
> + 由于数据均采用持久化方式存储,卸载应用不会删除数据,您可以放心卸载并重新安装。
|
||||||
|
|
||||||
|
> ## 2024年06月09日 公告
|
||||||
|
>
|
||||||
|
> 警告</span> 请勿升级 `1Panel` 到 `v1.10.10-lts` 版本,否则会导致应用商店无法使用!
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 维护状态
|
||||||
|
|
||||||
|
| 状态 | 图标 | 应用名称 | 应用官网 | 短的描述 | 集合 |
|
||||||
|
|:--:|:------------------------------------------------------------------------------------------------:|:-----------------------:|:-------------------------------------------------------------:|:---------------------------------------------------------------------|:-------:|
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/acg-faka/logo.png" width="22"/> | 异次元店铺系统 | https://faka.wiki/ | 二次元发卡系统 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/alist/logo.png" width="22"/> | AList | https://alist.nn.ci/ | 一款支持多重存储的文件列表程序 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/bark/logo.png" width="22"/> | Bark | https://bark.day.app/ | 一款注重隐私、安全可控的自定义通知推送工具 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/casdoor/logo.png" width="22"/> | Casdoor | https://casdoor.org/ | 身份和访问管理(IAM)/单点登录(SSO)平台 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/cookie-cloud/logo.png" width="22"/> | Cookie Cloud | https://github.com/easychen/CookieCloud/ | CookieCloud是一个和自架服务器同步浏览器Cookie和LocalStorage的小工具 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/deeplx/logo.png" width="22"/> | DeepLX | https://deeplx.owo.network/ | DeepL免费API(无需TOKEN) | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/dockge/logo.png" width="22"/> | Dockge | https://dockge.kuma.pet/ | 面向堆栈的管理器 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/dujiaoka/logo.png" width="22"/> | 独角数卡 | https://github.com/assimon/dujiaoka/ | 独角数卡(自动售货系统)-开源站长自动化售货解决方案、高效、稳定、快速 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/elastic-elasticsearch/logo.png" width="22"/> | Elasticsearch | https://www.elastic.co/elasticsearch/ | Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎 | Elastic |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/elastic-kibana/logo.png" width="22"/> | Kibana | https://www.elastic.co/kibana/ | Kibana 针对大规模数据快速运行数据分析 | Elastic |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/emby/logo.png" width="22"/> | Emby | https://emby.media/ | Emby Server 是一款个人媒体服务器,可在几乎所有设备上运行应用程序 | Emby |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/emby/logo.png" width="22"/> | Emby-lovechen | https://emby.media/ | 【开心版】Emby Server 是一款个人媒体服务器,可在几乎所有设备上运行应用程序 | Emby |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/ghost/logo.png" width="22"/> | Ghost | https://ghost.org/ | 用于现代出版、会员制、订阅和通讯的人博客系统 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/gitea/logo.png" width="22"/> | Gitea | https://gitea.io/ | 私有、快速、可靠的 DevOps 平台 | Gitea |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/gitea/logo.png" width="22"/> | Gitea Runner | https://gitea.io/ | 【Runner】私有、快速、可靠的 DevOps 平台 | Gitea |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/halo/logo.png" width="22"/> | Halo | https://halo.run/ | 强大易用的开源建站工具 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/iframely/logo.png" width="22"/> | Iframely | https://iframely.com/ | 响应式 Web 嵌入和 URL 元的 Iframely API | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/immich/logo.png" width="22"/> | Immich | https://immich.app/ | 【完整版本】高性能自托管照片和视频管理解决方案 | Immich |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/immich/logo.png" width="22"/> | Immich-Server | https://immich.app/ | 【主服务模块】高性能自托管照片和视频管理解决方案 | Immich |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/immich/logo.png" width="22"/> | Immich-Machine-Learning | https://immich.app/ | 【机器学习模块】高性能自托管照片和视频管理解决方案 | Immich |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/iyuu-plus/logo.png" width="22"/> | IYUU Plus | https://doc.iyuu.cn/ | 基于特征码的索引工具 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/iycms/logo.png" width="22"/> | 爱影CMS | https://www.iycms.com/ | 高性能高并发永久免费影视CMS | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/jellyfin/logo.png" width="22"/> | Jellyfin | https://jellyfin.org/ | 自由软件媒体系统 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/linkding/logo.png" width="22"/> | LinkDing | https://github.com/sissbruecker/linkding/ | 自托管书签管理器 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/mailserver/logo.png" width="22"/> | Docker Mailserver | https://docker-mailserver.github.io/docker-mailserver/latest/ | 可用于生产的全栈但简单的邮件服务器 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/minio/logo.png" width="22"/> | MinIO | https://min.io/ | MinIO 是一种高性能、兼容 S3 的对象存储 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/movie-pilot/logo.png" width="22"/> | MoviePilot | https://github.com/jxxghp/MoviePilot/ | NAS媒体库自动化管理工具 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/mysql/logo.png" width="22"/> | MySQL | https://www.mysql.com/ | 关系数据库管理系统 | MySQL |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/mariadb/logo.png" width="22"/> | MariaDB | https://mariadb.org/ | 【MySQL分支】创新的开源数据库 | MySQL |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/percona/logo.png" width="22"/> | Percona | https://www.percona.com/ | 【MySQL分支】关系数据库管理系统 | MySQL |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/nacos/logo.png" width="22"/> | Nacos | https://nacos.io/ | 动态服务发现、配置管理和服务管理平台 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/nezha/logo.png" width="22"/> | NeZha | https://nezha.wiki/ | 【哪吒监控】开源、轻量、易用的服务器监控、运维工具 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/nocodb/logo.png" width="22"/> | NocoDB | https://nocodb.com/ | 无代码数据库平台 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/onedev/logo.png" width="22"/> | OneDev | https://onedev.io/ | DevOps 平台、带有 CI/CD、看板和软件包的 Git 服务器 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/outline/logo.png" width="22"/> | OutLine | https://www.getoutline.com/ | 快速、协作的团队知识库 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/photoprism/logo.png" width="22"/> | PhotoPrism | https://www.photoprism.app/ | 面向去中心化网络的人工智能照片应用程序 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/pixman/logo.png" width="22"/> | Pixman | https://pixman.io/ | IPTV、M3U8 流媒体代理方案 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/postgresql/logo.png" width="22"/> | PostgreSQL | https://www.postgresql.org/ | 世界上最先进的开源关系数据库 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/qbittorrent/logo.png" width="22"/> | qBittorrent | https://www.qbittorrent.org/ | qBittorrent 比特流客户端 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/qinglong/logo.png" width="22"/> | 青龙 | https://github.com/whyour/qinglong/ | 【青龙】支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/reader3/logo.png" width="22"/> | 阅读3 | https://github.com/hectorqin/reader/ | 【阅读3】阅读3服务器版,不需要手机 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/redis/logo.png" width="22"/> | Redis | https://redis.io/ | 从世界上最快的内存数据库创建者那里获取该数据库 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/rsshub/logo.png" width="22"/> | RssHub | https://rsshub.app/ | 从任何内容生成 RSS/Atom/JSON 订阅源 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/sentinel/logo.png" width="22"/> | Sentinel | https://sentinelguard.io/ | 面向分布式、多语言异构化服务架构的流量治理组件 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/siyuan/logo.png" width="22"/> | 思源笔记 | https://b3log.org/siyuan/ | 【思源笔记】一款隐私优先、自托管、完全开源的个人知识管理软件 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/speedtest/logo.png" width="22"/> | SpeedTest | https://www.speedtest.net/ | 互联网速度测试 | |
|
||||||
|
| 🔴 | | SpeedTest-Tracker | https://docs.speedtest-tracker.dev/ | Speedtest Tracker 是一款自托管互联网性能跟踪应用程序,可针对 Ookla 的 Speedtest 服务运行速度测试检查 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/stream-rec/logo.png" width="22"/> | Stream-Rec | https://github.com/hua0512/stream-rec/ | Stream-rec是一个用于各种流媒体服务的自动流媒体录制工具 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/telegram-bot-api/logo.png" width="22"/> | Telegram Bot Api | https://telegram.org/ | 自建 Telegram Bot API 服务器 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/transmission/logo.png" width="22"/> | Transmission | https://transmissionbt.com/ | 快速、简单、免费的 Bittorrent 客户端 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/uptime-kuma/logo.png" width="22"/> | Uptime Kuma | https://uptime.kuma.pet/ | 自托管监控工具 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/umami/logo.png" width="22"/> | Umami | https://umami.is/ | 为速度和效率而构建的网站分析 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/wiseflow/logo.png" width="22"/> | WiseFlow | https://github.com/TeamWiseFlow/wiseflow/ | Wiseflow 首席情报官 | |
|
||||||
|
| 🔴 | | Yarr | https://github.com/nkanaev/yarr | Rss 阅读器 | |
|
||||||
|
| 🔴 | | Ztncui | https://www.zerotier.com/ | 【自建服务端】ZeroTier 可让您构建几乎任何类型的现代化安全多点虚拟化网络 | |
|
||||||
|
|
||||||
|
> 说明:
|
||||||
|
>
|
||||||
|
> 以上排序不分先后,按照字母顺序排列。
|
||||||
|
>
|
||||||
|
> 维护状态:🟢 维护中 🔴 未维护 🟡 表示不定期维护
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 应用安装
|
||||||
|
|
||||||
|
> 温馨提示:
|
||||||
|
> 当您已安装其他第三方库时并且存在应用冲突,安装过程中会主动删除冲突的第三方库应用,如果您不同意,请不要执行脚本。
|
||||||
|
>
|
||||||
|
> 我们建议您在安装之前备份您的数据,或手动安装。
|
||||||
|
>
|
||||||
|
> 如果您不使用 `curl` 命令,可以使用 `wget` 命令代替。
|
||||||
|
>
|
||||||
|
> 将 `curl -sSL` 替换为 `wget -qO-` 即可。
|
||||||
|
|
||||||
|
### 自动化安装
|
||||||
|
|
||||||
|
一键式安装,无需手动操作,自动完成 1Panel应用 上架应用商店。
|
||||||
|
|
||||||
|
每三小时自动更新一次应用列表。
|
||||||
|
|
||||||
|
```shell
|
||||||
|
curl -sSL https://install.lifebus.top/auto_install.sh | bash
|
||||||
|
```
|
||||||
|
|
||||||
|
> 卸载自动化脚本 (不会卸载应用)
|
||||||
|
|
||||||
|
```shell
|
||||||
|
curl -sSL https://install.lifebus.top/auto_uninstall.sh | bash
|
||||||
|
```
|
||||||
|
|
||||||
|
如需卸载应用列表,您可以手动删除以下目录:
|
||||||
|
|
||||||
|
+ 应用目录:`${1panel应用目录}/resource/apps/local`
|
||||||
|
|
||||||
|
+ 应用公共文件目录:`/etc/1panel/envs`
|
||||||
|
|
||||||
|
+ 应用数据目录:`${应用持久化目录}`
|
||||||
|
|
||||||
|
### 手动安装模式
|
||||||
|
|
||||||
|
更新时机由自己把握,手动执行命令。
|
||||||
|
|
||||||
|
```shell
|
||||||
|
curl -sSL https://install.lifebus.top/app_install.sh | bash
|
||||||
|
```
|
||||||
|
|
||||||
|
### 计划任务模式
|
||||||
|
|
||||||
|
将内容写入Shell计划任务中,设定定期执行。
|
||||||
|
|
||||||
|
```shell
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 此处可以定义代理方案
|
||||||
|
|
||||||
|
script_url="https://install.lifebus.top/app_install.sh"
|
||||||
|
|
||||||
|
echo "Downloading and executing script from $script_url..."
|
||||||
|
bash <(curl -sL "$script_url")
|
||||||
|
|
||||||
|
echo "Script execution completed."
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 配置脚本网络代理
|
||||||
|
|
||||||
|
如果您的网络环境需要代理,请在脚本执行前配置代理。
|
||||||
|
|
||||||
|
可将以下脚本插入到 `计划任务模式` 的脚本中。
|
||||||
|
|
||||||
|
```sh
|
||||||
|
proxy_protocols="http"
|
||||||
|
proxy_server="server address"
|
||||||
|
proxy_port="server port"
|
||||||
|
export http_proxy="$proxy_protocols://$proxy_server:$proxy_port"
|
||||||
|
export https_proxy="$proxy_protocols://$proxy_server:$proxy_port"
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 安装 `Pre 尝鲜版` 应用
|
||||||
|
|
||||||
|
> 说明:
|
||||||
|
>
|
||||||
|
> `Pre 尝鲜版` 应用为测试版本,可能存在未知问题,我们建议您在测试环境中使用。
|
||||||
|
|
||||||
|
### 安装尝鲜版应用
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl -sSL https://install.lifebus.top/pre_app_install.sh | bash
|
||||||
|
```
|
||||||
|
|
||||||
|
### 卸载尝鲜版应用
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl -sSL https://install.lifebus.top/pre_app_uninstall.sh | bash
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 卸载所有本地应用
|
||||||
|
|
||||||
|
通过此脚本,您可以卸载所有本地应用,但是不会删除数据。
|
||||||
|
|
||||||
|
可能您的库中遗留了一些无用的应用,您可以通过此脚本进行清理。该脚本不影响 `自动化脚本` 的应用更新。
|
||||||
|
|
||||||
|
**此脚本必须`root`用户执行**
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl -sSL https://install.lifebus.top/local_app_uninstall.sh | bash
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 常见问题
|
||||||
|
|
||||||
|
+ 安装脚本提示
|
||||||
|
+ 没有权限
|
||||||
|
+ 请使用 `root` 用户执行脚本
|
||||||
|
+ `curl: command not found`
|
||||||
|
+ 请安装 `curl` 命令
|
||||||
|
+ `apt install curl -y`
|
||||||
|
+ `yum install curl -y`
|
||||||
|
+ 由于安装脚本的网络问题导致安装失败
|
||||||
|
+ 请检查网络状况
|
||||||
|
+ 请尝试重新执行安装脚本
|
||||||
|
+ 请尝试使用 `wget` 命令代替 `curl` 命令
|
||||||
|
+ 升级失败
|
||||||
|
+ 检查网络状况与磁盘空间
|
||||||
|
+ 配置镜像地址
|
||||||
|
+ 尝试重新升级
|
||||||
|
+ 进行卸载重装
|
||||||
|
+ 多次升级依旧失败,请联系我们
|
||||||
|
+ 安装提示
|
||||||
|
+ `Error: /xxx/xxx/.env file does not exist`
|
||||||
|
+ 请手动创建 `.env` 文件,不需要填写任何内容的空文件
|
||||||
|
+ 重新点击安装
|
||||||
|
+ 前置检查
|
||||||
|
+ `前置检查` 是利用 `1Panel` 的应用特性,进行安装前的环境检查,如果您的环境不符合要求,将无法安装应用。
|
||||||
|
+ 关于 `前置检查` 依旧需要填写 `数据库` 相关连接信息,是因为其提供的能力并不是完全可靠,避免后期出现问题,我们采用持久化的方式存储。
|
||||||
|
+ 如果您的环境符合要求,但是依旧无法安装,请联系我们。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 温馨提示
|
||||||
|
|
||||||
|
安装应用前请查看应用说明,了解应用的使用方法和注意事项。
|
||||||
|
当前第三方库应用均为开源应用,我们不对应用的安全性和稳定性负责。
|
||||||
|
如果您在使用过程中遇到问题,请查看应用的官方文档或社区,或者联系我们。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 联系我们
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> <img src="https://file.lifebus.top/imgs/google_gmail_logo.png" alt="Gmail" width="30"/>
|
||||||
|
>
|
||||||
|
> [Gmail 邮箱](mailto:qyg2297248353@gmail.com)
|
||||||
|
>
|
||||||
|
> 通过邮箱反馈您所遇到的问题
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> <img src="https://file.lifebus.top/imgs/ms_studio_logo.png" alt="博客" width="30"/>
|
||||||
|
>
|
||||||
|
> [人生足迹 · 博客](https://blog.lifebus.top/)
|
||||||
|
> 技术分享的博客平台
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> <img src="https://file.lifebus.top/imgs/github_logo.png" alt="GitHub" width="30"/>
|
||||||
|
>
|
||||||
|
> [GitHub](https://github.com/QYG2297248353)
|
||||||
|
>
|
||||||
|
> 全球最大同性交友网站
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> <img src="https://file.lifebus.top/imgs/gitea_logo.png" alt="Gitea" width="30"/>
|
||||||
|
>
|
||||||
|
> [Gitea](https://git.lifebus.top/)
|
||||||
|
>
|
||||||
|
> 国内镜像发布仓库
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> <img src="https://file.lifebus.top/imgs/google_youtube_logo.png" alt="YouTube" width="30"/>
|
||||||
|
>
|
||||||
|
> [YouTube](https://www.youtube.com/@cn_ms_studio)
|
||||||
|
>
|
||||||
|
> Google旗下的视频分享网站
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> <img src="https://file.lifebus.top/imgs/twitter_x_logo.png" alt="Twitter" width="30"/>
|
||||||
|
>
|
||||||
|
> [Twitter](https://twitter.com/ms2297248353)
|
||||||
|
>
|
||||||
|
> X. 正在发生的事
|
88
.github/renovate.json
vendored
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||||
|
"extends": [
|
||||||
|
"config:base"
|
||||||
|
],
|
||||||
|
"enabledManagers": [
|
||||||
|
"docker-compose",
|
||||||
|
"github-actions"
|
||||||
|
],
|
||||||
|
"gitIgnoredAuthors": [
|
||||||
|
"githubaction@githubaction.com"
|
||||||
|
],
|
||||||
|
"rebaseWhen": "never",
|
||||||
|
"packageRules": [
|
||||||
|
{
|
||||||
|
"matchPackageNames": [
|
||||||
|
"actions/checkout",
|
||||||
|
"renovatebot/github-action"
|
||||||
|
],
|
||||||
|
"automerge": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matchFileNames": [
|
||||||
|
"apps/postgresql/pg*/*.yml"
|
||||||
|
],
|
||||||
|
"allowedVersions": "/^pg14*/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matchFileNames": [
|
||||||
|
"apps/postgresql/pg*/*.yml"
|
||||||
|
],
|
||||||
|
"allowedVersions": "/^pg15*/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matchFileNames": [
|
||||||
|
"apps/postgresql/pg*/*.yml"
|
||||||
|
],
|
||||||
|
"allowedVersions": "/^pg16*/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matchFileNames": [
|
||||||
|
"apps/redis/6.2.*/*.yml"
|
||||||
|
],
|
||||||
|
"allowedVersions": "/^6.2.*/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matchFileNames": [
|
||||||
|
"apps/redis/7.2.*/*.yml"
|
||||||
|
],
|
||||||
|
"allowedVersions": "/^7.2.*/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matchFileNames": [
|
||||||
|
"apps/mysql/5.7.*/*.yml"
|
||||||
|
],
|
||||||
|
"allowedVersions": "/^5.7.*/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matchFileNames": [
|
||||||
|
"apps/mysql/8.*/*.yml"
|
||||||
|
],
|
||||||
|
"allowedVersions": "/^8.*/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matchFileNames": [
|
||||||
|
"apps/qbittorrent/4.*.*/*.yml"
|
||||||
|
],
|
||||||
|
"allowedVersions": "/^4.*.*/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matchFileNames": [
|
||||||
|
"apps/transmission/4.*.*/*.yml"
|
||||||
|
],
|
||||||
|
"allowedVersions": "/^4.*.*/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matchPackageNames": [
|
||||||
|
"emby/embyserver"
|
||||||
|
],
|
||||||
|
"allowedVersions": "/^4\\.8\\.\\d+\\.\\d+$/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matchPackageNames": ["photoprism/photoprism"],
|
||||||
|
"versioning": "regex:^(\\d{2})(\\d{2})(\\d{2})$"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"prCreation": "immediate"
|
||||||
|
}
|
23
.github/workflows/push_custom_to_released.yml
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
name: Push custom to released
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 0 */3 * *'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
push-branch:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
ref: custom
|
||||||
|
|
||||||
|
- name: Push to released branch
|
||||||
|
run: |
|
||||||
|
git config --global user.name "${{ github.actor }}"
|
||||||
|
git config --global user.email "${{ github.actor }}@users.noreply.github.com"
|
||||||
|
git remote set-url origin https://x-access-token:${{ secrets.GITHUBTOKEN }}@github.com/${{ github.repository }}.git
|
||||||
|
git push origin custom:released --force
|
88
.github/workflows/renovate-app-version.sh
vendored
@ -4,23 +4,91 @@
|
|||||||
app_name=$1
|
app_name=$1
|
||||||
old_version=$2
|
old_version=$2
|
||||||
|
|
||||||
# find all docker-compose files under apps/$app_name (there should be only one)
|
# 定义关联数组,将应用名称与其对应的 keys 关联起来
|
||||||
|
declare -A app_keys
|
||||||
|
app_keys=(["immich"]="immich-server immich-machine-learning" ["stream-rec"]="stream-rec-backend stream-rec-frontend")
|
||||||
|
|
||||||
|
echo "Processing app: $app_name, old version: $old_version"
|
||||||
|
|
||||||
|
# Find all docker-compose files under apps/$app_name (there should be only one)
|
||||||
docker_compose_files=$(find apps/$app_name/$old_version -name docker-compose.yml)
|
docker_compose_files=$(find apps/$app_name/$old_version -name docker-compose.yml)
|
||||||
|
|
||||||
|
process_image() {
|
||||||
|
local image=$1
|
||||||
|
|
||||||
|
# Only apply changes if the format is <image>:<version>
|
||||||
|
if [[ "$image" == *":"* ]]; then
|
||||||
|
version=$(cut -d ":" -f2- <<< "$image")
|
||||||
|
|
||||||
|
echo "Extracted version: $version"
|
||||||
|
|
||||||
|
# Trim the "v" prefix
|
||||||
|
trimmed_version=${version/#"v"}
|
||||||
|
|
||||||
|
echo "Trimmed version: $trimmed_version"
|
||||||
|
|
||||||
|
# Remove any suffixes (like -ffmpeg) for versioning purposes
|
||||||
|
cleaned_version=$(echo $trimmed_version | grep -oE '^[0-9]+(\.[0-9]+){0,4}')
|
||||||
|
|
||||||
|
echo "Cleaned version: $cleaned_version"
|
||||||
|
|
||||||
|
# Handle special versions with dates and other formats
|
||||||
|
if [[ -z "$cleaned_version" && "$trimmed_version" =~ ^RELEASE\.[0-9]{4}-[0-9]{2}-[0-9]{2} ]]; then
|
||||||
|
# Handle minio version format RELEASE.YYYY-MM-DDTHH-MM-SSZ
|
||||||
|
cleaned_version=$(echo $trimmed_version | grep -oE '[0-9]{4}-[0-9]{2}-[0-9]{2}')
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Final version: $cleaned_version"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
for docker_compose_file in $docker_compose_files
|
for docker_compose_file in $docker_compose_files
|
||||||
do
|
do
|
||||||
# Assuming that the app version will be from the first docker image
|
echo "Processing docker-compose file: $docker_compose_file"
|
||||||
first_service=$(yq '.services | keys | .[0]' $docker_compose_file)
|
|
||||||
|
|
||||||
image=$(yq .services.$first_service.image $docker_compose_file)
|
# 判断 app_name 是否在关联数组中
|
||||||
|
if [[ -n "${app_keys[$app_name]}" ]]; then
|
||||||
|
echo "$app_name is in the app_keys list."
|
||||||
|
# 获取对应的 keys
|
||||||
|
IFS=' ' read -r -a keys <<< "${app_keys[$app_name]}"
|
||||||
|
for key in "${keys[@]}"; do
|
||||||
|
echo "Processing key: $key"
|
||||||
|
first_service=$(yq ".services | keys | .[] | select(. == \"$key\")" $docker_compose_file)
|
||||||
|
|
||||||
# Only apply changes if the format is <image>:<version>
|
if [[ -n "$first_service" ]]; then
|
||||||
if [[ "$image" == *":"* ]]; then
|
image=$(yq .services.$first_service.image $docker_compose_file)
|
||||||
version=$(cut -d ":" -f2- <<< "$image")
|
echo "Found image for service $first_service: $image"
|
||||||
|
|
||||||
# Trim the "v" prefix
|
# 进行后续处理
|
||||||
trimmed_version=${version/#"v"}
|
process_image "$image"
|
||||||
|
else
|
||||||
|
echo "Key $key not found in $docker_compose_file"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
mv apps/$app_name/$old_version apps/$app_name/$trimmed_version
|
# 在循环完毕后执行版本移动操作
|
||||||
|
if [[ -n "$cleaned_version" ]]; then
|
||||||
|
mv apps/$app_name/$old_version apps/$app_name/$cleaned_version
|
||||||
|
echo "Moved $old_version to $cleaned_version"
|
||||||
|
else
|
||||||
|
echo "Could not determine version for image: $image"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "$app_name is not in the app_keys list. Processing first service normally."
|
||||||
|
first_service=$(yq '.services | keys | .[0]' $docker_compose_file)
|
||||||
|
|
||||||
|
image=$(yq .services.$first_service.image $docker_compose_file)
|
||||||
|
echo "Found image: $image"
|
||||||
|
|
||||||
|
# 进行后续处理
|
||||||
|
process_image "$image"
|
||||||
|
|
||||||
|
# 在处理第一个服务后执行版本移动操作
|
||||||
|
if [[ -n "$cleaned_version" ]]; then
|
||||||
|
mv apps/$app_name/$old_version apps/$app_name/$cleaned_version
|
||||||
|
echo "Moved $old_version to $cleaned_version"
|
||||||
|
else
|
||||||
|
echo "Could not determine version for image: $image"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
56
.github/workflows/renovate-app-version.sh.bac
vendored
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# This script copies the version from docker-compose.yml to config.json.
|
||||||
|
|
||||||
|
app_name=$1
|
||||||
|
old_version=$2
|
||||||
|
|
||||||
|
echo "Processing app: $app_name, old version: $old_version"
|
||||||
|
|
||||||
|
# Find all docker-compose files under apps/$app_name (there should be only one)
|
||||||
|
docker_compose_files=$(find apps/$app_name/$old_version -name docker-compose.yml)
|
||||||
|
|
||||||
|
for docker_compose_file in $docker_compose_files
|
||||||
|
do
|
||||||
|
echo "Processing docker-compose file: $docker_compose_file"
|
||||||
|
|
||||||
|
# Assuming that the app version will be from the first docker image
|
||||||
|
first_service=$(yq '.services | keys | .[0]' $docker_compose_file)
|
||||||
|
|
||||||
|
image=$(yq .services.$first_service.image $docker_compose_file)
|
||||||
|
|
||||||
|
echo "Found image: $image"
|
||||||
|
|
||||||
|
# Only apply changes if the format is <image>:<version>
|
||||||
|
if [[ "$image" == *":"* ]]; then
|
||||||
|
version=$(cut -d ":" -f2- <<< "$image")
|
||||||
|
|
||||||
|
echo "Extracted version: $version"
|
||||||
|
|
||||||
|
# Trim the "v" prefix
|
||||||
|
trimmed_version=${version/#"v"}
|
||||||
|
|
||||||
|
echo "Trimmed version: $trimmed_version"
|
||||||
|
|
||||||
|
# Remove any suffixes (like -ffmpeg) for versioning purposes
|
||||||
|
cleaned_version=$(echo $trimmed_version | grep -oE '^[0-9]+(\.[0-9]+){0,4}')
|
||||||
|
|
||||||
|
echo "Cleaned version: $cleaned_version"
|
||||||
|
|
||||||
|
# Handle special versions with dates and other formats
|
||||||
|
if [[ -z "$cleaned_version" && "$trimmed_version" =~ ^RELEASE\.[0-9]{4}-[0-9]{2}-[0-9]{2} ]]; then
|
||||||
|
# Handle minio version format RELEASE.YYYY-MM-DDTHH-MM-SSZ
|
||||||
|
cleaned_version=$(echo $trimmed_version | grep -oE '[0-9]{4}-[0-9]{2}-[0-9]{2}')
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Final version: $cleaned_version"
|
||||||
|
|
||||||
|
# Move to the new versioned directory
|
||||||
|
if [[ -n "$cleaned_version" ]]; then
|
||||||
|
mv apps/$app_name/$old_version apps/$app_name/$cleaned_version
|
||||||
|
|
||||||
|
echo "Moved $old_version to $cleaned_version"
|
||||||
|
else
|
||||||
|
echo "Could not determine version for image: $image"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
7
.github/workflows/renovate-app-version.yml
vendored
@ -8,6 +8,7 @@ on:
|
|||||||
manual-trigger:
|
manual-trigger:
|
||||||
description: 'Manually trigger Renovate'
|
description: 'Manually trigger Renovate'
|
||||||
default: ''
|
default: ''
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
update-app-version:
|
update-app-version:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@ -26,15 +27,16 @@ jobs:
|
|||||||
id: updated-files
|
id: updated-files
|
||||||
run: |
|
run: |
|
||||||
echo "::set-output name=files::$(git diff-tree --no-commit-id --name-only -r ${{ github.sha }} | tr '\n' ' ')"
|
echo "::set-output name=files::$(git diff-tree --no-commit-id --name-only -r ${{ github.sha }} | tr '\n' ' ')"
|
||||||
|
echo "Updated files: ${{ steps.updated-files.outputs.files }}"
|
||||||
|
|
||||||
- name: Run renovate-app-version.sh on updated files
|
- name: Run renovate-app-version.sh on updated files
|
||||||
run: |
|
run: |
|
||||||
IFS=' ' read -ra files <<< "${{ steps.updated-files.outputs.files }}"
|
IFS=' ' read -ra files <<< "${{ steps.updated-files.outputs.files }}"
|
||||||
|
|
||||||
for file in "${files[@]}"; do
|
for file in "${files[@]}"; do
|
||||||
if [[ $file == *"docker-compose.yml"* ]]; then
|
if [[ $file == *"docker-compose.yml"* ]]; then
|
||||||
app_name=$(echo $file | cut -d'/' -f 2)
|
app_name=$(echo $file | cut -d'/' -f 2)
|
||||||
old_version=$(echo $file | cut -d'/' -f 3)
|
old_version=$(echo $file | cut -d'/' -f 3)
|
||||||
|
echo "Running script for app: $app_name, old version: $old_version"
|
||||||
chmod +x .github/workflows/renovate-app-version.sh
|
chmod +x .github/workflows/renovate-app-version.sh
|
||||||
.github/workflows/renovate-app-version.sh $app_name $old_version
|
.github/workflows/renovate-app-version.sh $app_name $old_version
|
||||||
fi
|
fi
|
||||||
@ -43,11 +45,10 @@ jobs:
|
|||||||
- name: Commit & Push Changes
|
- name: Commit & Push Changes
|
||||||
run: |
|
run: |
|
||||||
IFS=' ' read -ra files <<< "${{ steps.updated-files.outputs.files }}"
|
IFS=' ' read -ra files <<< "${{ steps.updated-files.outputs.files }}"
|
||||||
|
|
||||||
for file in "${files[@]}"; do
|
for file in "${files[@]}"; do
|
||||||
if [[ $file == *"docker-compose.yml"* ]]; then
|
if [[ $file == *"docker-compose.yml"* ]]; then
|
||||||
app_name=$(echo $file | cut -d'/' -f 2)
|
app_name=$(echo $file | cut -d'/' -f 2)
|
||||||
|
echo "Committing changes for app: $app_name"
|
||||||
git add "apps/$app_name/*" && git commit -m "Update app version [skip ci]" --no-verify && git push || true
|
git add "apps/$app_name/*" && git commit -m "Update app version [skip ci]" --no-verify && git push || true
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
4
.github/workflows/renovate.yml
vendored
@ -2,7 +2,7 @@ name: Renovate
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "0 0 * * *"
|
- cron: "0 * * * *"
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
manual-trigger:
|
manual-trigger:
|
||||||
@ -16,7 +16,7 @@ jobs:
|
|||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||||
- name: Run Renovate
|
- name: Run Renovate
|
||||||
uses: renovatebot/github-action@0c94129d48b4e92addf23686b8a735b3057a0448 # v40.2.5
|
uses: renovatebot/github-action@b266b24b144602ed4f512f0773009d026722f4cc # v40.2.6
|
||||||
with:
|
with:
|
||||||
useSlim: false
|
useSlim: false
|
||||||
token: ${{ secrets.GITHUBTOKEN }}
|
token: ${{ secrets.GITHUBTOKEN }}
|
||||||
|
145
Install-Readme.md
Normal file
@ -0,0 +1,145 @@
|
|||||||
|
# 应用制作说明
|
||||||
|
|
||||||
|
### 基础目录
|
||||||
|
|
||||||
|
`/app`
|
||||||
|
|
||||||
|
### 应用格式
|
||||||
|
|
||||||
|
```
|
||||||
|
├── app_name // 应用名称
|
||||||
|
├── logo.png // 应用 logo , 推荐 180 * 180 px
|
||||||
|
├── data.yml // 应用声明文件
|
||||||
|
├── README.md // 应用说明文档
|
||||||
|
├── 2.2.0 // 应用版本
|
||||||
|
│ ├── data.yml // 表单配置
|
||||||
|
| ├── scripts // 脚本目录
|
||||||
|
│ └── docker-compose.yml // docker-compose 文件
|
||||||
|
└── 2.3.2 // 应用版本
|
||||||
|
├── data.yml
|
||||||
|
├── data
|
||||||
|
└── docker-compose.yml
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 应用声明文件
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# 固定参数
|
||||||
|
additionalProperties:
|
||||||
|
# 应用的 key , 仅限英文
|
||||||
|
key: app_name
|
||||||
|
# 应用名称 显示名称
|
||||||
|
name: app_show_name
|
||||||
|
# 应用标签
|
||||||
|
tags:
|
||||||
|
# 参考 tags.yml
|
||||||
|
- WebSite
|
||||||
|
# 应用中文描述, 推荐 30 字以内
|
||||||
|
shortDescZh: 应用主要概述
|
||||||
|
# 应用英文描述
|
||||||
|
shortDescEn: Application main description
|
||||||
|
# 应用类型
|
||||||
|
type: website
|
||||||
|
# 跨大版本升级
|
||||||
|
crossVersionUpdate: true
|
||||||
|
# 安装限制, 0 代表无限制
|
||||||
|
limit: 0
|
||||||
|
# 官网地址
|
||||||
|
website: https://app.com
|
||||||
|
# 仓库地址
|
||||||
|
github: https://github.com/app/app
|
||||||
|
# 文档地址
|
||||||
|
document: https://docs.app.com
|
||||||
|
```
|
||||||
|
|
||||||
|
##### 应用类型
|
||||||
|
|
||||||
|
| type | 说明 |
|
||||||
|
|---------|--------------------------------------------------------|
|
||||||
|
| website | website 类型在 1Panel 中支持在网站中一键部署,wordpress halo 都是此 type |
|
||||||
|
| runtime | mysql openresty redis 等类型的应用 |
|
||||||
|
| tool | phpMyAdmin redis-commander jenkins 等类型的应用 |
|
||||||
|
|
||||||
|
#### 脚本目录
|
||||||
|
|
||||||
|
+ `scripts` 安装脚本文件
|
||||||
|
+ `init.sh` 安装前执行
|
||||||
|
+ `upgrade.sh` 升级前执行
|
||||||
|
+ `uninstall.sh` 卸载后执行
|
||||||
|
|
||||||
|
#### 表单配置
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# 固定参数
|
||||||
|
additionalProperties:
|
||||||
|
formFields:
|
||||||
|
# 默认值
|
||||||
|
- default: ""
|
||||||
|
# 安装后可修改
|
||||||
|
edit: true
|
||||||
|
# 是否禁用
|
||||||
|
disabled: false
|
||||||
|
# 环境变量 key
|
||||||
|
envKey: PANEL_DB_HOST
|
||||||
|
# 依赖应用 key
|
||||||
|
key: mysql
|
||||||
|
# 英文标签
|
||||||
|
labelEn: Database Service
|
||||||
|
# 中文标签
|
||||||
|
labelZh: 数据库服务
|
||||||
|
# 是否必填
|
||||||
|
required: true
|
||||||
|
# 依赖服务
|
||||||
|
type: service
|
||||||
|
# 是否在默认值基础上增加随机字符
|
||||||
|
random: true
|
||||||
|
# 校验规则
|
||||||
|
rule: paramCommon
|
||||||
|
# 下拉选择
|
||||||
|
- default: ""
|
||||||
|
envKey: LOG_LEVEL
|
||||||
|
labelEn: Log level
|
||||||
|
labelZh: 日志级别
|
||||||
|
required: true
|
||||||
|
type: select
|
||||||
|
values:
|
||||||
|
- label: DEBUG
|
||||||
|
value: "DEBUG"
|
||||||
|
- label: INFO
|
||||||
|
value: "INFO"
|
||||||
|
- label: WARNING
|
||||||
|
value: "WARNING"
|
||||||
|
- label: ERROR
|
||||||
|
value: "ERROR"
|
||||||
|
- label: CRITICAL
|
||||||
|
value: "CRITICAL"
|
||||||
|
# 端口效验
|
||||||
|
- default: 3306
|
||||||
|
envKey: PANEL_APP_PORT_DB
|
||||||
|
labelEn: Database port
|
||||||
|
labelZh: 数据库端口
|
||||||
|
rule: paramPort
|
||||||
|
type: number
|
||||||
|
```
|
||||||
|
|
||||||
|
##### 字段说明
|
||||||
|
|
||||||
|
+ `type` 字段类型
|
||||||
|
+ `service` 依赖服务
|
||||||
|
+ `password` 密码
|
||||||
|
+ `text` 文本
|
||||||
|
+ `number` 数字
|
||||||
|
+ `select` 下拉框
|
||||||
|
+ `rule` 校验规则
|
||||||
|
+ `paramPort` 用于限制端口范围为 1-65535
|
||||||
|
+ `paramCommon` 英文、数字、.-和_,长度2-30
|
||||||
|
+ `paramComplexity` 支持英文、数字、.%@$!&~_-,长度6-30,特殊字符不能在首尾
|
||||||
|
+ `paramExtUrl` 格式为 http(s)://(域名/ip):(端口)
|
||||||
|
+ `key` 特殊值
|
||||||
|
+ `PANEL_APP_PORT_HTTP` Web应用端口
|
||||||
|
+ `PANEL_APP_PORT_HTTPS` Web应用端口 SSL
|
||||||
|
+ `PANEL_APP_PORT` 前缀将认定为端口,并且用于安装前的端口占用校验
|
||||||
|
|
||||||
|
#### docker-compose.yml 文件
|
||||||
|
|
||||||
|
通过使用 `${envKey}` 获取`表单配置`中的值
|
356
README.md
@ -1,21 +1,353 @@
|
|||||||
# 1Panel 应用商店
|
# Docker 应用商店 - `1Panel` 版本
|
||||||
|
|
||||||
[1Panel](https://github.com/1Panel-dev/1Panel) 应用商店的官方存储库,包含了所有可以在 [1Panel](https://github.com/1Panel-dev/1Panel) 应用商店安装的应用程序。
|
本项目由 [`新疆萌森软件开发工作室`](https://lifebus.top/) 提供技术支持,我们致力于为 `1Panel` 应用商店用户提供更多的应用程序。
|
||||||
|
|
||||||
当前已上架的应用及其安装量信息请浏览:https://apps.fit2cloud.com/1panel
|
本仓库中的所有应用不会与 `1Panel` 官方应用商店冲突(存在相同应用并不影响后续的安装与升级,择优选择你需要的版本即可)
|
||||||
|
,我们会定期更新应用,如果您有任何问题,请联系我们。
|
||||||
|
|
||||||
1Panel 应用商店应用上架的标准:
|
---
|
||||||
|
|
||||||
- 知名且活跃的开源项目
|
<div style="border: 1px solid #e1e1e1; border-radius: 8px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); padding: 16px; margin: 16px; background-color: #fff; width: 80%; margin-left: auto; margin-right: auto;">
|
||||||
- 有相当规模的安装量
|
<h2 style="margin: 0 0 8px 0; font-size: 1.5em;">2024年07月29日 公告</h2>
|
||||||
- 官方提供 Docker 镜像
|
<p>版本 <span style="font-weight: bold; color: #d9534f;">v1.10.13-lts</span> 已经支持 <span style="font-weight: bold; color: #d9534f;">env_file</span> 文件,但是迫于稳定性考虑,我们依旧采用固定环境变量文件的方式解决问题。</p>
|
||||||
- 其他经过审核的项目
|
<p>近期我们上架了很多新应用,如果您有任何问题,请联系我们。</p>
|
||||||
|
<p>欢迎投稿,我们会根据您的需求,上架更多的应用。</p>
|
||||||
|
<p>🥰 <a href="https://blog.lifebus.top/" target="_blank" >新疆萌森软件开发工作室</a> 祝您生活愉快!</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
## 问题反馈
|
<div style="border: 1px solid #e1e1e1; border-radius: 8px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); padding: 16px; margin: 16px; background-color: #fff; width: 80%; margin-left: auto; margin-right: auto;">
|
||||||
|
<h2 style="margin: 0 0 8px 0; font-size: 1.5em;">2024年07月17日 公告</h2>
|
||||||
|
<p>正式开始维护,新老用户推荐使用<span style="font-weight: bold; color: #d9534f;">自动化脚本</span>完成软件订阅。</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
如果您在使用过程中遇到什么问题,或有进一步的需求需要反馈,请提交 GitHub Issue 到 [1Panel 项目的主仓库](https://github.com/1Panel-dev/1Panel/issues)
|
<div style="border: 1px solid #e1e1e1; border-radius: 8px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); padding: 16px; margin: 16px; background-color: #fff; width: 80%; margin-left: auto; margin-right: auto;">
|
||||||
|
<h2 style="margin: 0 0 8px 0; font-size: 1.5em;">2024年07月16日 公告</h2>
|
||||||
|
<p>为了解决应用安装问题,我们将在近期发布新的应用安装脚本,敬请期待!</p>
|
||||||
|
<p>具体上线应用,可以参考下方应用列表状态标识。</p>
|
||||||
|
<p>通过固定环境变量文件,解决应用安装问题,不再需要手动创建 <span style="font-weight: bold; color: #d9534f;">.env</span> 文件。</p>
|
||||||
|
<p>对于 <span style="font-weight: bold; color: #d9534f;">FIT2CLOUD 飞致云</span> 旗下开源产品 <span style="font-weight: bold; color: #d9534f;">1Panel</span> 经过多次商讨,依旧无法将原有问题解决。迫于无奈,这次我们采用迂回战术,通过固定环境变量文件的方式解决问题。</p>
|
||||||
|
<p>因此提高了维护成本,但相比于用户体验,我们认为这是值得的。简洁的 <span style="font-weight: bold; color: #d9534f;">docker-compose.yml</span> 才是我们的目标。</p>
|
||||||
|
<p>后续接入 <span style="font-weight: bold; color: #d9534f;">Dockge</span> 应用,将会迎来新的安装方式,敬请期待!</p>
|
||||||
|
<p>新老用户均可使用新的安装方式,升级或安装自动化脚本,无需卸载原有安装脚本。</p>
|
||||||
|
<p>由于结构变化,我们建议您,完全卸载应用后重新安装,以免出现问题。</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
## 制作本地应用
|
<div style="border: 1px solid #e1e1e1; border-radius: 8px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); padding: 16px; margin: 16px; background-color: #fff; width: 80%; margin-left: auto; margin-right: auto;">
|
||||||
|
<h2 style="margin: 0 0 8px 0; font-size: 1.5em;">2024年06月14日 公告</h2>
|
||||||
|
<p>由于 <span style="font-weight: bold; color: #d9534f;">1Panel</span> 的升级,自版本 <span style="font-weight: bold; color: #d9534f;">v1.10.10-lts</span> 开始,所有应用均已停止更新!</p>
|
||||||
|
<p>经过与 <span style="font-weight: bold; color: #d9534f;">1Panel</span> 官方商议,由于其认为安装或升级应用或面板出现的问题不属于 <span style="font-weight: bold; color: #d9534f;">Bug</span>,对于使用本仓库的用户,我们深感抱歉!</p>
|
||||||
|
<p>截至目前,我们将不再更新任何应用,如果您有任何问题,请放弃使用当前第三方应用。</p>
|
||||||
|
<p>如果您依旧收到应用更新提示,当前唯一解决升级方案为:卸载应用并重新安装。安装时出现的相关问题,请参考常见问题解决。</p>
|
||||||
|
<p>🥰 祝大家周末愉快~~</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
[如何提交自己想要的应用](https://github.com/1Panel-dev/appstore/wiki/%E5%A6%82%E4%BD%95%E6%8F%90%E4%BA%A4%E8%87%AA%E5%B7%B1%E6%83%B3%E8%A6%81%E7%9A%84%E5%BA%94%E7%94%A8)
|
<div style="border: 1px solid #e1e1e1; border-radius: 8px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); padding: 16px; margin: 16px; background-color: #fff; width: 80%; margin-left: auto; margin-right: auto;">
|
||||||
|
<h2 style="margin: 0 0 8px 0; font-size: 1.5em;">2024年06月12日 公告</h2>
|
||||||
|
<p>由于 <span style="font-weight: bold; color: #d9534f;">1Panel</span> 的升级,造成部分应用无法正常使用,我们考虑到用户体验,决定暂时关闭应用商店更新,等待团队商议解决方案。</p>
|
||||||
|
<h3>拟定解决方案</h3>
|
||||||
|
<ul style="padding-left: 20px;">
|
||||||
|
<li style="margin-bottom: 8px;">当您收到提示 <span style="font-weight: bold; color: #d9534f;">/xxx/xxx/.env</span> 文件不存在时,请手动创建该文件,不需要填写任何内容的空文件。</li>
|
||||||
|
<li style="margin-bottom: 8px;">当您升级 <span style="font-weight: bold; color: #d9534f;">1Panel</span> 出现容器不存在时,请查看容器列表是否正常运行,如果没有运行,可卸载应用并重新安装。</li>
|
||||||
|
<li style="margin-bottom: 8px;">当您升级 <span style="font-weight: bold; color: #d9534f;">1Panel</span> 出现应用无法正常使用时,请查看应用是否正常运行,如果没有运行,可卸载应用并重新安装。</li>
|
||||||
|
<li style="margin-bottom: 8px;">关闭期间,您可能会收到部分应用的更新,没有关系,您可以选择性更新,不会影响您的使用。</li>
|
||||||
|
<li style="margin-bottom: 8px;">由于数据均采用持久化方式存储,卸载应用不会删除数据,您可以放心卸载并重新安装。</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="border: 1px solid #e1e1e1; border-radius: 8px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); padding: 16px; margin: 16px; background-color: #fff; width: 80%; margin-left: auto; margin-right: auto;">
|
||||||
|
<h2 style="margin: 0 0 8px 0; font-size: 1.5em;">2024年06月09日 公告</h2>
|
||||||
|
<p><span style="font-weight: bold; color: #d9534f;">警告</span> 请勿升级 <span style="font-weight: bold; color: #d9534f;">1Panel</span> 到 <span style="font-weight: bold; color: #d9534f;">v1.10.10-lts</span> 版本,否则会导致应用商店无法使用!</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 维护状态
|
||||||
|
|
||||||
|
| 状态 | 图标 | 应用名称 | 应用官网 | 短的描述 | 集合 |
|
||||||
|
|:--:|:------------------------------------------------------------------------------------------------:|:-----------------------:|:-------------------------------------------------------------:|:---------------------------------------------------------------------|:-------:|
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/acg-faka/logo.png" width="22"/> | 异次元店铺系统 | https://faka.wiki/ | 二次元发卡系统 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/alist/logo.png" width="22"/> | AList | https://alist.nn.ci/ | 一款支持多重存储的文件列表程序 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/bark/logo.png" width="22"/> | Bark | https://bark.day.app/ | 一款注重隐私、安全可控的自定义通知推送工具 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/casdoor/logo.png" width="22"/> | Casdoor | https://casdoor.org/ | 身份和访问管理(IAM)/单点登录(SSO)平台 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/cookie-cloud/logo.png" width="22"/> | Cookie Cloud | https://github.com/easychen/CookieCloud/ | CookieCloud是一个和自架服务器同步浏览器Cookie和LocalStorage的小工具 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/deeplx/logo.png" width="22"/> | DeepLX | https://deeplx.owo.network/ | DeepL免费API(无需TOKEN) | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/dockge/logo.png" width="22"/> | Dockge | https://dockge.kuma.pet/ | 面向堆栈的管理器 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/dujiaoka/logo.png" width="22"/> | 独角数卡 | https://github.com/assimon/dujiaoka/ | 独角数卡(自动售货系统)-开源站长自动化售货解决方案、高效、稳定、快速 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/elastic-elasticsearch/logo.png" width="22"/> | Elasticsearch | https://www.elastic.co/elasticsearch/ | Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎 | Elastic |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/elastic-kibana/logo.png" width="22"/> | Kibana | https://www.elastic.co/kibana/ | Kibana 针对大规模数据快速运行数据分析 | Elastic |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/emby/logo.png" width="22"/> | Emby | https://emby.media/ | Emby Server 是一款个人媒体服务器,可在几乎所有设备上运行应用程序 | Emby |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/emby/logo.png" width="22"/> | Emby-lovechen | https://emby.media/ | 【开心版】Emby Server 是一款个人媒体服务器,可在几乎所有设备上运行应用程序 | Emby |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/ghost/logo.png" width="22"/> | Ghost | https://ghost.org/ | 用于现代出版、会员制、订阅和通讯的人博客系统 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/gitea/logo.png" width="22"/> | Gitea | https://gitea.io/ | 私有、快速、可靠的 DevOps 平台 | Gitea |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/gitea/logo.png" width="22"/> | Gitea Runner | https://gitea.io/ | 【Runner】私有、快速、可靠的 DevOps 平台 | Gitea |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/halo/logo.png" width="22"/> | Halo | https://halo.run/ | 强大易用的开源建站工具 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/iframely/logo.png" width="22"/> | Iframely | https://iframely.com/ | 响应式 Web 嵌入和 URL 元的 Iframely API | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/immich/logo.png" width="22"/> | Immich | https://immich.app/ | 【完整版本】高性能自托管照片和视频管理解决方案 | Immich |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/immich/logo.png" width="22"/> | Immich-Server | https://immich.app/ | 【主服务模块】高性能自托管照片和视频管理解决方案 | Immich |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/immich/logo.png" width="22"/> | Immich-Machine-Learning | https://immich.app/ | 【机器学习模块】高性能自托管照片和视频管理解决方案 | Immich |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/iyuu-plus/logo.png" width="22"/> | IYUU Plus | https://doc.iyuu.cn/ | 基于特征码的索引工具 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/iycms/logo.png" width="22"/> | 爱影CMS | https://www.iycms.com/ | 高性能高并发永久免费影视CMS | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/jellyfin/logo.png" width="22"/> | Jellyfin | https://jellyfin.org/ | 自由软件媒体系统 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/linkding/logo.png" width="22"/> | LinkDing | https://github.com/sissbruecker/linkding/ | 自托管书签管理器 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/mailserver/logo.png" width="22"/> | Docker Mailserver | https://docker-mailserver.github.io/docker-mailserver/latest/ | 可用于生产的全栈但简单的邮件服务器 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/minio/logo.png" width="22"/> | MinIO | https://min.io/ | MinIO 是一种高性能、兼容 S3 的对象存储 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/movie-pilot/logo.png" width="22"/> | MoviePilot | https://github.com/jxxghp/MoviePilot/ | NAS媒体库自动化管理工具 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/mysql/logo.png" width="22"/> | MySQL | https://www.mysql.com/ | 关系数据库管理系统 | MySQL |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/mariadb/logo.png" width="22"/> | MariaDB | https://mariadb.org/ | 【MySQL分支】创新的开源数据库 | MySQL |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/percona/logo.png" width="22"/> | Percona | https://www.percona.com/ | 【MySQL分支】关系数据库管理系统 | MySQL |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/nacos/logo.png" width="22"/> | Nacos | https://nacos.io/ | 动态服务发现、配置管理和服务管理平台 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/nezha/logo.png" width="22"/> | NeZha | https://nezha.wiki/ | 【哪吒监控】开源、轻量、易用的服务器监控、运维工具 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/nocodb/logo.png" width="22"/> | NocoDB | https://nocodb.com/ | 无代码数据库平台 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/onedev/logo.png" width="22"/> | OneDev | https://onedev.io/ | DevOps 平台、带有 CI/CD、看板和软件包的 Git 服务器 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/outline/logo.png" width="22"/> | OutLine | https://www.getoutline.com/ | 快速、协作的团队知识库 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/photoprism/logo.png" width="22"/> | PhotoPrism | https://www.photoprism.app/ | 面向去中心化网络的人工智能照片应用程序 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/pixman/logo.png" width="22"/> | Pixman | https://pixman.io/ | IPTV、M3U8 流媒体代理方案 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/postgresql/logo.png" width="22"/> | PostgreSQL | https://www.postgresql.org/ | 世界上最先进的开源关系数据库 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/qbittorrent/logo.png" width="22"/> | qBittorrent | https://www.qbittorrent.org/ | qBittorrent 比特流客户端 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/qinglong/logo.png" width="22"/> | 青龙 | https://github.com/whyour/qinglong/ | 【青龙】支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/reader3/logo.png" width="22"/> | 阅读3 | https://github.com/hectorqin/reader/ | 【阅读3】阅读3服务器版,不需要手机 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/redis/logo.png" width="22"/> | Redis | https://redis.io/ | 从世界上最快的内存数据库创建者那里获取该数据库 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/rsshub/logo.png" width="22"/> | RssHub | https://rsshub.app/ | 从任何内容生成 RSS/Atom/JSON 订阅源 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/sentinel/logo.png" width="22"/> | Sentinel | https://sentinelguard.io/ | 面向分布式、多语言异构化服务架构的流量治理组件 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/siyuan/logo.png" width="22"/> | 思源笔记 | https://b3log.org/siyuan/ | 【思源笔记】一款隐私优先、自托管、完全开源的个人知识管理软件 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/speedtest/logo.png" width="22"/> | SpeedTest | https://www.speedtest.net/ | 互联网速度测试 | |
|
||||||
|
| 🔴 | | SpeedTest-Tracker | https://docs.speedtest-tracker.dev/ | Speedtest Tracker 是一款自托管互联网性能跟踪应用程序,可针对 Ookla 的 Speedtest 服务运行速度测试检查 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/stream-rec/logo.png" width="22"/> | Stream-Rec | https://github.com/hua0512/stream-rec/ | Stream-rec是一个用于各种流媒体服务的自动流媒体录制工具 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/telegram-bot-api/logo.png" width="22"/> | Telegram Bot Api | https://telegram.org/ | 自建 Telegram Bot API 服务器 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/transmission/logo.png" width="22"/> | Transmission | https://transmissionbt.com/ | 快速、简单、免费的 Bittorrent 客户端 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/uptime-kuma/logo.png" width="22"/> | Uptime Kuma | https://uptime.kuma.pet/ | 自托管监控工具 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/umami/logo.png" width="22"/> | Umami | https://umami.is/ | 为速度和效率而构建的网站分析 | |
|
||||||
|
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/wiseflow/logo.png" width="22"/> | WiseFlow | https://github.com/TeamWiseFlow/wiseflow/ | Wiseflow 首席情报官 | |
|
||||||
|
| 🔴 | | Yarr | https://github.com/nkanaev/yarr | Rss 阅读器 | |
|
||||||
|
| 🔴 | | Ztncui | https://www.zerotier.com/ | 【自建服务端】ZeroTier 可让您构建几乎任何类型的现代化安全多点虚拟化网络 | |
|
||||||
|
|
||||||
|
> 说明:
|
||||||
|
>
|
||||||
|
> 以上排序不分先后,按照字母顺序排列。
|
||||||
|
>
|
||||||
|
> 维护状态:🟢 维护中 🔴 未维护 🟡 表示不定期维护
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 应用安装
|
||||||
|
|
||||||
|
> 温馨提示:
|
||||||
|
> 当您已安装其他第三方库时并且存在应用冲突,安装过程中会主动删除冲突的第三方库应用,如果您不同意,请不要执行脚本。
|
||||||
|
>
|
||||||
|
> 我们建议您在安装之前备份您的数据,或手动安装。
|
||||||
|
>
|
||||||
|
> 如果您不使用 `curl` 命令,可以使用 `wget` 命令代替。
|
||||||
|
>
|
||||||
|
> 将 `curl -sSL` 替换为 `wget -qO-` 即可。
|
||||||
|
|
||||||
|
### 自动化安装
|
||||||
|
|
||||||
|
一键式安装,无需手动操作,自动完成 1Panel应用 上架应用商店。
|
||||||
|
|
||||||
|
每三小时自动更新一次应用列表。
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl -sSL https://install.lifebus.top/auto_install.sh | bash
|
||||||
|
```
|
||||||
|
|
||||||
|
> 卸载自动化脚本 (不会卸载应用)
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl -sSL https://install.lifebus.top/auto_uninstall.sh | bash
|
||||||
|
```
|
||||||
|
|
||||||
|
如需卸载应用列表,您可以手动删除以下目录:
|
||||||
|
|
||||||
|
+ 应用目录:`${1panel应用目录}/resource/apps/local`
|
||||||
|
|
||||||
|
+ 应用公共文件目录:`/etc/1panel/envs`
|
||||||
|
|
||||||
|
+ 应用数据目录:`${应用持久化目录}`
|
||||||
|
|
||||||
|
### 手动安装模式
|
||||||
|
|
||||||
|
更新时机由自己把握,手动执行命令。
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl -sSL https://install.lifebus.top/app_install.sh | bash
|
||||||
|
```
|
||||||
|
|
||||||
|
### 计划任务模式
|
||||||
|
|
||||||
|
将内容写入Shell计划任务中,设定定期执行。
|
||||||
|
|
||||||
|
```sh
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 此处可以定义代理方案
|
||||||
|
|
||||||
|
script_url="https://install.lifebus.top/app_install.sh"
|
||||||
|
|
||||||
|
echo "Downloading and executing script from $script_url..."
|
||||||
|
bash <(curl -sL "$script_url")
|
||||||
|
|
||||||
|
echo "Script execution completed."
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 配置脚本网络代理
|
||||||
|
|
||||||
|
如果您的网络环境需要代理,请在脚本执行前配置代理。
|
||||||
|
|
||||||
|
可将以下脚本插入到 `计划任务模式` 的脚本中。
|
||||||
|
|
||||||
|
```sh
|
||||||
|
proxy_protocols="http"
|
||||||
|
proxy_server="server address"
|
||||||
|
proxy_port="server port"
|
||||||
|
export http_proxy="$proxy_protocols://$proxy_server:$proxy_port"
|
||||||
|
export https_proxy="$proxy_protocols://$proxy_server:$proxy_port"
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 安装 `Pre 尝鲜版` 应用
|
||||||
|
|
||||||
|
> 说明:
|
||||||
|
>
|
||||||
|
> `Pre 尝鲜版` 应用为测试版本,可能存在未知问题,我们建议您在测试环境中使用。
|
||||||
|
|
||||||
|
### 安装尝鲜版应用
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl -sSL https://install.lifebus.top/pre_app_install.sh | bash
|
||||||
|
```
|
||||||
|
|
||||||
|
### 卸载尝鲜版应用
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl -sSL https://install.lifebus.top/pre_app_uninstall.sh | bash
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 卸载所有本地应用
|
||||||
|
|
||||||
|
通过此脚本,您可以卸载所有本地应用,但是不会删除数据。
|
||||||
|
|
||||||
|
可能您的库中遗留了一些无用的应用,您可以通过此脚本进行清理。该脚本不影响 `自动化脚本` 的应用更新。
|
||||||
|
|
||||||
|
**此脚本必须`root`用户执行**
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl -sSL https://install.lifebus.top/local_app_uninstall.sh | bash
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 常见问题
|
||||||
|
|
||||||
|
+ 安装脚本提示
|
||||||
|
+ 没有权限
|
||||||
|
+ 请使用 `root` 用户执行脚本
|
||||||
|
+ `curl: command not found`
|
||||||
|
+ 请安装 `curl` 命令
|
||||||
|
+ `apt install curl -y`
|
||||||
|
+ `yum install curl -y`
|
||||||
|
+ 由于安装脚本的网络问题导致安装失败
|
||||||
|
+ 请检查网络状况
|
||||||
|
+ 请尝试重新执行安装脚本
|
||||||
|
+ 请尝试使用 `wget` 命令代替 `curl` 命令
|
||||||
|
+ 升级失败
|
||||||
|
+ 检查网络状况与磁盘空间
|
||||||
|
+ 配置镜像地址
|
||||||
|
+ 尝试重新升级
|
||||||
|
+ 进行卸载重装
|
||||||
|
+ 多次升级依旧失败,请联系我们
|
||||||
|
+ 安装提示
|
||||||
|
+ `Error: /xxx/xxx/.env file does not exist`
|
||||||
|
+ 请手动创建 `.env` 文件,不需要填写任何内容的空文件
|
||||||
|
+ 重新点击安装
|
||||||
|
+ 前置检查
|
||||||
|
+ `前置检查` 是利用 `1Panel` 的应用特性,进行安装前的环境检查,如果您的环境不符合要求,将无法安装应用。
|
||||||
|
+ 关于 `前置检查` 依旧需要填写 `数据库` 相关连接信息,是因为其提供的能力并不是完全可靠,避免后期出现问题,我们采用持久化的方式存储。
|
||||||
|
+ 如果您的环境符合要求,但是依旧无法安装,请联系我们。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 温馨提示
|
||||||
|
|
||||||
|
安装应用前请查看应用说明,了解应用的使用方法和注意事项。
|
||||||
|
当前第三方库应用均为开源应用,我们不对应用的安全性和稳定性负责。
|
||||||
|
如果您在使用过程中遇到问题,请查看应用的官方文档或社区,或者联系我们。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 联系我们
|
||||||
|
|
||||||
|
<a href="mailto:qyg2297248353@gmail.com" target="_blank" style="display: block; width: 300px; margin: 16px auto; padding: 16px; border: 1px solid #e1e1e1; border-radius: 8px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); background-color: #fff; text-decoration: none; color: #333;">
|
||||||
|
<div style="display: flex; align-items: center;">
|
||||||
|
<div style="width: 50px; height: 50px; border-radius: 50%; border: 2px solid #e1e1e1; overflow: hidden; margin-right: 16px; display: flex; align-items: center; justify-content: center;">
|
||||||
|
<img src="https://file.lifebus.top/imgs/google_gmail_logo.png" alt="Gmail 邮箱" width="32px" style="width: 32px; object-fit: contain;">
|
||||||
|
</div>
|
||||||
|
<div style="flex: 1;">
|
||||||
|
<div style="font-weight: bold;">Gmail 邮箱</div>
|
||||||
|
<div style="color: #555; font-size: 0.9em;">通过邮箱反馈您所遇到的问题</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a href="https://blog.lifebus.top/" target="_blank" style="display: block; width: 300px; margin: 16px auto; padding: 16px; border: 1px solid #e1e1e1; border-radius: 8px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); background-color: #fff; text-decoration: none; color: #333;">
|
||||||
|
<div style="display: flex; align-items: center;">
|
||||||
|
<div style="width: 50px; height: 50px; border-radius: 50%; border: 2px solid #e1e1e1; overflow: hidden; margin-right: 16px; display: flex; align-items: center; justify-content: center;">
|
||||||
|
<img src="https://file.lifebus.top/imgs/ms_studio_logo.png" alt="人生足迹 · 博客" width="32px" style="width: 32px; object-fit: contain;">
|
||||||
|
</div>
|
||||||
|
<div style="flex: 1;">
|
||||||
|
<div style="font-weight: bold;">人生足迹 · 博客</div>
|
||||||
|
<div style="color: #555; font-size: 0.9em;">技术分享的博客平台</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a href="https://github.com/QYG2297248353" target="_blank" style="display: block; width: 300px; margin: 16px auto; padding: 16px; border: 1px solid #e1e1e1; border-radius: 8px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); background-color: #fff; text-decoration: none; color: #333;">
|
||||||
|
<div style="display: flex; align-items: center;">
|
||||||
|
<div style="width: 50px; height: 50px; border-radius: 50%; border: 2px solid #e1e1e1; overflow: hidden; margin-right: 16px; display: flex; align-items: center; justify-content: center;">
|
||||||
|
<img src="https://file.lifebus.top/imgs/github_logo.png" alt="GitHub" width="32px" style="width: 32px; object-fit: contain;">
|
||||||
|
</div>
|
||||||
|
<div style="flex: 1;">
|
||||||
|
<div style="font-weight: bold;">GitHub</div>
|
||||||
|
<div style="color: #555; font-size: 0.9em;">全球最大同性交友网站</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a href="https://git.lifebus.top/" target="_blank" style="display: block; width: 300px; margin: 16px auto; padding: 16px; border: 1px solid #e1e1e1; border-radius: 8px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); background-color: #fff; text-decoration: none; color: #333;">
|
||||||
|
<div style="display: flex; align-items: center;">
|
||||||
|
<div style="width: 50px; height: 50px; border-radius: 50%; border: 2px solid #e1e1e1; overflow: hidden; margin-right: 16px; display: flex; align-items: center; justify-content: center;">
|
||||||
|
<img src="https://file.lifebus.top/imgs/gitea_logo.png" alt="Gitea" width="32px" style="width: 32px; object-fit: contain;">
|
||||||
|
</div>
|
||||||
|
<div style="flex: 1;">
|
||||||
|
<div style="font-weight: bold;">Gitea</div>
|
||||||
|
<div style="color: #555; font-size: 0.9em;">国内镜像发布仓库</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a href="https://www.youtube.com/@cn_ms_studio" target="_blank" style="display: block; width: 300px; margin: 16px auto; padding: 16px; border: 1px solid #e1e1e1; border-radius: 8px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); background-color: #fff; text-decoration: none; color: #333;">
|
||||||
|
<div style="display: flex; align-items: center;">
|
||||||
|
<div style="width: 50px; height: 50px; border-radius: 50%; border: 2px solid #e1e1e1; overflow: hidden; margin-right: 16px; display: flex; align-items: center; justify-content: center;">
|
||||||
|
<img src="https://file.lifebus.top/imgs/google_youtube_logo.png" alt="YouTube" width="32px" style="width: 32px; object-fit: contain;">
|
||||||
|
</div>
|
||||||
|
<div style="flex: 1;">
|
||||||
|
<div style="font-weight: bold;">YouTube</div>
|
||||||
|
<div style="color: #555; font-size: 0.9em;">Google旗下的视频分享网站</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a href="https://twitter.com/ms2297248353" target="_blank" style="display: block; width: 300px; margin: 16px auto; padding: 16px; border: 1px solid #e1e1e1; border-radius: 8px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); background-color: #fff; text-decoration: none; color: #333;">
|
||||||
|
<div style="display: flex; align-items: center;">
|
||||||
|
<div style="width: 50px; height: 50px; border-radius: 50%; border: 2px solid #e1e1e1; overflow: hidden; margin-right: 16px; display: flex; align-items: center; justify-content: center;">
|
||||||
|
<img src="https://file.lifebus.top/imgs/twitter_x_logo.png" alt="Twitter" width="32px" style="width: 32px; object-fit: contain;">
|
||||||
|
</div>
|
||||||
|
<div style="flex: 1;">
|
||||||
|
<div style="font-weight: bold;">Twitter</div>
|
||||||
|
<div style="color: #555; font-size: 0.9em;">X. 正在发生的事</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
@ -1,30 +0,0 @@
|
|||||||
additionalProperties:
|
|
||||||
formFields:
|
|
||||||
- default: 2FAuth
|
|
||||||
envKey: APP_NAME
|
|
||||||
labelEn: APP NAME
|
|
||||||
labelZh: 应用名称
|
|
||||||
required: true
|
|
||||||
type: text
|
|
||||||
- default: 8000
|
|
||||||
edit: true
|
|
||||||
envKey: PANEL_APP_PORT_HTTP
|
|
||||||
labelEn: Port
|
|
||||||
labelZh: 端口
|
|
||||||
required: true
|
|
||||||
rule: paramPort
|
|
||||||
type: number
|
|
||||||
- default: http://localhost:8000
|
|
||||||
edit: true
|
|
||||||
envKey: APP_URL
|
|
||||||
labelEn: APP URL
|
|
||||||
labelZh: 外部地址(可以添加为反向代理网站,并启用 HTTPS)
|
|
||||||
required: true
|
|
||||||
rule: paramExtUrl
|
|
||||||
type: text
|
|
||||||
- default: SomeRandomStringOf32CharsExactly
|
|
||||||
envKey: APP_KEY
|
|
||||||
labelEn: APP KEY
|
|
||||||
labelZh: 加密键
|
|
||||||
required: true
|
|
||||||
type: text
|
|
@ -1,27 +0,0 @@
|
|||||||
services:
|
|
||||||
2fauth:
|
|
||||||
image: 2fauth/2fauth:5.2.0
|
|
||||||
container_name: ${CONTAINER_NAME}
|
|
||||||
restart: always
|
|
||||||
ports:
|
|
||||||
- ${PANEL_APP_PORT_HTTP}:8000/tcp
|
|
||||||
networks:
|
|
||||||
- 1panel-network
|
|
||||||
volumes:
|
|
||||||
- ./data:/2fauth
|
|
||||||
environment:
|
|
||||||
- APP_NAME=${APP_NAME}
|
|
||||||
- APP_KEY=${APP_KEY}
|
|
||||||
- APP_URL=${APP_URL}
|
|
||||||
- IS_DEMO_APP=false
|
|
||||||
- LOG_CHANNEL=daily
|
|
||||||
- LOG_LEVEL=notice
|
|
||||||
- DB_DATABASE="/srv/database/database.sqlite"
|
|
||||||
- CACHE_DRIVER=file
|
|
||||||
- SESSION_DRIVER=file
|
|
||||||
- AUTHENTICATION_GUARD=web-guard
|
|
||||||
labels:
|
|
||||||
createdBy: "Apps"
|
|
||||||
networks:
|
|
||||||
1panel-network:
|
|
||||||
external: true
|
|
@ -1,3 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
chown -R 1000:1000 data
|
|
@ -1,12 +0,0 @@
|
|||||||
# 设置
|
|
||||||
|
|
||||||
## **启用 HTTPS**
|
|
||||||
|
|
||||||
- **创建应用**:外部地址填写 `https://2fauth.example.com`(请根据实际情况替换域名)。
|
|
||||||
- **创建反向代理网站**:代理地址填写 `http://127.0.0.1:8000`(请根据实际情况替换 IP 和端口)。
|
|
||||||
- **申请证书**:为 `2fauth.example.com` 创建证书,验证方式选择 HTTP 类型。
|
|
||||||
- **启用 HTTPS**:进入网站设置页面,点击 HTTPS,选择刚刚添加的证书并保存。
|
|
||||||
|
|
||||||
## **不启用 HTTPS**
|
|
||||||
|
|
||||||
- 如果不启用 HTTPS,会导致无法扫描二维码等问题。在这种情况下,外部地址可以直接填写 `http://192.168.10.100:8000`,无需进行反向代理设置。
|
|
@ -1,19 +0,0 @@
|
|||||||
name: 2FAuth
|
|
||||||
tags:
|
|
||||||
- 安全
|
|
||||||
title: 管理双因素身份验证(2FA)帐户并生成安全代码的 Web 应用程序
|
|
||||||
description: 管理双因素身份验证(2FA)帐户并生成安全代码的 Web 应用程序
|
|
||||||
additionalProperties:
|
|
||||||
key: 2fauth
|
|
||||||
name: 2FAuth
|
|
||||||
tags:
|
|
||||||
- Security
|
|
||||||
shortDescZh: 管理双因素身份验证(2FA)帐户并生成安全代码的 Web 应用程序
|
|
||||||
shortDescEn: A Web app to manage your Two-Factor Authentication (2FA) accounts and generate their security codes
|
|
||||||
type: tool
|
|
||||||
crossVersionUpdate: true
|
|
||||||
limit: 0
|
|
||||||
recommend: 0
|
|
||||||
website: https://docs.2fauth.app/
|
|
||||||
github: https://github.com/Bubka/2FAuth
|
|
||||||
document: https://docs.2fauth.app/
|
|
Before Width: | Height: | Size: 2.9 KiB |
17
apps/acg-faka/1.3.1/data.yml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
additionalProperties:
|
||||||
|
formFields:
|
||||||
|
- default: "/home/acg-faka"
|
||||||
|
edit: true
|
||||||
|
envKey: ACG_FAKA_ROOT_PATH
|
||||||
|
labelZh: 数据持久化路径
|
||||||
|
labelEn: Data persistence path
|
||||||
|
required: true
|
||||||
|
type: text
|
||||||
|
- default: 8080
|
||||||
|
edit: true
|
||||||
|
envKey: PANEL_APP_PORT_HTTP
|
||||||
|
labelZh: WebUI 端口
|
||||||
|
labelEn: WebUI port
|
||||||
|
required: true
|
||||||
|
rule: paramPort
|
||||||
|
type: number
|
@ -1,18 +1,20 @@
|
|||||||
services:
|
|
||||||
zentao:
|
|
||||||
image: hub.zentao.net/app/zentao:20.4
|
|
||||||
container_name: ${CONTAINER_NAME}
|
|
||||||
restart: always
|
|
||||||
ports:
|
|
||||||
- ${PANEL_APP_PORT_HTTP}:80
|
|
||||||
volumes:
|
|
||||||
- ./data:/data
|
|
||||||
environment:
|
|
||||||
- MYSQL_INTERNAL=true
|
|
||||||
networks:
|
|
||||||
- 1panel-network
|
|
||||||
labels:
|
|
||||||
createdBy: "Apps"
|
|
||||||
networks:
|
networks:
|
||||||
1panel-network:
|
1panel-network:
|
||||||
external: true
|
external: true
|
||||||
|
|
||||||
|
services:
|
||||||
|
acg-faka:
|
||||||
|
image: qyg2297248353/acg-faka:v1.3.1
|
||||||
|
container_name: ${CONTAINER_NAME}
|
||||||
|
labels:
|
||||||
|
createdBy: "Apps"
|
||||||
|
restart: always
|
||||||
|
networks:
|
||||||
|
- 1panel-network
|
||||||
|
ports:
|
||||||
|
- ${PANEL_APP_PORT_HTTP}:80
|
||||||
|
env_file:
|
||||||
|
- /etc/1panel/envs/global.env
|
||||||
|
- ${ENV_FILE:-/etc/1panel/envs/default.env}
|
||||||
|
volumes:
|
||||||
|
- ${ACG_FAKA_ROOT_PATH}/data:/var/www/html
|
15
apps/acg-faka/1.3.1/scripts/init.sh
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -f .env ]; then
|
||||||
|
source .env
|
||||||
|
|
||||||
|
# setup-1 add default values
|
||||||
|
CURRENT_DIR=$(pwd)
|
||||||
|
sed -i '/^ENV_FILE=/d' .env
|
||||||
|
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
|
||||||
|
|
||||||
|
echo "Check Finish."
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "Error: .env file not found."
|
||||||
|
fi
|
10
apps/acg-faka/1.3.1/scripts/uninstall.sh
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -f .env ]; then
|
||||||
|
source .env
|
||||||
|
|
||||||
|
echo "Check Finish."
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "Error: .env file not found."
|
||||||
|
fi
|
15
apps/acg-faka/1.3.1/scripts/upgrade.sh
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -f .env ]; then
|
||||||
|
source .env
|
||||||
|
|
||||||
|
# setup-1 add default values
|
||||||
|
CURRENT_DIR=$(pwd)
|
||||||
|
sed -i '/^ENV_FILE=/d' .env
|
||||||
|
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
|
||||||
|
|
||||||
|
echo "Check Finish."
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "Error: .env file not found."
|
||||||
|
fi
|
77
apps/acg-faka/README.md
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
# 异次元店铺系统
|
||||||
|
|
||||||
|
二次元发卡系统
|
||||||
|
|
||||||
|
![异次元店铺系统](https://file.lifebus.top/imgs/acg_faka_cover.png)
|
||||||
|
|
||||||
|
异次元店铺系统乃荔枝店铺系统3.0完全从0代码的重构版本,原生php开发,数据库底层使用Eloquent
|
||||||
|
ORM,模板渲染使用Smarty3.1以及PHP原生渲染,会话保持全程使用session。
|
||||||
|
|
||||||
|
![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue)
|
||||||
|
|
||||||
|
## 特性
|
||||||
|
|
||||||
|
+ 支付系统,拥有强悍的插件扩展能力,现目今已经支持全网任意平台,任意支付渠道。
|
||||||
|
+ 云更新,如果系统升级新版本,你无需进行繁琐操作,只需要在你的店铺后台就可以无缝完成升级。
|
||||||
|
+ 商品销售,支持商品配图、会员价、游客价、邮件通知、卡密预选(用户可以预选自己想购买的那个账号或者卡号)、API对接、强制登录购买、强悍的自定义控件功能、限时秒杀、批发优惠、优惠卷、等众多功能。
|
||||||
|
+ 分站系统,前台用户可以开通分站,分站可以独立运行,也可以卖主站商品,有点类似商业店铺了。
|
||||||
|
+ 会员系统,会员/商户融为一体,支持会员等级,以及商户等级完全自定义,以及商品可自定义会员等级对应价格。
|
||||||
|
+ 推广/代理系统,拥有三级分销返佣功能,注册账号即实现自动发展下级。
|
||||||
|
+ 共享店铺系统,可以在后台直接对接别人的店铺,通过扣除余额来进行无感知进货。
|
||||||
|
+ 应用商店,拥有众多插件以及模板,让你的店铺变得格外强大。
|
||||||
|
+ 界面美观,完美支持PC和手机,真正的内外二次元文化。
|
||||||
|
+ 强悍的扩展能力,你可以通过本程序在几分钟之内快速的实现你任意想实现的在线购物功能,例子如下:
|
||||||
|
+ 游戏方面,物品购买即时到玩家背包
|
||||||
|
+ 商业软件余额充值
|
||||||
|
+ 商业软件自动授权
|
||||||
|
+ 论坛/社区VIP自动开通
|
||||||
|
+ 只要你想得到,没有做不到。
|
||||||
|
|
||||||
|
## 环境说明
|
||||||
|
|
||||||
|
+ PHP 8.0+ (推荐使用PHP8.0)
|
||||||
|
+ MySQL 5.7+ (推荐使用MySQL8.0)
|
||||||
|
|
||||||
|
请自行安装 MySQL 并创建数据库,配置用户名和密码。
|
||||||
|
|
||||||
|
## 安装说明
|
||||||
|
|
||||||
|
> 首次启动将会检查环境,如果环境不满足要求将会提示错误信息。
|
||||||
|
>
|
||||||
|
> 第二步将会检查数据库连接,如果数据库连接失败将会提示错误信息。
|
||||||
|
>
|
||||||
|
> 第三步将会进行程序安装。
|
||||||
|
|
||||||
|
### 数据库填写
|
||||||
|
|
||||||
|
数据库主机端口非 3306 时,请按照以下格式填写:
|
||||||
|
`127.0.0.1:3306`
|
||||||
|
|
||||||
|
## 使用说明
|
||||||
|
|
||||||
|
> 管理员后台地址:`/admin.php`
|
||||||
|
|
||||||
|
### 支付配置
|
||||||
|
|
||||||
|
进入`支付管理`,在`支付插件`中点击`获取更多插件`,搜索 `支付宝` 等关键词,进行安装,然后进入支付配置,填写支付宝的相关配置,保存即可。
|
||||||
|
|
||||||
|
进入`支付管理`,在`支付接口` 中点击`添加支付接口`,选择支付插件,填写相关配置,保存即可。默认安装会存在一些不可用支付接口配置,删除即可,不影响使用。
|
||||||
|
|
||||||
|
余额支付接口是系统默认的支付接口,不可删除,如果你的店铺需要余额支付,请确保余额支付接口是启用状态。
|
||||||
|
|
||||||
|
## 版本计划
|
||||||
|
|
||||||
|
| 版本 | 状态 | 积极支持截止时间 | 安全维护截止时间 | 发布或预计发布时间 |
|
||||||
|
|-----|-------|------------|------------|------------|
|
||||||
|
| 4.0 | 积极内测中 | - | - | 2024-08-20 |
|
||||||
|
| 3.0 | 安全支持 | 2024-08-20 | 长期 | 2022-06-20 |
|
||||||
|
| 2.0 | 停止维护 | 2020-07-21 | 2020-12-31 | 2020-07-21 |
|
||||||
|
| 1.0 | 停止维护 | 2020-07-17 | 2020-12-31 | 2020-07-17 |
|
||||||
|
|
||||||
|
- 积极支持将包含常规迭代周期的 BUG 修复、安全问题修复、功能迭代和功能新增;
|
||||||
|
- 安全维护仅包含安全问题的修复;
|
||||||
|
- 停止维护状态的版本将不会再进行任何的代码变更,请尽快根据升级指南升级到最新的版本以便得到更好的支持;
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png)
|
18
apps/acg-faka/data.yml
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
name: 异次元店铺系统
|
||||||
|
title: 异次元店铺系统
|
||||||
|
description: 二次元发卡系统
|
||||||
|
additionalProperties:
|
||||||
|
key: acg-faka
|
||||||
|
name: 异次元店铺系统
|
||||||
|
tags:
|
||||||
|
- WebSite
|
||||||
|
- Tool
|
||||||
|
- Local
|
||||||
|
shortDescZh: 二次元发卡系统
|
||||||
|
shortDescEn: Secondary Card Issuing System
|
||||||
|
type: website
|
||||||
|
crossVersionUpdate: true
|
||||||
|
limit: 0
|
||||||
|
website: https://faka.wiki/
|
||||||
|
github: https://github.com/lizhipay/acg-faka/
|
||||||
|
document: https://faka.wiki/
|
BIN
apps/acg-faka/logo.png
Normal file
After Width: | Height: | Size: 7.8 KiB |
@ -1,31 +0,0 @@
|
|||||||
additionalProperties:
|
|
||||||
formFields:
|
|
||||||
- default: http://1.2.3.4:3000
|
|
||||||
edit: true
|
|
||||||
envKey: GITEA_INSTANCE_URL
|
|
||||||
labelEn: Gitea Instance
|
|
||||||
labelZh: Gitea 实例
|
|
||||||
required: true
|
|
||||||
rule: paramExtUrl
|
|
||||||
type: text
|
|
||||||
- default: '<registration_token>'
|
|
||||||
edit: true
|
|
||||||
envKey: RUNNER_REGISTRATION_TOKEN
|
|
||||||
labelEn: Registration Token
|
|
||||||
labelZh: Registration Token
|
|
||||||
required: true
|
|
||||||
type: text
|
|
||||||
- default: '<runner_name>'
|
|
||||||
edit: true
|
|
||||||
envKey: RUNNER_NAME
|
|
||||||
labelEn: Runner Name
|
|
||||||
labelZh: Runner Name
|
|
||||||
required: true
|
|
||||||
type: text
|
|
||||||
- default: '<runner_labels>'
|
|
||||||
edit: true
|
|
||||||
envKey: RUNNER_LABELS
|
|
||||||
labelEn: Runner Labels
|
|
||||||
labelZh: Runner Labels
|
|
||||||
required: true
|
|
||||||
type: text
|
|
@ -1,22 +0,0 @@
|
|||||||
services:
|
|
||||||
act_runner:
|
|
||||||
image: gitea/act_runner:0.2.10
|
|
||||||
container_name: ${CONTAINER_NAME}
|
|
||||||
restart: always
|
|
||||||
networks:
|
|
||||||
- 1panel-network
|
|
||||||
volumes:
|
|
||||||
#- ./data/config.yaml:/config.yaml # 可选配置
|
|
||||||
- ./data/data:/data
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
environment:
|
|
||||||
#- CONFIG_FILE=/config.yaml
|
|
||||||
- GITEA_INSTANCE_URL=${GITEA_INSTANCE_URL}
|
|
||||||
- GITEA_RUNNER_REGISTRATION_TOKEN=${RUNNER_REGISTRATION_TOKEN}
|
|
||||||
- GITEA_RUNNER_NAME=${RUNNER_NAME}
|
|
||||||
- GITEA_RUNNER_LABELS=${RUNNER_LABELS}
|
|
||||||
labels:
|
|
||||||
createdBy: "Apps"
|
|
||||||
networks:
|
|
||||||
1panel-network:
|
|
||||||
external: true
|
|
@ -1,12 +0,0 @@
|
|||||||
# act runner
|
|
||||||
|
|
||||||
**Act runner** 是一个基于 [Gitea fork](https://gitea.com/gitea/act) 的 [Gitea](https://github.com/nektos/act) 上的运行器。
|
|
||||||
|
|
||||||
## 如何获取 RUNNER_REGISTRATION_TOKEN
|
|
||||||
|
|
||||||
1. 登录到您的 Gitea 实例。
|
|
||||||
2. 转到您存储仓库的页面。
|
|
||||||
3. 点击页面上方的 "Settings"(设置)。
|
|
||||||
4. 在左侧菜单中选择 "Actions"(操作)。
|
|
||||||
5. 您将在页面上看到 "Runners"(运行器)部分。在这里,您应该能够找到一个 "New Runner"(创建 Runner)按钮。
|
|
||||||
6. 点击 "New Runner"(创建 Runner)按钮,您将获得一个 RUNNER_REGISTRATION_TOKEN,复制它并妥善保存。
|
|
@ -1,19 +0,0 @@
|
|||||||
name: Act Runner
|
|
||||||
tags:
|
|
||||||
- DevOps
|
|
||||||
title: Gitea Actions 的 Runner
|
|
||||||
description: Gitea Actions 的 Runner
|
|
||||||
additionalProperties:
|
|
||||||
key: act_runner
|
|
||||||
name: Act Runner
|
|
||||||
tags:
|
|
||||||
- DevOps
|
|
||||||
shortDescZh: Gitea Actions 的 Runner
|
|
||||||
shortDescEn: A runner for Gitea based on Gitea fork of act
|
|
||||||
type: tool
|
|
||||||
crossVersionUpdate: true
|
|
||||||
limit: 0
|
|
||||||
recommend: 0
|
|
||||||
website: https://gitea.com/gitea/act_runner
|
|
||||||
github: https://gitea.com/gitea/act_runner
|
|
||||||
document: https://docs.gitea.com/next/usage/actions/act-runner
|
|
Before Width: | Height: | Size: 6.9 KiB |
@ -1,82 +0,0 @@
|
|||||||
additionalProperties:
|
|
||||||
formFields:
|
|
||||||
- default: 23000
|
|
||||||
edit: true
|
|
||||||
envKey: PANEL_APP_PORT_HTTP_1
|
|
||||||
labelEn: HTTP web port
|
|
||||||
labelZh: HTTP 网页端口
|
|
||||||
required: true
|
|
||||||
rule: paramPort
|
|
||||||
type: number
|
|
||||||
- default: 23001
|
|
||||||
edit: true
|
|
||||||
envKey: PANEL_APP_PORT_HTTP
|
|
||||||
labelEn: Initial setup web page port
|
|
||||||
labelZh: 初始设置网页端口
|
|
||||||
required: true
|
|
||||||
rule: paramPort
|
|
||||||
type: number
|
|
||||||
- default: 20053
|
|
||||||
edit: true
|
|
||||||
envKey: PANEL_APP_PORT_DNS
|
|
||||||
labelEn: Plain DNS port
|
|
||||||
labelZh: 普通 DNS 端口
|
|
||||||
required: true
|
|
||||||
rule: paramPort
|
|
||||||
type: number
|
|
||||||
- default: 20067
|
|
||||||
edit: true
|
|
||||||
envKey: PANEL_APP_PORT_DHCP_1
|
|
||||||
labelEn: DHCP service port 1
|
|
||||||
labelZh: DHCP 服务端口 1
|
|
||||||
required: true
|
|
||||||
rule: paramPort
|
|
||||||
type: number
|
|
||||||
- default: 20068
|
|
||||||
edit: true
|
|
||||||
envKey: PANEL_APP_PORT_DHCP_2
|
|
||||||
labelEn: DHCP service port 2
|
|
||||||
labelZh: DHCP 服务端口 2
|
|
||||||
required: true
|
|
||||||
rule: paramPort
|
|
||||||
type: number
|
|
||||||
- default: 20443
|
|
||||||
edit: true
|
|
||||||
envKey: PANEL_APP_PORT_DOH
|
|
||||||
labelEn: DOH service port
|
|
||||||
labelZh: DOH 服务端口
|
|
||||||
required: true
|
|
||||||
rule: paramPort
|
|
||||||
type: number
|
|
||||||
- default: 853
|
|
||||||
edit: true
|
|
||||||
envKey: PANEL_APP_PORT_DOT
|
|
||||||
labelEn: DOT service port
|
|
||||||
labelZh: DOT 服务端口
|
|
||||||
required: true
|
|
||||||
rule: paramPort
|
|
||||||
type: number
|
|
||||||
- default: 20784
|
|
||||||
edit: true
|
|
||||||
envKey: PANEL_APP_PORT_QUIC_1
|
|
||||||
labelEn: QUIC service port 1
|
|
||||||
labelZh: QUIC 服务端口 1
|
|
||||||
required: true
|
|
||||||
rule: paramPort
|
|
||||||
type: number
|
|
||||||
- default: 8853
|
|
||||||
edit: true
|
|
||||||
envKey: PANEL_APP_PORT_QUIC_2
|
|
||||||
labelEn: QUIC service port 2
|
|
||||||
labelZh: QUIC 服务端口 2
|
|
||||||
required: true
|
|
||||||
rule: paramPort
|
|
||||||
type: number
|
|
||||||
- default: 5443
|
|
||||||
edit: true
|
|
||||||
envKey: PANEL_APP_PORT_DNS_CRYPT
|
|
||||||
labelEn: DNS Crypt service port
|
|
||||||
labelZh: DNS Crypt 服务端口
|
|
||||||
required: true
|
|
||||||
rule: paramPort
|
|
||||||
type: number
|
|
@ -1,30 +0,0 @@
|
|||||||
services:
|
|
||||||
adguardhome:
|
|
||||||
container_name: ${CONTAINER_NAME}
|
|
||||||
restart: always
|
|
||||||
networks:
|
|
||||||
- 1panel-network
|
|
||||||
ports:
|
|
||||||
- ${PANEL_APP_PORT_DNS}:53/tcp
|
|
||||||
- ${PANEL_APP_PORT_DNS}:53/udp
|
|
||||||
- ${PANEL_APP_PORT_DHCP_1}:67/udp
|
|
||||||
- ${PANEL_APP_PORT_DHCP_2}:68/udp
|
|
||||||
- ${PANEL_APP_PORT_HTTP_1}:80/tcp
|
|
||||||
- ${PANEL_APP_PORT_DOH}:443/tcp
|
|
||||||
- ${PANEL_APP_PORT_DOH}:443/udp
|
|
||||||
- ${PANEL_APP_PORT_HTTP}:3000/tcp
|
|
||||||
- ${PANEL_APP_PORT_DOT}:853/tcp
|
|
||||||
- ${PANEL_APP_PORT_QUIC_1}:784/udp
|
|
||||||
- ${PANEL_APP_PORT_DOT}:853/udp
|
|
||||||
- ${PANEL_APP_PORT_QUIC_2}:8853/udp
|
|
||||||
- ${PANEL_APP_PORT_DNS_CRYPT}:5443/tcp
|
|
||||||
- ${PANEL_APP_PORT_DNS_CRYPT}:5443/udp
|
|
||||||
volumes:
|
|
||||||
- ./data/work:/opt/adguardhome/work
|
|
||||||
- ./data/conf:/opt/adguardhome/conf
|
|
||||||
image: adguard/adguardhome:v0.107.52
|
|
||||||
labels:
|
|
||||||
createdBy: "Apps"
|
|
||||||
networks:
|
|
||||||
1panel-network:
|
|
||||||
external: true
|
|
@ -1,13 +0,0 @@
|
|||||||
# AdGuard Home
|
|
||||||
|
|
||||||
AdGuard Home 是一款开源的网络广告拦截和隐私保护工具,它可以用于在家庭网络中过滤广告、跟踪器和恶意网站,提供更安全、更清洁的上网体验。
|
|
||||||
|
|
||||||
## 主要功能:
|
|
||||||
|
|
||||||
- **广告拦截:** AdGuard Home 可以阻止网页中的广告,包括图像广告、文本广告和视频广告,使用户在浏览网页时不再受到广告的干扰。
|
|
||||||
- **跟踪器拦截:** 它还能够阻止网站使用跟踪器来跟踪您的在线活动,从而提高隐私保护水平,减少个人信息的泄露风险。
|
|
||||||
- **恶意网站拦截:** AdGuard Home 会检测并拦截访问恶意网站的尝试,从而提供更好的网络安全性,防止用户访问可能包含恶意软件或欺诈活动的网站。
|
|
||||||
- **家庭保护:** 您可以在家庭网络中使用 AdGuard Home 来保护所有连接到同一网络的设备,包括计算机、手机、平板电脑和智能家居设备,以确保所有设备都受到广告和恶意网站的保护。
|
|
||||||
- **自定义规则:** 用户可以根据自己的需求创建自定义规则,以进一步控制广告拦截和过滤功能,例如允许或阻止特定网站或内容。
|
|
||||||
- **DNS拦截:** AdGuard Home 通过拦截DNS请求来工作,这意味着它可以在网络层面上拦截广告和恶意内容,而无需在每个设备上安装单独的应用程序或浏览器插件。
|
|
||||||
- **统计和日志:** AdGuard Home 提供详细的统计信息和日志,让用户了解网络流量的情况,包括广告拦截的数量和效果,以及恶意网站拦截的情况。
|
|
@ -1,18 +0,0 @@
|
|||||||
name: AdGuardHome
|
|
||||||
tags:
|
|
||||||
- 安全
|
|
||||||
title: 网络范围内的广告和跟踪器阻止 DNS 服务器
|
|
||||||
description: 网络范围内的广告和跟踪器阻止 DNS 服务器
|
|
||||||
additionalProperties:
|
|
||||||
key: adguardhome
|
|
||||||
name: AdGuardHome
|
|
||||||
tags:
|
|
||||||
- Security
|
|
||||||
shortDescZh: 网络范围内的广告和跟踪器阻止 DNS 服务器
|
|
||||||
shortDescEn: Network-wide ads & trackers blocking DNS server
|
|
||||||
type: tool
|
|
||||||
crossVersionUpdate: true
|
|
||||||
limit: 0
|
|
||||||
website: https://adguard.com/adguard-home.html
|
|
||||||
github: https://github.com/AdguardTeam/AdGuardHome
|
|
||||||
document: https://github.com/AdguardTeam/AdGuardHome/wiki
|
|
Before Width: | Height: | Size: 2.7 KiB |
@ -1,10 +0,0 @@
|
|||||||
additionalProperties:
|
|
||||||
formFields:
|
|
||||||
- default: 9853
|
|
||||||
edit: true
|
|
||||||
envKey: PANEL_APP_PORT_HTTP
|
|
||||||
labelEn: Port
|
|
||||||
labelZh: 端口
|
|
||||||
required: true
|
|
||||||
rule: paramPort
|
|
||||||
type: number
|
|
@ -1,14 +0,0 @@
|
|||||||
services:
|
|
||||||
adminer:
|
|
||||||
image: adminer:4.8.1-standalone
|
|
||||||
container_name: ${CONTAINER_NAME}
|
|
||||||
restart: always
|
|
||||||
networks:
|
|
||||||
- 1panel-network
|
|
||||||
ports:
|
|
||||||
- ${PANEL_APP_PORT_HTTP}:8080
|
|
||||||
labels:
|
|
||||||
createdBy: "Apps"
|
|
||||||
networks:
|
|
||||||
1panel-network:
|
|
||||||
external: true
|
|
@ -1,17 +0,0 @@
|
|||||||
# Adminer
|
|
||||||
|
|
||||||
Adminer 是一个轻量级的数据库管理工具,它允许用户通过简单的Web界面来管理各种类型的数据库,包括MySQL、PostgreSQL、SQLite等。
|
|
||||||
|
|
||||||
## 主要功能:
|
|
||||||
|
|
||||||
- **跨数据库支持**:Adminer支持多种数据库系统,使您可以在一个统一的界面下管理不同类型的数据库。
|
|
||||||
- **简单易用**:Adminer拥有直观的用户界面,无需复杂的安装或配置过程,即可快速上手。
|
|
||||||
- **数据查询和编辑**:您可以通过Adminer执行SQL查询,查看和编辑数据库中的数据。支持自定义SQL命令。
|
|
||||||
- **表格结构管理**:Adminer允许您创建、修改和删除表格,定义字段、主键和索引等。
|
|
||||||
- **导入和导出**:可以轻松导入和导出数据,支持多种数据格式,如SQL、CSV和Excel等。
|
|
||||||
- **数据库备份**:Adminer允许您创建数据库备份,以确保数据的安全性和可恢复性。
|
|
||||||
- **权限管理**:您可以管理数据库用户和权限,控制谁可以访问和修改数据库。
|
|
||||||
- **查询历史**:Adminer保存您执行的查询历史,方便后续查看和重复执行。
|
|
||||||
- **多语言支持**:Adminer提供多种语言界面,以适应不同用户的需求。
|
|
||||||
- **自定义外观**:支持自定义主题和界面样式,以使Adminer适应您的个人偏好。
|
|
||||||
- **开源和免费**:Adminer是开源软件,可免费使用和自定义。
|
|
@ -1,19 +0,0 @@
|
|||||||
name: Adminer
|
|
||||||
tags:
|
|
||||||
- 开发工具
|
|
||||||
title: PHP 轻量级数据库管理工具
|
|
||||||
description: PHP 轻量级数据库管理工具
|
|
||||||
additionalProperties:
|
|
||||||
key: adminer
|
|
||||||
name: Adminer
|
|
||||||
tags:
|
|
||||||
- DevTool
|
|
||||||
shortDescZh: PHP 轻量级数据库管理工具
|
|
||||||
shortDescEn: Database management in a single PHP file
|
|
||||||
type: tool
|
|
||||||
crossVersionUpdate: false
|
|
||||||
limit: 1
|
|
||||||
recommend: 0
|
|
||||||
website: https://www.adminer.org/
|
|
||||||
github: https://github.com/xiahao90/adminer
|
|
||||||
document: https://github.com/xiahao90/adminer
|
|
Before Width: | Height: | Size: 2.5 KiB |
74
apps/alist-aria2/3.36.0/data.yml
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
additionalProperties:
|
||||||
|
formFields:
|
||||||
|
- default: "/home/alist"
|
||||||
|
edit: true
|
||||||
|
envKey: ALIST_ROOT_PATH
|
||||||
|
labelZh: 数据持久化路径
|
||||||
|
labelEn: Data persistence path
|
||||||
|
required: true
|
||||||
|
type: text
|
||||||
|
- default: 5244
|
||||||
|
edit: true
|
||||||
|
envKey: PANEL_APP_PORT_HTTP
|
||||||
|
labelZh: WebUI 端口
|
||||||
|
labelEn: WebUI port
|
||||||
|
required: true
|
||||||
|
rule: paramPort
|
||||||
|
type: number
|
||||||
|
- default: ""
|
||||||
|
edit: true
|
||||||
|
envKey: JWT_SECRET
|
||||||
|
labelZh: 加密密钥
|
||||||
|
labelEn: Encryption key
|
||||||
|
required: false
|
||||||
|
type: password
|
||||||
|
- default: ""
|
||||||
|
edit: true
|
||||||
|
envKey: SITE_URL
|
||||||
|
labelZh: 站点 URL
|
||||||
|
labelEn: Site URL
|
||||||
|
required: false
|
||||||
|
rule: paramExtUrl
|
||||||
|
type: text
|
||||||
|
- default: 48
|
||||||
|
edit: true
|
||||||
|
envKey: TOKEN_EXPIRES_IN
|
||||||
|
labelZh: 登录过期时间 (小时)
|
||||||
|
labelEn: Login expiration time (hours)
|
||||||
|
required: true
|
||||||
|
type: number
|
||||||
|
- default: 0
|
||||||
|
edit: true
|
||||||
|
envKey: DELAYED_START
|
||||||
|
labelZh: 延时启动 (秒)
|
||||||
|
labelEn: Delayed start (seconds)
|
||||||
|
required: true
|
||||||
|
type: number
|
||||||
|
- default: 0
|
||||||
|
edit: true
|
||||||
|
envKey: max_connections
|
||||||
|
labelZh: 最大连接数
|
||||||
|
labelEn: Maximum connections
|
||||||
|
required: true
|
||||||
|
type: number
|
||||||
|
- default: ""
|
||||||
|
edit: true
|
||||||
|
envKey: CUSTOM_MOUNT_DIRECTORY_1
|
||||||
|
labelEn: Custom mount directory 1
|
||||||
|
labelZh: 自定义挂载目录 1
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
|
- default: ""
|
||||||
|
edit: true
|
||||||
|
envKey: CUSTOM_MOUNT_DIRECTORY_2
|
||||||
|
labelEn: Custom mount directory 2
|
||||||
|
labelZh: 自定义挂载目录 2
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
|
- default: ""
|
||||||
|
edit: true
|
||||||
|
envKey: CUSTOM_MOUNT_DIRECTORY_3
|
||||||
|
labelEn: Custom mount directory 3
|
||||||
|
labelZh: 自定义挂载目录 3
|
||||||
|
required: false
|
||||||
|
type: text
|
27
apps/alist-aria2/3.36.0/docker-compose.yml
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
networks:
|
||||||
|
1panel-network:
|
||||||
|
external: true
|
||||||
|
services:
|
||||||
|
alist-aria2:
|
||||||
|
image: xhofe/alist-aria2:v3.36.0
|
||||||
|
container_name: ${CONTAINER_NAME}
|
||||||
|
labels:
|
||||||
|
createdBy: "Apps"
|
||||||
|
restart: always
|
||||||
|
networks:
|
||||||
|
- 1panel-network
|
||||||
|
ports:
|
||||||
|
- ${PANEL_APP_PORT_HTTP}:5244
|
||||||
|
env_file:
|
||||||
|
- /etc/1panel/envs/global.env
|
||||||
|
- ${ENV_FILE:-/etc/1panel/envs/default.env}
|
||||||
|
volumes:
|
||||||
|
- ${ALIST_ROOT_PATH}/data:/opt/alist/data
|
||||||
|
- ${CUSTOM_MOUNT_DIRECTORY_1:-./default_mount_1}:${CUSTOM_MOUNT_DIRECTORY_1:-/default_mount_1}
|
||||||
|
- ${CUSTOM_MOUNT_DIRECTORY_2:-./default_mount_2}:${CUSTOM_MOUNT_DIRECTORY_2:-/default_mount_2}
|
||||||
|
- ${CUSTOM_MOUNT_DIRECTORY_3:-./default_mount_3}:${CUSTOM_MOUNT_DIRECTORY_3:-/default_mount_3}
|
||||||
|
environment:
|
||||||
|
- PUID=0
|
||||||
|
- PGID=0
|
||||||
|
- UMASK=022
|
||||||
|
- FORCE=false
|
15
apps/alist-aria2/3.36.0/scripts/init.sh
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -f .env ]; then
|
||||||
|
source .env
|
||||||
|
|
||||||
|
# setup-1 add default values
|
||||||
|
CURRENT_DIR=$(pwd)
|
||||||
|
sed -i '/^ENV_FILE=/d' .env
|
||||||
|
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
|
||||||
|
|
||||||
|
echo "Check Finish."
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "Error: .env file not found."
|
||||||
|
fi
|
10
apps/alist-aria2/3.36.0/scripts/uninstall.sh
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -f .env ]; then
|
||||||
|
source .env
|
||||||
|
|
||||||
|
echo "Check Finish."
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "Error: .env file not found."
|
||||||
|
fi
|
15
apps/alist-aria2/3.36.0/scripts/upgrade.sh
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -f .env ]; then
|
||||||
|
source .env
|
||||||
|
|
||||||
|
# setup-1 add default values
|
||||||
|
CURRENT_DIR=$(pwd)
|
||||||
|
sed -i '/^ENV_FILE=/d' .env
|
||||||
|
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
|
||||||
|
|
||||||
|
echo "Check Finish."
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "Error: .env file not found."
|
||||||
|
fi
|
90
apps/alist-aria2/README.md
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
# AList
|
||||||
|
|
||||||
|
一个支持多种存储的文件列表程序
|
||||||
|
|
||||||
|
![AList](https://file.lifebus.top/imgs/alist_cover.png)
|
||||||
|
|
||||||
|
![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue)
|
||||||
|
|
||||||
|
## 特性
|
||||||
|
|
||||||
|
+ 使用简单
|
||||||
|
+ AList 从一开始就设计为易于安装,并且可以在所有平台上使用。
|
||||||
|
|
||||||
|
+ 多种存储
|
||||||
|
+ AList 支持多个存储提供商,包括本地存储、阿里云盘、OneDrive、Google Drive 等,且易于拓展。
|
||||||
|
|
||||||
|
+ 支持 WebDAV
|
||||||
|
+ AList 支持所有 WebDAV 存储,这是一种用于访问文件的标准。
|
||||||
|
|
||||||
|
+ 黑暗模式
|
||||||
|
+ 自由切换明暗模式
|
||||||
|
|
||||||
|
+ 受保护的路由
|
||||||
|
+ 为特定路径添加密码保护和身份验证
|
||||||
|
|
||||||
|
+ 文件预览
|
||||||
|
+ 支持视频、音频、文档、PDF、图片预览等,甚至支持 ipa 安装
|
||||||
|
|
||||||
|
+ 打包下载/批量下载
|
||||||
|
+ 使用浏览器的 stream api 支持打包下载,无需使用服务器 / 使用Aria2进行批量下载支持文件夹
|
||||||
|
|
||||||
|
+ 单点登录
|
||||||
|
+ 使用单点登录快速登录AList
|
||||||
|
|
||||||
|
+ 自动注册AList帐号
|
||||||
|
+ 使用单点登录自动注册为AList帐号快速注册
|
||||||
|
|
||||||
|
+ 离线下载
|
||||||
|
+ 将种子内容离线下载到指定的目录內,需要苛刻的网络环境
|
||||||
|
|
||||||
|
+ 保险箱加密/解密 文件
|
||||||
|
+ 任何人都可以安全地将加密数据存储在远程存储提供商上。数据存储在保险箱中,提供商只能看到保险箱,看不到您的数据。
|
||||||
|
|
||||||
|
+ 更多新功能
|
||||||
|
+ 包括文本编辑器、README/HTML 渲染、文件永久链接、Cloudflare Workers 代理等
|
||||||
|
|
||||||
|
## 安装说明
|
||||||
|
|
||||||
|
当前版本预装 `aria2` 用于下载
|
||||||
|
|
||||||
|
> 默认用户名:`admin`
|
||||||
|
>
|
||||||
|
> 默认密码:首次启动,可通过日志查询,或重置密码
|
||||||
|
|
||||||
|
### 重置密码
|
||||||
|
|
||||||
|
+ 随机生成一个密码
|
||||||
|
|
||||||
|
```shell
|
||||||
|
alist admin random
|
||||||
|
```
|
||||||
|
|
||||||
|
+ 设置指定密码
|
||||||
|
|
||||||
|
```shell
|
||||||
|
alist admin set {PASSWORD}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 反向代理
|
||||||
|
|
||||||
|
> Nginx 配置示例
|
||||||
|
|
||||||
|
```conf
|
||||||
|
location / {
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
proxy_set_header Host $host:$server_port;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header Range $http_range;
|
||||||
|
proxy_set_header If-Range $http_if_range;
|
||||||
|
proxy_redirect off;
|
||||||
|
proxy_pass http://127.0.0.1:5244;
|
||||||
|
# 文件最大上传大小 20GB
|
||||||
|
client_max_body_size 20000m;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png)
|
18
apps/alist-aria2/data.yml
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
name: Alist Aira2插件版
|
||||||
|
title: 文件列表程序
|
||||||
|
description: 一个支持多种存储的文件列表程序
|
||||||
|
additionalProperties:
|
||||||
|
key: alist-aria2
|
||||||
|
name: Alist Aira2插件版
|
||||||
|
tags:
|
||||||
|
- WebSite
|
||||||
|
- Storage
|
||||||
|
- Local
|
||||||
|
shortDescZh: 一个支持多种存储的文件列表程序
|
||||||
|
shortDescEn: A file list program that supports multiple storage methods
|
||||||
|
type: website
|
||||||
|
crossVersionUpdate: true
|
||||||
|
limit: 0
|
||||||
|
website: https://alist.nn.ci/
|
||||||
|
github: https://github.com/alist-org/alist/
|
||||||
|
document: https://alist.nn.ci/guide/
|
BIN
apps/alist-aria2/logo.png
Normal file
After Width: | Height: | Size: 14 KiB |
74
apps/alist-ffmpeg/3.36.0/data.yml
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
additionalProperties:
|
||||||
|
formFields:
|
||||||
|
- default: "/home/alist"
|
||||||
|
edit: true
|
||||||
|
envKey: ALIST_ROOT_PATH
|
||||||
|
labelZh: 数据持久化路径
|
||||||
|
labelEn: Data persistence path
|
||||||
|
required: true
|
||||||
|
type: text
|
||||||
|
- default: 5244
|
||||||
|
edit: true
|
||||||
|
envKey: PANEL_APP_PORT_HTTP
|
||||||
|
labelZh: WebUI 端口
|
||||||
|
labelEn: WebUI port
|
||||||
|
required: true
|
||||||
|
rule: paramPort
|
||||||
|
type: number
|
||||||
|
- default: ""
|
||||||
|
edit: true
|
||||||
|
envKey: JWT_SECRET
|
||||||
|
labelZh: 加密密钥
|
||||||
|
labelEn: Encryption key
|
||||||
|
required: false
|
||||||
|
type: password
|
||||||
|
- default: ""
|
||||||
|
edit: true
|
||||||
|
envKey: SITE_URL
|
||||||
|
labelZh: 站点 URL
|
||||||
|
labelEn: Site URL
|
||||||
|
required: false
|
||||||
|
rule: paramExtUrl
|
||||||
|
type: text
|
||||||
|
- default: 48
|
||||||
|
edit: true
|
||||||
|
envKey: TOKEN_EXPIRES_IN
|
||||||
|
labelZh: 登录过期时间 (小时)
|
||||||
|
labelEn: Login expiration time (hours)
|
||||||
|
required: true
|
||||||
|
type: number
|
||||||
|
- default: 0
|
||||||
|
edit: true
|
||||||
|
envKey: DELAYED_START
|
||||||
|
labelZh: 延时启动 (秒)
|
||||||
|
labelEn: Delayed start (seconds)
|
||||||
|
required: true
|
||||||
|
type: number
|
||||||
|
- default: 0
|
||||||
|
edit: true
|
||||||
|
envKey: max_connections
|
||||||
|
labelZh: 最大连接数
|
||||||
|
labelEn: Maximum connections
|
||||||
|
required: true
|
||||||
|
type: number
|
||||||
|
- default: ""
|
||||||
|
edit: true
|
||||||
|
envKey: CUSTOM_MOUNT_DIRECTORY_1
|
||||||
|
labelEn: Custom mount directory 1
|
||||||
|
labelZh: 自定义挂载目录 1
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
|
- default: ""
|
||||||
|
edit: true
|
||||||
|
envKey: CUSTOM_MOUNT_DIRECTORY_2
|
||||||
|
labelEn: Custom mount directory 2
|
||||||
|
labelZh: 自定义挂载目录 2
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
|
- default: ""
|
||||||
|
edit: true
|
||||||
|
envKey: CUSTOM_MOUNT_DIRECTORY_3
|
||||||
|
labelEn: Custom mount directory 3
|
||||||
|
labelZh: 自定义挂载目录 3
|
||||||
|
required: false
|
||||||
|
type: text
|
27
apps/alist-ffmpeg/3.36.0/docker-compose.yml
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
networks:
|
||||||
|
1panel-network:
|
||||||
|
external: true
|
||||||
|
services:
|
||||||
|
alist:
|
||||||
|
image: xhofe/alist:v3.36.0-ffmpeg
|
||||||
|
container_name: ${CONTAINER_NAME}
|
||||||
|
labels:
|
||||||
|
createdBy: "Apps"
|
||||||
|
restart: always
|
||||||
|
networks:
|
||||||
|
- 1panel-network
|
||||||
|
ports:
|
||||||
|
- ${PANEL_APP_PORT_HTTP}:5244
|
||||||
|
env_file:
|
||||||
|
- /etc/1panel/envs/global.env
|
||||||
|
- ${ENV_FILE:-/etc/1panel/envs/default.env}
|
||||||
|
volumes:
|
||||||
|
- ${ALIST_ROOT_PATH}/data:/opt/alist/data
|
||||||
|
- ${CUSTOM_MOUNT_DIRECTORY_1:-./default_mount_1}:${CUSTOM_MOUNT_DIRECTORY_1:-/default_mount_1}
|
||||||
|
- ${CUSTOM_MOUNT_DIRECTORY_2:-./default_mount_2}:${CUSTOM_MOUNT_DIRECTORY_2:-/default_mount_2}
|
||||||
|
- ${CUSTOM_MOUNT_DIRECTORY_3:-./default_mount_3}:${CUSTOM_MOUNT_DIRECTORY_3:-/default_mount_3}
|
||||||
|
environment:
|
||||||
|
- PUID=0
|
||||||
|
- PGID=0
|
||||||
|
- UMASK=022
|
||||||
|
- FORCE=false
|
15
apps/alist-ffmpeg/3.36.0/scripts/init.sh
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -f .env ]; then
|
||||||
|
source .env
|
||||||
|
|
||||||
|
# setup-1 add default values
|
||||||
|
CURRENT_DIR=$(pwd)
|
||||||
|
sed -i '/^ENV_FILE=/d' .env
|
||||||
|
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
|
||||||
|
|
||||||
|
echo "Check Finish."
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "Error: .env file not found."
|
||||||
|
fi
|
10
apps/alist-ffmpeg/3.36.0/scripts/uninstall.sh
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -f .env ]; then
|
||||||
|
source .env
|
||||||
|
|
||||||
|
echo "Check Finish."
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "Error: .env file not found."
|
||||||
|
fi
|
15
apps/alist-ffmpeg/3.36.0/scripts/upgrade.sh
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -f .env ]; then
|
||||||
|
source .env
|
||||||
|
|
||||||
|
# setup-1 add default values
|
||||||
|
CURRENT_DIR=$(pwd)
|
||||||
|
sed -i '/^ENV_FILE=/d' .env
|
||||||
|
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
|
||||||
|
|
||||||
|
echo "Check Finish."
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "Error: .env file not found."
|
||||||
|
fi
|
90
apps/alist-ffmpeg/README.md
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
# AList
|
||||||
|
|
||||||
|
一个支持多种存储的文件列表程序
|
||||||
|
|
||||||
|
![AList](https://file.lifebus.top/imgs/alist_cover.png)
|
||||||
|
|
||||||
|
![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue)
|
||||||
|
|
||||||
|
## 特性
|
||||||
|
|
||||||
|
+ 使用简单
|
||||||
|
+ AList 从一开始就设计为易于安装,并且可以在所有平台上使用。
|
||||||
|
|
||||||
|
+ 多种存储
|
||||||
|
+ AList 支持多个存储提供商,包括本地存储、阿里云盘、OneDrive、Google Drive 等,且易于拓展。
|
||||||
|
|
||||||
|
+ 支持 WebDAV
|
||||||
|
+ AList 支持所有 WebDAV 存储,这是一种用于访问文件的标准。
|
||||||
|
|
||||||
|
+ 黑暗模式
|
||||||
|
+ 自由切换明暗模式
|
||||||
|
|
||||||
|
+ 受保护的路由
|
||||||
|
+ 为特定路径添加密码保护和身份验证
|
||||||
|
|
||||||
|
+ 文件预览
|
||||||
|
+ 支持视频、音频、文档、PDF、图片预览等,甚至支持 ipa 安装
|
||||||
|
|
||||||
|
+ 打包下载/批量下载
|
||||||
|
+ 使用浏览器的 stream api 支持打包下载,无需使用服务器 / 使用Aria2进行批量下载支持文件夹
|
||||||
|
|
||||||
|
+ 单点登录
|
||||||
|
+ 使用单点登录快速登录AList
|
||||||
|
|
||||||
|
+ 自动注册AList帐号
|
||||||
|
+ 使用单点登录自动注册为AList帐号快速注册
|
||||||
|
|
||||||
|
+ 离线下载
|
||||||
|
+ 将种子内容离线下载到指定的目录內,需要苛刻的网络环境
|
||||||
|
|
||||||
|
+ 保险箱加密/解密 文件
|
||||||
|
+ 任何人都可以安全地将加密数据存储在远程存储提供商上。数据存储在保险箱中,提供商只能看到保险箱,看不到您的数据。
|
||||||
|
|
||||||
|
+ 更多新功能
|
||||||
|
+ 包括文本编辑器、README/HTML 渲染、文件永久链接、Cloudflare Workers 代理等
|
||||||
|
|
||||||
|
## 安装说明
|
||||||
|
|
||||||
|
当前版本预装 `ffmpeg` 用于封面截取
|
||||||
|
|
||||||
|
> 默认用户名:`admin`
|
||||||
|
>
|
||||||
|
> 默认密码:首次启动,可通过日志查询,或重置密码
|
||||||
|
|
||||||
|
### 重置密码
|
||||||
|
|
||||||
|
+ 随机生成一个密码
|
||||||
|
|
||||||
|
```shell
|
||||||
|
alist admin random
|
||||||
|
```
|
||||||
|
|
||||||
|
+ 设置指定密码
|
||||||
|
|
||||||
|
```shell
|
||||||
|
alist admin set {PASSWORD}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 反向代理
|
||||||
|
|
||||||
|
> Nginx 配置示例
|
||||||
|
|
||||||
|
```conf
|
||||||
|
location / {
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
proxy_set_header Host $host:$server_port;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header Range $http_range;
|
||||||
|
proxy_set_header If-Range $http_if_range;
|
||||||
|
proxy_redirect off;
|
||||||
|
proxy_pass http://127.0.0.1:5244;
|
||||||
|
# 文件最大上传大小 20GB
|
||||||
|
client_max_body_size 20000m;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png)
|
18
apps/alist-ffmpeg/data.yml
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
name: Alist FFMpeg插件版
|
||||||
|
title: 文件列表程序
|
||||||
|
description: 一个支持多种存储的文件列表程序
|
||||||
|
additionalProperties:
|
||||||
|
key: alist-ffmpeg
|
||||||
|
name: Alist FFMpeg插件版
|
||||||
|
tags:
|
||||||
|
- WebSite
|
||||||
|
- Storage
|
||||||
|
- Local
|
||||||
|
shortDescZh: 一个支持多种存储的文件列表程序
|
||||||
|
shortDescEn: A file list program that supports multiple storage methods
|
||||||
|
type: website
|
||||||
|
crossVersionUpdate: true
|
||||||
|
limit: 0
|
||||||
|
website: https://alist.nn.ci/
|
||||||
|
github: https://github.com/alist-org/alist/
|
||||||
|
document: https://alist.nn.ci/guide/
|
BIN
apps/alist-ffmpeg/logo.png
Normal file
After Width: | Height: | Size: 14 KiB |
90
apps/alist/3.36.0/data.yml
Executable file → Normal file
@ -1,18 +1,74 @@
|
|||||||
additionalProperties:
|
additionalProperties:
|
||||||
formFields:
|
formFields:
|
||||||
- default: 5244
|
- default: "/home/alist"
|
||||||
edit: true
|
edit: true
|
||||||
envKey: PANEL_APP_PORT_HTTP
|
envKey: ALIST_ROOT_PATH
|
||||||
labelEn: WebUI Port
|
labelZh: 数据持久化路径
|
||||||
labelZh: 网页端口
|
labelEn: Data persistence path
|
||||||
required: true
|
required: true
|
||||||
rule: paramPort
|
type: text
|
||||||
type: number
|
- default: 5244
|
||||||
- default: 5426
|
edit: true
|
||||||
edit: true
|
envKey: PANEL_APP_PORT_HTTP
|
||||||
envKey: PANEL_APP_PORT_S3
|
labelZh: WebUI 端口
|
||||||
labelEn: S3 Port
|
labelEn: WebUI port
|
||||||
labelZh: S3 端口
|
required: true
|
||||||
required: true
|
rule: paramPort
|
||||||
rule: paramPort
|
type: number
|
||||||
type: number
|
- default: ""
|
||||||
|
edit: true
|
||||||
|
envKey: JWT_SECRET
|
||||||
|
labelZh: 加密密钥
|
||||||
|
labelEn: Encryption key
|
||||||
|
required: false
|
||||||
|
type: password
|
||||||
|
- default: ""
|
||||||
|
edit: true
|
||||||
|
envKey: SITE_URL
|
||||||
|
labelZh: 站点 URL
|
||||||
|
labelEn: Site URL
|
||||||
|
required: false
|
||||||
|
rule: paramExtUrl
|
||||||
|
type: text
|
||||||
|
- default: 48
|
||||||
|
edit: true
|
||||||
|
envKey: TOKEN_EXPIRES_IN
|
||||||
|
labelZh: 登录过期时间 (小时)
|
||||||
|
labelEn: Login expiration time (hours)
|
||||||
|
required: true
|
||||||
|
type: number
|
||||||
|
- default: 0
|
||||||
|
edit: true
|
||||||
|
envKey: DELAYED_START
|
||||||
|
labelZh: 延时启动 (秒)
|
||||||
|
labelEn: Delayed start (seconds)
|
||||||
|
required: true
|
||||||
|
type: number
|
||||||
|
- default: 0
|
||||||
|
edit: true
|
||||||
|
envKey: max_connections
|
||||||
|
labelZh: 最大连接数
|
||||||
|
labelEn: Maximum connections
|
||||||
|
required: true
|
||||||
|
type: number
|
||||||
|
- default: ""
|
||||||
|
edit: true
|
||||||
|
envKey: CUSTOM_MOUNT_DIRECTORY_1
|
||||||
|
labelEn: Custom mount directory 1
|
||||||
|
labelZh: 自定义挂载目录 1
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
|
- default: ""
|
||||||
|
edit: true
|
||||||
|
envKey: CUSTOM_MOUNT_DIRECTORY_2
|
||||||
|
labelEn: Custom mount directory 2
|
||||||
|
labelZh: 自定义挂载目录 2
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
|
- default: ""
|
||||||
|
edit: true
|
||||||
|
envKey: CUSTOM_MOUNT_DIRECTORY_3
|
||||||
|
labelEn: Custom mount directory 3
|
||||||
|
labelZh: 自定义挂载目录 3
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
|
@ -1,23 +1,27 @@
|
|||||||
|
networks:
|
||||||
|
1panel-network:
|
||||||
|
external: true
|
||||||
services:
|
services:
|
||||||
alist:
|
alist:
|
||||||
|
image: xhofe/alist:v3.36.0
|
||||||
container_name: ${CONTAINER_NAME}
|
container_name: ${CONTAINER_NAME}
|
||||||
|
labels:
|
||||||
|
createdBy: "Apps"
|
||||||
restart: always
|
restart: always
|
||||||
networks:
|
networks:
|
||||||
- 1panel-network
|
- 1panel-network
|
||||||
ports:
|
ports:
|
||||||
- "${PANEL_APP_PORT_HTTP}:5244"
|
- ${PANEL_APP_PORT_HTTP}:5244
|
||||||
- "${PANEL_APP_PORT_S3}:5426"
|
env_file:
|
||||||
|
- /etc/1panel/envs/global.env
|
||||||
|
- ${ENV_FILE:-/etc/1panel/envs/default.env}
|
||||||
volumes:
|
volumes:
|
||||||
- ./data/data:/opt/alist/data
|
- ${ALIST_ROOT_PATH}/data:/opt/alist/data
|
||||||
- ./data/mnt:/mnt/data
|
- ${CUSTOM_MOUNT_DIRECTORY_1:-./default_mount_1}:${CUSTOM_MOUNT_DIRECTORY_1:-/default_mount_1}
|
||||||
|
- ${CUSTOM_MOUNT_DIRECTORY_2:-./default_mount_2}:${CUSTOM_MOUNT_DIRECTORY_2:-/default_mount_2}
|
||||||
|
- ${CUSTOM_MOUNT_DIRECTORY_3:-./default_mount_3}:${CUSTOM_MOUNT_DIRECTORY_3:-/default_mount_3}
|
||||||
environment:
|
environment:
|
||||||
- PUID=0
|
- PUID=0
|
||||||
- PGID=0
|
- PGID=0
|
||||||
- UMASK=022
|
- UMASK=022
|
||||||
image: xhofe/alist:v3.36.0
|
- FORCE=false
|
||||||
labels:
|
|
||||||
createdBy: "Apps"
|
|
||||||
networks:
|
|
||||||
1panel-network:
|
|
||||||
external: true
|
|
||||||
|
|
||||||
|
15
apps/alist/3.36.0/scripts/init.sh
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -f .env ]; then
|
||||||
|
source .env
|
||||||
|
|
||||||
|
# setup-1 add default values
|
||||||
|
CURRENT_DIR=$(pwd)
|
||||||
|
sed -i '/^ENV_FILE=/d' .env
|
||||||
|
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
|
||||||
|
|
||||||
|
echo "Check Finish."
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "Error: .env file not found."
|
||||||
|
fi
|
10
apps/alist/3.36.0/scripts/uninstall.sh
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -f .env ]; then
|
||||||
|
source .env
|
||||||
|
|
||||||
|
echo "Check Finish."
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "Error: .env file not found."
|
||||||
|
fi
|
@ -1,12 +1,15 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
if [[ -f ./.env ]]; then
|
if [ -f .env ]; then
|
||||||
if grep -q 'PANEL_APP_PORT_S3' ./.env; then
|
source .env
|
||||||
echo "PANEL_APP_PORT_S3 参数已存在"
|
|
||||||
else
|
# setup-1 add default values
|
||||||
echo 'PANEL_APP_PORT_S3=5426' >> ./.env
|
CURRENT_DIR=$(pwd)
|
||||||
echo "已添加 PANEL_APP_PORT_S3=5426"
|
sed -i '/^ENV_FILE=/d' .env
|
||||||
fi
|
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
|
||||||
|
|
||||||
|
echo "Check Finish."
|
||||||
|
|
||||||
else
|
else
|
||||||
echo ".env 文件不存在"
|
echo "Error: .env file not found."
|
||||||
fi
|
fi
|
||||||
|
@ -1,43 +1,88 @@
|
|||||||
|
# AList
|
||||||
|
|
||||||
# 账号密码
|
一个支持多种存储的文件列表程序
|
||||||
|
|
||||||
容器列表点击 `终端` 按钮,进入容器内执行命令设置密码。
|
![AList](https://file.lifebus.top/imgs/alist_cover.png)
|
||||||
|
|
||||||
- **生成随机密码**:`./alist admin random`
|
![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue)
|
||||||
- **手动设置密码**:`./alist admin set NEW_PASSWORD`
|
|
||||||
|
|
||||||
# Alist
|
## 特性
|
||||||
|
|
||||||
Alist 是一个支持多种存储,支持网页浏览和 WebDAV 的文件列表程序,由 gin 和 Solidjs 驱动。
|
+ 使用简单
|
||||||
|
+ AList 从一开始就设计为易于安装,并且可以在所有平台上使用。
|
||||||
|
|
||||||
## 支持的存储:
|
+ 多种存储
|
||||||
|
+ AList 支持多个存储提供商,包括本地存储、阿里云盘、OneDrive、Google Drive 等,且易于拓展。
|
||||||
|
|
||||||
- 本地存储
|
+ 支持 WebDAV
|
||||||
- [阿里云盘](https://www.aliyundrive.com/)
|
+ AList 支持所有 WebDAV 存储,这是一种用于访问文件的标准。
|
||||||
- OneDrive / Sharepoint([国际版](https://www.office.com/), [世纪互联](https://portal.partner.microsoftonline.cn),de,us)
|
|
||||||
- [天翼云盘](https://cloud.189.cn) (个人云, 家庭云)
|
+ 黑暗模式
|
||||||
- [GoogleDrive](https://drive.google.com/)
|
+ 自由切换明暗模式
|
||||||
- [123云盘](https://www.123pan.com/)
|
|
||||||
- FTP / SFTP
|
+ 受保护的路由
|
||||||
- [PikPak](https://www.mypikpak.com/)
|
+ 为特定路径添加密码保护和身份验证
|
||||||
- [S3](https://aws.amazon.com/cn/s3/)
|
|
||||||
- [Seafile](https://seafile.com/)
|
+ 文件预览
|
||||||
- [又拍云对象存储](https://www.upyun.com/products/file-storage)
|
+ 支持视频、音频、文档、PDF、图片预览等,甚至支持 ipa 安装
|
||||||
- WebDav(支持无API的OneDrive/SharePoint)
|
|
||||||
- Teambition([中国](https://www.teambition.com/ ),[国际](https://us.teambition.com/ ))
|
+ 打包下载/批量下载
|
||||||
- [分秒帧](https://www.mediatrack.cn/)
|
+ 使用浏览器的 stream api 支持打包下载,无需使用服务器 / 使用Aria2进行批量下载支持文件夹
|
||||||
- [和彩云](https://yun.139.com/) (个人云, 家庭云)
|
|
||||||
- [Yandex.Disk](https://disk.yandex.com/)
|
+ 单点登录
|
||||||
- [百度网盘](http://pan.baidu.com/)
|
+ 使用单点登录快速登录AList
|
||||||
- [UC网盘](https://drive.uc.cn)
|
|
||||||
- [夸克网盘](https://pan.quark.cn)
|
+ 自动注册AList帐号
|
||||||
- [迅雷网盘](https://pan.xunlei.com)
|
+ 使用单点登录自动注册为AList帐号快速注册
|
||||||
- [蓝奏云](https://www.lanzou.com/)
|
|
||||||
- [阿里云盘分享](https://www.aliyundrive.com/)
|
+ 离线下载
|
||||||
- [谷歌相册](https://photos.google.com/)
|
+ 将种子内容离线下载到指定的目录內,需要苛刻的网络环境
|
||||||
- [Mega.nz](https://mega.nz)
|
|
||||||
- [一刻相册](https://photo.baidu.com/)
|
+ 保险箱加密/解密 文件
|
||||||
- SMB
|
+ 任何人都可以安全地将加密数据存储在远程存储提供商上。数据存储在保险箱中,提供商只能看到保险箱,看不到您的数据。
|
||||||
- [115](https://115.com/)
|
|
||||||
- Cloudreve
|
+ 更多新功能
|
||||||
- [Dropbox](https://www.dropbox.com/)
|
+ 包括文本编辑器、README/HTML 渲染、文件永久链接、Cloudflare Workers 代理等
|
||||||
|
|
||||||
|
## 安装说明
|
||||||
|
|
||||||
|
> 默认用户名:`admin`
|
||||||
|
>
|
||||||
|
> 默认密码:首次启动,可通过日志查询,或重置密码
|
||||||
|
|
||||||
|
### 重置密码
|
||||||
|
|
||||||
|
+ 随机生成一个密码
|
||||||
|
|
||||||
|
```shell
|
||||||
|
alist admin random
|
||||||
|
```
|
||||||
|
|
||||||
|
+ 设置指定密码
|
||||||
|
|
||||||
|
```shell
|
||||||
|
alist admin set {PASSWORD}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 反向代理
|
||||||
|
|
||||||
|
> Nginx 配置示例
|
||||||
|
|
||||||
|
```conf
|
||||||
|
location / {
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
proxy_set_header Host $host:$server_port;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header Range $http_range;
|
||||||
|
proxy_set_header If-Range $http_if_range;
|
||||||
|
proxy_redirect off;
|
||||||
|
proxy_pass http://127.0.0.1:5244;
|
||||||
|
# 文件最大上传大小 20GB
|
||||||
|
client_max_body_size 20000m;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png)
|
||||||
|
37
apps/alist/data.yml
Executable file → Normal file
@ -1,21 +1,18 @@
|
|||||||
name: AList
|
name: Alist
|
||||||
tags:
|
title: 文件列表程序
|
||||||
- 实用工具
|
description: 一个支持多种存储的文件列表程序
|
||||||
- 云存储
|
|
||||||
title: 支持多存储的文件列表程序和私人网盘
|
|
||||||
description: 支持多存储的文件列表程序和私人网盘
|
|
||||||
additionalProperties:
|
additionalProperties:
|
||||||
key: alist
|
key: alist
|
||||||
name: AList
|
name: Alist
|
||||||
tags:
|
tags:
|
||||||
- Storage
|
- WebSite
|
||||||
- Tool
|
- Storage
|
||||||
shortDescZh: 支持多存储的文件列表程序和私人网盘
|
- Local
|
||||||
shortDescEn: Supporting multi-storage file listing program and private cloud storage
|
shortDescZh: 一个支持多种存储的文件列表程序
|
||||||
type: tool
|
shortDescEn: A file list program that supports multiple storage methods
|
||||||
crossVersionUpdate: true
|
type: website
|
||||||
limit: 0
|
crossVersionUpdate: true
|
||||||
recommend: 12
|
limit: 0
|
||||||
website: https://alist.nn.ci/
|
website: https://alist.nn.ci/
|
||||||
github: https://github.com/alist-org/alist
|
github: https://github.com/alist-org/alist/
|
||||||
document: https://alist.nn.ci/zh/guide/
|
document: https://alist.nn.ci/guide/
|
||||||
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 14 KiB |
@ -1,10 +0,0 @@
|
|||||||
additionalProperties:
|
|
||||||
formFields:
|
|
||||||
- default: 40065
|
|
||||||
edit: true
|
|
||||||
envKey: PANEL_APP_PORT_HTTP
|
|
||||||
labelEn: Port
|
|
||||||
labelZh: 端口
|
|
||||||
required: true
|
|
||||||
rule: paramPort
|
|
||||||
type: number
|
|
@ -1,16 +0,0 @@
|
|||||||
services:
|
|
||||||
answer:
|
|
||||||
container_name: ${CONTAINER_NAME}
|
|
||||||
restart: always
|
|
||||||
networks:
|
|
||||||
- 1panel-network
|
|
||||||
ports:
|
|
||||||
- "${PANEL_APP_PORT_HTTP}:80"
|
|
||||||
volumes:
|
|
||||||
- "./data:/data"
|
|
||||||
image: apache/answer:1.3.6
|
|
||||||
labels:
|
|
||||||
createdBy: "Apps"
|
|
||||||
networks:
|
|
||||||
1panel-network:
|
|
||||||
external: true
|
|
@ -1,11 +0,0 @@
|
|||||||
# Answer
|
|
||||||
|
|
||||||
**Answer** 是一款问答形式的知识社区开源软件,你可以使用它快速建立你的问答社区,用于产品技术支持、客户支持、用户交流等。
|
|
||||||
|
|
||||||
## 版本特性:
|
|
||||||
|
|
||||||
- **提问回答**:完整的提问和回答功能,聚焦主题,支持标准 Markdown 语法
|
|
||||||
- **投票决策**:内容的好坏、用户的可信度,都基于声望投票决策
|
|
||||||
- **共创协作**:使用内容版本控制,开放式内容审阅,保持内容的更新
|
|
||||||
- **内容组织**:通过标签组织碎片化内容
|
|
||||||
- **用户界面**:响应式设计,自定义主题,SEO 友好
|
|
@ -1,19 +0,0 @@
|
|||||||
name: Answer
|
|
||||||
tags:
|
|
||||||
- 建站
|
|
||||||
title: 适用于任何规模团队的问答平台软件
|
|
||||||
description: 适用于任何规模团队的问答平台软件
|
|
||||||
additionalProperties:
|
|
||||||
key: answer
|
|
||||||
name: Answer
|
|
||||||
tags:
|
|
||||||
- WebSite
|
|
||||||
shortDescZh: 适用于任何规模团队的问答平台软件
|
|
||||||
shortDescEn: A Q&A platform software for teams at any scales
|
|
||||||
type: website
|
|
||||||
crossVersionUpdate: true
|
|
||||||
limit: 0
|
|
||||||
recommend: 0
|
|
||||||
website: https://answer.dev/
|
|
||||||
github: https://github.com/answerdev/answer
|
|
||||||
document: https://answer.dev/zh-CN/docs
|
|
Before Width: | Height: | Size: 3.3 KiB |
@ -1,10 +0,0 @@
|
|||||||
additionalProperties:
|
|
||||||
formFields:
|
|
||||||
- default: 40096
|
|
||||||
edit: true
|
|
||||||
envKey: PANEL_APP_PORT_HTTP
|
|
||||||
labelEn: Port
|
|
||||||
labelZh: 端口
|
|
||||||
required: true
|
|
||||||
rule: paramPort
|
|
||||||
type: number
|
|
@ -1,20 +0,0 @@
|
|||||||
services:
|
|
||||||
audiobookshelf:
|
|
||||||
container_name: ${CONTAINER_NAME}
|
|
||||||
restart: always
|
|
||||||
networks:
|
|
||||||
- 1panel-network
|
|
||||||
ports:
|
|
||||||
- "${PANEL_APP_PORT_HTTP}:80"
|
|
||||||
volumes:
|
|
||||||
- "./data/audiobooks:/audiobooks"
|
|
||||||
- "./data/podcasts:/podcasts"
|
|
||||||
- "./data/config:/config"
|
|
||||||
- "./data/metadata:/metadata"
|
|
||||||
image: advplyr/audiobookshelf:2.12.1
|
|
||||||
labels:
|
|
||||||
createdBy: "Apps"
|
|
||||||
|
|
||||||
networks:
|
|
||||||
1panel-network:
|
|
||||||
external: true
|
|
@ -1,24 +0,0 @@
|
|||||||
# Audiobookshelf
|
|
||||||
|
|
||||||
**Audiobookshelf** 是一个自托管的有声读物和播客服务器。
|
|
||||||
|
|
||||||
## 特征:
|
|
||||||
|
|
||||||
- 完全开源,包括Android 和 iOS 应用程序 (测试版)
|
|
||||||
- 即时传输所有音频格式
|
|
||||||
- 搜索并添加播客以下载带有自动下载的剧集
|
|
||||||
- 具有自定义权限的多用户支持
|
|
||||||
- 保持每个用户的进度并跨设备同步
|
|
||||||
- 自动检测库更新,无需重新扫描
|
|
||||||
- 使用批量上传拖放文件夹上传书籍和播客
|
|
||||||
- 备份您的元数据+每日自动备份
|
|
||||||
- 渐进式网络应用程序 (PWA)
|
|
||||||
- Web 应用程序和 Android 应用程序上的 Chromecast 支持
|
|
||||||
- 从多个来源获取元数据和封面艺术
|
|
||||||
- 章节编辑器和章节查找(使用Audnexus API)
|
|
||||||
- 将您的音频文件合并为一个 m4b
|
|
||||||
- 将元数据和封面图像嵌入到音频文件中(使用Tone)
|
|
||||||
- 基本电子书支持和电子阅读器
|
|
||||||
- Epub、pdf、cbr、cbz
|
|
||||||
- 将电子书发送到设备(即 Kindle)
|
|
||||||
- 开放播客和有声读物的 RSS 源
|
|
@ -1,19 +0,0 @@
|
|||||||
name: Audiobookshelf
|
|
||||||
tags:
|
|
||||||
- 多媒体
|
|
||||||
title: 自托管有声读物和播客服务器
|
|
||||||
description: 自托管有声读物和播客服务器
|
|
||||||
additionalProperties:
|
|
||||||
key: audiobookshelf
|
|
||||||
name: Audiobookshelf
|
|
||||||
tags:
|
|
||||||
- Media
|
|
||||||
shortDescZh: 自托管有声读物和播客服务器
|
|
||||||
shortDescEn: Self-hosted audiobook and podcast server
|
|
||||||
type: tool
|
|
||||||
crossVersionUpdate: true
|
|
||||||
limit: 0
|
|
||||||
recommend: 0
|
|
||||||
website: https://www.audiobookshelf.org/
|
|
||||||
github: https://github.com/advplyr/audiobookshelf
|
|
||||||
document: https://www.audiobookshelf.org/docs
|
|
Before Width: | Height: | Size: 16 KiB |
38
apps/bark/2.1.5/data.yml
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
additionalProperties:
|
||||||
|
formFields:
|
||||||
|
- default: "/home/bark"
|
||||||
|
edit: true
|
||||||
|
envKey: BARK_ROOT_PATH
|
||||||
|
labelZh: 数据持久化路径
|
||||||
|
labelEn: Data persistence path
|
||||||
|
required: true
|
||||||
|
type: text
|
||||||
|
- default: 8080
|
||||||
|
edit: true
|
||||||
|
envKey: PANEL_APP_PORT_HTTP
|
||||||
|
labelZh: WebUI 端口
|
||||||
|
labelEn: WebUI port
|
||||||
|
required: true
|
||||||
|
rule: paramPort
|
||||||
|
type: number
|
||||||
|
- default: ""
|
||||||
|
edit: true
|
||||||
|
envKey: BARK_SERVER_DSN
|
||||||
|
labelZh: 数据库链接
|
||||||
|
labelEn: Database URL
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
|
- default: ""
|
||||||
|
edit: true
|
||||||
|
envKey: BARK_SERVER_BASIC_AUTH_USER
|
||||||
|
labelZh: 用户名 (服务基础验证)
|
||||||
|
labelEn: Basic Auth User
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
|
- default: ""
|
||||||
|
edit: true
|
||||||
|
envKey: BARK_SERVER_BASIC_AUTH_PASSWORD
|
||||||
|
labelZh: 密码 (服务基础验证)
|
||||||
|
labelEn: Basic Auth Password
|
||||||
|
required: false
|
||||||
|
type: text
|
25
apps/bark/2.1.5/docker-compose.yml
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
networks:
|
||||||
|
1panel-network:
|
||||||
|
external: true
|
||||||
|
|
||||||
|
services:
|
||||||
|
bark:
|
||||||
|
image: finab/bark-server:v2.1.5
|
||||||
|
container_name: ${CONTAINER_NAME}
|
||||||
|
labels:
|
||||||
|
createdBy: "Apps"
|
||||||
|
restart: always
|
||||||
|
networks:
|
||||||
|
- 1panel-network
|
||||||
|
ports:
|
||||||
|
- ${PANEL_APP_PORT_HTTP}:8080
|
||||||
|
env_file:
|
||||||
|
- /etc/1panel/envs/global.env
|
||||||
|
- ${ENV_FILE:-/etc/1panel/envs/default.env}
|
||||||
|
volumes:
|
||||||
|
- ${BARK_ROOT_PATH}/data:/data
|
||||||
|
environment:
|
||||||
|
- BARK_SERVER_ADDRESS=0.0.0.0:8080
|
||||||
|
- BARK_SERVER_URL_PREFIX=/
|
||||||
|
- BARK_SERVER_DATA_DIR=/data
|
||||||
|
- BARK_SERVER_SERVERLESS=false
|
15
apps/bark/2.1.5/scripts/init.sh
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -f .env ]; then
|
||||||
|
source .env
|
||||||
|
|
||||||
|
# setup-1 add default values
|
||||||
|
CURRENT_DIR=$(pwd)
|
||||||
|
sed -i '/^ENV_FILE=/d' .env
|
||||||
|
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
|
||||||
|
|
||||||
|
echo "Check Finish."
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "Error: .env file not found."
|
||||||
|
fi
|
10
apps/bark/2.1.5/scripts/uninstall.sh
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -f .env ]; then
|
||||||
|
source .env
|
||||||
|
|
||||||
|
echo "Check Finish."
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "Error: .env file not found."
|
||||||
|
fi
|
15
apps/bark/2.1.5/scripts/upgrade.sh
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -f .env ]; then
|
||||||
|
source .env
|
||||||
|
|
||||||
|
# setup-1 add default values
|
||||||
|
CURRENT_DIR=$(pwd)
|
||||||
|
sed -i '/^ENV_FILE=/d' .env
|
||||||
|
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
|
||||||
|
|
||||||
|
echo "Check Finish."
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "Error: .env file not found."
|
||||||
|
fi
|
125
apps/bark/README.md
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
# Bark
|
||||||
|
|
||||||
|
一款注重隐私、安全可控的自定义通知推送工具。
|
||||||
|
|
||||||
|
![Bark](https://file.lifebus.top/imgs/bark_logo.png)
|
||||||
|
|
||||||
|
![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue)
|
||||||
|
|
||||||
|
## 特性
|
||||||
|
|
||||||
|
+ 免费、轻量!简单调用接口即可给自己的iPhone发送推送。
|
||||||
|
+ 依赖苹果APNs,及时、稳定、可靠
|
||||||
|
+ 不会消耗设备的电量, 基于系统推送服务与推送扩展,APP本体并不需要运行。
|
||||||
|
+ 隐私安全,可以通过一些方式确保包含作者本人在内的所有人都无法窃取你的隐私。
|
||||||
|
|
||||||
|
## 安装说明
|
||||||
|
|
||||||
|
### `数据库链接` 配置
|
||||||
|
|
||||||
|
MySQL DSN 数据库链接
|
||||||
|
|
||||||
|
格式:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
user:pass@tcp(host)/dbname
|
||||||
|
|
||||||
|
# 例如
|
||||||
|
root:123456@tcp(127.0.0.1:3306)/bark
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 参数说明
|
||||||
|
|
||||||
|
| 参数 | 说明 |
|
||||||
|
|--------|--------|
|
||||||
|
| user | 数据库用户名 |
|
||||||
|
| pass | 数据库密码 |
|
||||||
|
| host | 数据库地址 |
|
||||||
|
| dbname | 数据库名称 |
|
||||||
|
|
||||||
|
使用其他端口时 `host` 格式为 `host:port`
|
||||||
|
|
||||||
|
## [URL格式](https://bark.day.app/#/tutorial?id=url格式)
|
||||||
|
|
||||||
|
URL由推送key、参数 title、参数 body 组成。有下面两种组合方式
|
||||||
|
|
||||||
|
#### 服务基础验证
|
||||||
|
|
||||||
|
可选项,验证方式为 `Basic`,具体格式为 `Basic base64(username:password)`,其中 `base64(username:password)`
|
||||||
|
为 `username:password` 的 `base64` 编码结果。
|
||||||
|
|
||||||
|
+ 用户名 (服务基础验证)
|
||||||
|
+ 密码 (服务基础验证)
|
||||||
|
|
||||||
|
```
|
||||||
|
/:key/:body
|
||||||
|
/:key/:title/:body
|
||||||
|
```
|
||||||
|
|
||||||
|
## [请求方式](https://bark.day.app/#/tutorial?id=请求方式)
|
||||||
|
|
||||||
|
##### [GET 请求参数拼接在 URL 后面,例如:](https://bark.day.app/#/tutorial?id=get-请求参数拼接在-url-后面,例如:)
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl https://api.day.app/your_key/推送内容?group=分组©=复制
|
||||||
|
```
|
||||||
|
|
||||||
|
*手动拼接参数到URL上时,请注意URL编码问题,可以参考阅读[常见问题:URL编码](https://bark.day.app/#/faq?id=推送特殊字符导致推送失败,比如-推送内容包含链接,或推送异常-比如-变成空格)*
|
||||||
|
|
||||||
|
##### [POST 请求参数放在请求体中,例如:](https://bark.day.app/#/tutorial?id=post-请求参数放在请求体中,例如:)
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl -X POST https://api.day.app/your_key \
|
||||||
|
-d'body=推送内容&group=分组©=复制'
|
||||||
|
```
|
||||||
|
|
||||||
|
##### [POST 请求支持JSON,例如:](https://bark.day.app/#/tutorial?id=post-请求支持json,例如:)
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl -X "POST" "https://api.day.app/your_key" \
|
||||||
|
-H 'Content-Type: application/json; charset=utf-8' \
|
||||||
|
-d $'{
|
||||||
|
"body": "Test Bark Server",
|
||||||
|
"title": "Test Title",
|
||||||
|
"badge": 1,
|
||||||
|
"category": "myNotificationCategory",
|
||||||
|
"sound": "minuet.caf",
|
||||||
|
"icon": "https://day.app/assets/images/avatar.jpg",
|
||||||
|
"group": "test",
|
||||||
|
"url": "https://mritd.com"
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
|
##### [JSON 请求 key 可以放进请求体中,URL 路径须为 /push,例如](https://bark.day.app/#/tutorial?id=json-请求-key-可以放进请求体中url-路径须为-push,例如)
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl -X "POST" "https://api.day.app/push" \
|
||||||
|
-H 'Content-Type: application/json; charset=utf-8' \
|
||||||
|
-d $'{
|
||||||
|
"body": "Test Bark Server",
|
||||||
|
"title": "Test Title",
|
||||||
|
"device_key": "your_key"
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
|
## [请求参数](https://bark.day.app/#/tutorial?id=请求参数)
|
||||||
|
|
||||||
|
支持的参数列表,具体效果可在APP内预览。
|
||||||
|
|
||||||
|
| 参数 | 说明 |
|
||||||
|
|-----------|---------------------------------------------------------------------------------------------|
|
||||||
|
| title | 推送标题 |
|
||||||
|
| body | 推送内容 |
|
||||||
|
| level | 推送中断级别。 active:默认值,系统会立即亮屏显示通知 timeSensitive:时效性通知,可在专注状态下显示通知。 passive:仅将通知添加到通知列表,不会亮屏提醒。 |
|
||||||
|
| badge | 推送角标,可以是任意数字 |
|
||||||
|
| autoCopy | iOS14.5以下自动复制推送内容,iOS14.5以上需手动长按推送或下拉推送 |
|
||||||
|
| copy | 复制推送时,指定复制的内容,不传此参数将复制整个推送内容。 |
|
||||||
|
| sound | 可以为推送设置不同的铃声 |
|
||||||
|
| icon | 为推送设置自定义图标,设置的图标将替换默认Bark图标。 图标会自动缓存在本机,相同的图标 URL 仅下载一次。 |
|
||||||
|
| group | 对消息进行分组,推送将按group分组显示在通知中心中。 也可在历史消息列表中选择查看不同的群组。 |
|
||||||
|
| isArchive | 传 1 保存推送,传其他的不保存推送,不传按APP内设置来决定是否保存。 |
|
||||||
|
| url | 点击推送时,跳转的URL ,支持URL Scheme 和 Universal Link |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png)
|
19
apps/bark/data.yml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
name: Bark
|
||||||
|
title: 通知推送工具
|
||||||
|
description: 通知推送工具
|
||||||
|
additionalProperties:
|
||||||
|
key: bark
|
||||||
|
name: Bark
|
||||||
|
tags:
|
||||||
|
- WebSite
|
||||||
|
- Middleware
|
||||||
|
- Tool
|
||||||
|
- Local
|
||||||
|
shortDescZh: 通知推送工具
|
||||||
|
shortDescEn: Notification push tool
|
||||||
|
type: website
|
||||||
|
crossVersionUpdate: true
|
||||||
|
limit: 0
|
||||||
|
website: https://bark.day.app/
|
||||||
|
github: https://github.com/finb/bark/
|
||||||
|
document: https://bark.day.app/
|
BIN
apps/bark/logo.png
Normal file
After Width: | Height: | Size: 7.1 KiB |
@ -1,10 +0,0 @@
|
|||||||
additionalProperties:
|
|
||||||
formFields:
|
|
||||||
- default: 40031
|
|
||||||
edit: true
|
|
||||||
envKey: PANEL_APP_PORT_HTTP
|
|
||||||
labelEn: Port
|
|
||||||
labelZh: 端口
|
|
||||||
required: true
|
|
||||||
rule: paramPort
|
|
||||||
type: number
|
|
@ -1,16 +0,0 @@
|
|||||||
services:
|
|
||||||
bitwarden:
|
|
||||||
container_name: ${CONTAINER_NAME}
|
|
||||||
restart: always
|
|
||||||
networks:
|
|
||||||
- 1panel-network
|
|
||||||
ports:
|
|
||||||
- "${PANEL_APP_PORT_HTTP}:80"
|
|
||||||
volumes:
|
|
||||||
- ./data:/data
|
|
||||||
image: vaultwarden/server:1.31.0-alpine
|
|
||||||
labels:
|
|
||||||
createdBy: "Apps"
|
|
||||||
networks:
|
|
||||||
1panel-network:
|
|
||||||
external: true
|
|
@ -1,15 +0,0 @@
|
|||||||
# Bitwarden
|
|
||||||
|
|
||||||
Bitwarden 是一款开源的密码管理器,提供强大的安全性和便捷的密码管理功能。
|
|
||||||
|
|
||||||
## 主要功能:
|
|
||||||
|
|
||||||
- **密码保存与自动填充**:Bitwarden 可以安全地存储您的用户名和密码,以便您无需记忆它们。它还提供自动填充功能,可在登录网站时自动填充凭据。
|
|
||||||
- **安全密码生成器**:Bitwarden 具备内置的密码生成器,可以生成复杂、随机的密码,以增加您的在线帐户的安全性。
|
|
||||||
- **加密存储**:所有密码和敏感信息都以最高级别的加密进行存储,确保只有您能够访问和解锁您的数据。
|
|
||||||
- **跨平台支持**:Bitwarden 提供桌面应用、移动应用和网页扩展,支持各种操作系统和浏览器,使您可以在多个设备上轻松访问您的密码。
|
|
||||||
- **自动同步**:您的密码库会自动同步到 Bitwarden 云,这意味着无论您在哪里访问密码库,都可以获得最新的更新。
|
|
||||||
- **团队和家庭共享**:Bitwarden 允许您创建共享密码库,以便与家庭成员或团队成员共享敏感信息,同时保持安全和隐私。
|
|
||||||
- **安全审计**:Bitwarden 可以检查您的密码库,提供有关密码强度和重复使用的建议,以帮助您提高帐户的安全性。
|
|
||||||
- **二次验证 (2FA) 支持**:Bitwarden 支持多种两步验证方法,增加了帐户的安全性。
|
|
||||||
- **开源和自托管选项**:Bitwarden 是一个开源项目,您可以选择将其自托管在自己的服务器上,以增加对数据的控制和安全性。
|
|
@ -1,18 +0,0 @@
|
|||||||
name: Bitwarden
|
|
||||||
tags:
|
|
||||||
- 实用工具
|
|
||||||
title: 开源的密码管理服务
|
|
||||||
description: 开源的密码管理服务
|
|
||||||
additionalProperties:
|
|
||||||
key: bitwarden
|
|
||||||
name: Bitwarden
|
|
||||||
tags:
|
|
||||||
- Tool
|
|
||||||
shortDescZh: 开源的密码管理服务
|
|
||||||
shortDescEn: Open source password management service
|
|
||||||
type: tool
|
|
||||||
crossVersionUpdate: true
|
|
||||||
limit: 0
|
|
||||||
website: https://bitwarden.com/
|
|
||||||
github: https://github.com/dani-garcia/vaultwarden
|
|
||||||
document: https://github.com/dani-garcia/vaultwarden/wiki
|
|
Before Width: | Height: | Size: 6.2 KiB |
@ -1,10 +0,0 @@
|
|||||||
additionalProperties:
|
|
||||||
formFields:
|
|
||||||
- default: 8080
|
|
||||||
edit: true
|
|
||||||
envKey: PANEL_APP_PORT_HTTP
|
|
||||||
labelEn: Port
|
|
||||||
labelZh: 端口
|
|
||||||
required: true
|
|
||||||
rule: paramPort
|
|
||||||
type: number
|
|
@ -1,17 +0,0 @@
|
|||||||
services:
|
|
||||||
bytebase:
|
|
||||||
image: bytebase/bytebase:2.22.1
|
|
||||||
container_name: ${CONTAINER_NAME}
|
|
||||||
restart: always
|
|
||||||
networks:
|
|
||||||
- 1panel-network
|
|
||||||
ports:
|
|
||||||
- ${PANEL_APP_PORT_HTTP}:8080
|
|
||||||
volumes:
|
|
||||||
- ./data:/var/opt/bytebase
|
|
||||||
init: true
|
|
||||||
labels:
|
|
||||||
createdBy: "Apps"
|
|
||||||
networks:
|
|
||||||
1panel-network:
|
|
||||||
external: true
|
|
@ -1,11 +0,0 @@
|
|||||||
# Bytebase
|
|
||||||
|
|
||||||
**Bytebase** 是面向开发人员和 DBA 的数据库 CI/CD 解决方案。它是CNCF Landscape和Platform Engineering包含的唯一数据库 CI/CD 项目。
|
|
||||||
|
|
||||||
## Bytebase 系列由以下工具组成:
|
|
||||||
|
|
||||||
- **Bytebase 控制台**:供开发人员和 DBA 管理数据库开发生命周期的基于 Web 的 GUI。
|
|
||||||
- **Bytebase API**:提供 gRPC 和 RESTful API 来操作 Bytebase 的各个方面。
|
|
||||||
- **Bytebase CLI**:帮助开发人员将数据库更改集成到现有 CI/CD 工作流中的 CLI。
|
|
||||||
- **Bytebase GitHub App和SQL Review GitHub Action**:GitHub App 和 GitHub Action 用于检测 SQL 反模式并在 Pull Request 期间强制执行一致的 SQL 样式指南。
|
|
||||||
- **Terraform Bytebase 提供程序**:Terraform 提供程序使团队能够通过 Terraform 管理 Bytebase 资源。典型的设置包括团队使用 Terraform 从云供应商配置数据库实例,然后使用 Bytebase 提供程序准备这些实例以供应用程序使用。
|
|
@ -1,19 +0,0 @@
|
|||||||
name: Bytebase
|
|
||||||
tags:
|
|
||||||
- DevOps
|
|
||||||
title: 开源数据库 DevOps 解决方案
|
|
||||||
description: 开源数据库 DevOps 解决方案
|
|
||||||
additionalProperties:
|
|
||||||
key: bytebase
|
|
||||||
name: Bytebase
|
|
||||||
tags:
|
|
||||||
- DevOps
|
|
||||||
shortDescZh: 开源数据库 DevOps 解决方案
|
|
||||||
shortDescEn: Open-Source Database DevOps Solution
|
|
||||||
type: tool
|
|
||||||
crossVersionUpdate: true
|
|
||||||
limit: 0
|
|
||||||
recommend: 0
|
|
||||||
website: https://www.bytebase.com
|
|
||||||
github: https://github.com/bytebase/bytebase
|
|
||||||
document: https://www.bytebase.com/docs
|
|
Before Width: | Height: | Size: 3.1 KiB |
@ -1,17 +0,0 @@
|
|||||||
additionalProperties:
|
|
||||||
formFields:
|
|
||||||
- default: 40109
|
|
||||||
edit: true
|
|
||||||
envKey: PANEL_APP_PORT_HTTP
|
|
||||||
labelEn: HTTP Port
|
|
||||||
labelZh: HTTP端口
|
|
||||||
required: true
|
|
||||||
rule: paramPort
|
|
||||||
type: number
|
|
||||||
- default: Asia/Shanghai
|
|
||||||
edit: true
|
|
||||||
envKey: TIME_ZONE
|
|
||||||
labelEn: Time zone
|
|
||||||
labelZh: 时区
|
|
||||||
required: true
|
|
||||||
type: text
|
|
@ -1,24 +0,0 @@
|
|||||||
services:
|
|
||||||
calibre-web:
|
|
||||||
container_name: ${CONTAINER_NAME}
|
|
||||||
restart: always
|
|
||||||
networks:
|
|
||||||
- 1panel-network
|
|
||||||
ports:
|
|
||||||
- "${PANEL_APP_PORT_HTTP}:8083"
|
|
||||||
volumes:
|
|
||||||
- "./data/config:/config"
|
|
||||||
- "./data/books:/books"
|
|
||||||
environment:
|
|
||||||
- PUID=1000
|
|
||||||
- PGID=1000
|
|
||||||
- TZ=${TIME_ZONE}
|
|
||||||
- DOCKER_MODS=linuxserver/mods:universal-calibre
|
|
||||||
- OAUTHLIB_RELAX_TOKEN_SCOPE=1
|
|
||||||
image: linuxserver/calibre-web:0.6.21-ls241
|
|
||||||
labels:
|
|
||||||
createdBy: "Apps"
|
|
||||||
|
|
||||||
networks:
|
|
||||||
1panel-network:
|
|
||||||
external: true
|
|
@ -1,35 +0,0 @@
|
|||||||
# 默认账户密码
|
|
||||||
|
|
||||||
```
|
|
||||||
username:admin
|
|
||||||
password:admin123
|
|
||||||
```
|
|
||||||
|
|
||||||
# Calibre-Web
|
|
||||||
|
|
||||||
**Calibre-Web** 是一款网络应用程序,提供干净直观的界面,用于使用有效的Calibre数据库浏览、阅读和下载电子书。
|
|
||||||
|
|
||||||
## 特性:
|
|
||||||
|
|
||||||
- 现代且响应迅速的 Bootstrap 3 HTML5 界面
|
|
||||||
- 完整的图形设置
|
|
||||||
- 全面的用户管理以及细粒度的每用户权限
|
|
||||||
- 管理界面
|
|
||||||
- 多语言用户界面支持20多种语言(supported languages)
|
|
||||||
- 电子书阅读器应用程序的 OPDS 源
|
|
||||||
- 高级搜索和过滤选项
|
|
||||||
- 定制书籍收藏(书架)创建
|
|
||||||
- 电子书元数据编辑和删除支持
|
|
||||||
- 从各种来源下载元数据(可通过插件扩展)
|
|
||||||
- 通过 Calibre 二进制文件转换电子书
|
|
||||||
- 对登录用户的电子书下载限制
|
|
||||||
- 公共用户注册支持
|
|
||||||
- 只需单击一下即可将电子书发送到电子阅读器
|
|
||||||
- 将 Kobo 设备与您的 Calibre 库同步
|
|
||||||
- 浏览器内电子书阅读支持多种格式
|
|
||||||
- 上传各种格式的新书,包括音频格式
|
|
||||||
- Calibre 自定义列支持
|
|
||||||
- 根据每个用户的类别和自定义列内容隐藏内容
|
|
||||||
- 自我更新能力
|
|
||||||
- “Magic Link”登录可轻松访问电子阅读器
|
|
||||||
- LDAP、Google/GitHub OAuth 和代理身份验证支持
|
|
@ -1,19 +0,0 @@
|
|||||||
name: Calibre-Web
|
|
||||||
tags:
|
|
||||||
- 多媒体
|
|
||||||
title: 用于浏览、阅读和下载 Calibre 数据库中存储的电子书的 Web 应用程序
|
|
||||||
description: 用于浏览、阅读和下载 Calibre 数据库中存储的电子书的 Web 应用程序
|
|
||||||
additionalProperties:
|
|
||||||
key: calibre-web
|
|
||||||
name: Calibre-Web
|
|
||||||
tags:
|
|
||||||
- Media
|
|
||||||
shortDescZh: 用于浏览、阅读和下载 Calibre 数据库中存储的电子书的 Web 应用程序
|
|
||||||
shortDescEn: Web app for browsing, reading and downloading eBooks stored in a Calibre database
|
|
||||||
type: tool
|
|
||||||
crossVersionUpdate: true
|
|
||||||
limit: 0
|
|
||||||
recommend: 0
|
|
||||||
website: https://calibre-ebook.com
|
|
||||||
github: https://github.com/janeczku/calibre-web
|
|
||||||
document: https://calibre-ebook.com/help
|
|
Before Width: | Height: | Size: 8.5 KiB |