diff --git a/apps/komari/README.md b/apps/komari/README.md new file mode 100644 index 000000000..7dc861d86 --- /dev/null +++ b/apps/komari/README.md @@ -0,0 +1,131 @@ + +# Komari + +Komari 是一款轻量级的自托管服务器监控工具,旨在提供简单、高效的服务器性能监控解决方案。它支持通过 Web 界面查看服务器状态,并通过轻量级 Agent 收集数据。 + +[文档](https://komari-monitor.github.io/komari-document/) + +## 特性 +- **轻量高效**:低资源占用,适合各种规模的服务器。 +- **自托管**:完全掌控数据隐私,部署简单。 +- **Web 界面**:直观的监控仪表盘,易于使用。 + +## 快速开始 + +### 依赖 +- Docker(快速部署) +- 或者 Go 1.18+ 和 Node.js 20+(手工构建) + +### Docker 部署 +1. 创建数据目录: + ```bash + mkdir -p ./data + ``` +2. 运行 Docker 容器: + ```bash + docker run -d \ + -p 25774:25774 \ + -v $(pwd)/data:/app/data \ + --name komari \ + ghcr.io/komari-monitor/komari:latest + ``` +3. 查看默认账号和密码: + ```bash + docker logs komari + ``` +4. 在浏览器中访问 `http://:25774`。 + +> [!NOTE] +> 你也可以通过环境变量 `ADMIN_USERNAME` 和 `ADMIN_PASSWORD` 自定义初始用户名和密码。 + +### 二进制文件部署 +1. 访问 Komari 的 [GitHub Release 页面](https://github.com/komari-monitor/komari/releases) 下载适用于你操作系统的最新二进制文件。 +2. 运行 Komari: + ```bash + ./komari server -l 0.0.0.0:25774 + ``` +3. 在浏览器中访问 `http://:25774`,默认监听 `25774` 端口。 +4. 默认账号和密码可在启动日志中查看,或通过环境变量 `ADMIN_USERNAME` 和 `ADMIN_PASSWORD` 设置。 + +> [!NOTE] +> 确保二进制文件具有可执行权限(`chmod +x komari`)。数据将保存在运行目录下的 `data` 文件夹中。 + + +### 手工构建 +1. 构建前端静态文件: + ```bash + git clone https://github.com/komari-monitor/komari-web + cd komari-web + npm install + npm run build + ``` +2. 构建后端: + ```bash + git clone https://github.com/komari-monitor/komari + cd komari + ``` + 将步骤1中生成的静态文件复制到 `komari` 项目根目录下的 `/public/dist` 文件夹。 + ```bash + go build -o komari + ``` +4. 运行: + ```bash + ./komari server -l 0.0.0.0:25774 + ``` + 默认监听 `25774` 端口,访问 `http://localhost:25774`。 + +## 前端开发指南 +这个坑晚点再填吧 ヽ( ̄ω ̄( ̄ω ̄〃)ゝ + +## 客户端 Agent 开发指南 +这个坑晚点再填吧 (o゜▽゜)o☆ + +## 贡献 +欢迎提交 Issue 或 Pull Request! + +## 鸣谢 + - 感谢我自己能这么闲 + +## 引用 + - [gorm.io](https://gorm.io/) + - [spf13/cobra](https://github.com/spf13/cobra) + - [oschwald/maxminddb-golang](https://github.com/oschwald/maxminddb-golang) + - [gorilla/websocket](https://github.com/gorilla/websocket) + - [google/uuid](https://github.com/google/uuid) + - [gin-gonic/gin](https://github.com/gin-gonic/gin) + - [UserExistsError/conpty](https://github.com/UserExistsError/conpty) + - [creack/pty](https://github.com/creack/pty) + - [rhysd/go-github-selfupdate](https://github.com/rhysd/go-github-selfupdate) + - [shirou/gopsutil](https://github.com/shirou/gopsutil) + +## 许可证 +[MIT License](LICENSE) + +## 截图 + +![PixPin_2025-06-07_15-28-30](https://github.com/user-attachments/assets/edce5694-c6c8-4647-bc11-8b27105fd55c) +![PixPin_2025-06-07_15-28-49](https://github.com/user-attachments/assets/23b58032-211a-4b59-b444-c8267606a0bb) +![PixPin_2025-06-07_15-29-05](https://github.com/user-attachments/assets/f4325d4d-fa69-41c6-9251-19f530476e65) +![PixPin_2025-06-07_15-30-05](https://github.com/user-attachments/assets/69be38f6-6681-4afb-9a04-965d39b7fcc2) +![PixPin_2025-06-07_15-30-46](https://github.com/user-attachments/assets/01d84dd1-3c81-4424-a041-7dbc2ae5822e) + + +## 碎碎念 + +### 我为什么做Komari? + +起因: [求推荐系统监控软件](https://www.nodeseek.com/post-133745-1) + +> @古xx斯 +> 哪吒? +> > 数据至少保存15天 + +> @sxxu +> 怕不是做梦的预算 + +> @Vxxn +> prometheus加grafana +> > 部署太麻烦 + +没有合适的,最近刚好时间稍微多了一些,就搓了 komari. + diff --git a/apps/komari/data.yml b/apps/komari/data.yml new file mode 100644 index 000000000..3a8aa20c9 --- /dev/null +++ b/apps/komari/data.yml @@ -0,0 +1,38 @@ +# 在应用商店列表顶部显示的应用名称 +name: Komari +# 中文标签 +tags: + - 工具 +# 鼠标悬浮在应用上时显示的标题 +title: 轻量级的服务器状态监控工具 +# 应用详情页的完整描述 +description: Komari 是一个轻量级的服务器状态监控工具,界面美观,易于部署。 +# 应用的核心属性 +additionalProperties: + # 应用的唯一英文ID,用于创建文件夹等 + key: komari + # 应用名称 + name: Komari + # 英文标签 + tags: + - Tool + # 中文短描述 + shortDescZh: 一个轻量级的服务器状态监控工具。 + # 英文短描述 + shortDescEn: A lightweight server status monitoring tool. + # 应用类型, 'tool' | 'website' | 'runtime' + type: tool + # 是否允许跨版本升级 + crossVersionUpdate: true + # 允许安装的数量限制, 0 代表无限制 + limit: 0 + # 官网地址 + website: https://github.com/komari-monitor/komari + # Github 地址 + github: https://github.com/komari-monitor/komari + # 文档地址 + document: https://github.com/komari-monitor/komari + # 支持的 CPU 架构 + architectures: + - amd64 + - arm64 diff --git a/apps/komari/latest/data.yml b/apps/komari/latest/data.yml new file mode 100644 index 000000000..157448555 --- /dev/null +++ b/apps/komari/latest/data.yml @@ -0,0 +1,35 @@ +# additionalProperties 是固定写法 +additionalProperties: + # formFields 定义了安装时需要填写的表单字段 + formFields: + # 字段1: 端口配置 + - default: 25774 + edit: true + # 修正:使用驼峰命名的 envKey + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 应用端口 + required: true + rule: paramPort + type: number + # 字段2: 用户名配置 + - default: admin + edit: true + # 修正:使用驼峰命名的 envKey + envKey: ADMIN_USERNAME + labelEn: Admin Username + labelZh: 管理员用户名 + required: true + rule: paramCommon + type: text + # 字段3: 密码配置 + - default: changeme + edit: true + # 修正:使用驼峰命名的 envKey + envKey: ADMIN_PASSWORD + labelEn: Admin Password + labelZh: 管理员密码 + random: true + required: true + rule: paramComplexity + type: password diff --git a/apps/komari/latest/docker-compose.yml b/apps/komari/latest/docker-compose.yml new file mode 100644 index 000000000..e32ec8e8c --- /dev/null +++ b/apps/komari/latest/docker-compose.yml @@ -0,0 +1,22 @@ +version: "3" +services: + komari: + image: ghcr.io/komari-monitor/komari:latest + container_name: ${CONTAINER_NAME} + restart: always + ports: + - "${PANEL_APP_PORT_HTTP}:25774" + volumes: + - ./data:/app/data + # 使用更明确的 YAML 数组格式定义环境变量 + environment: + - "ADMIN_USERNAME=${ADMIN_USERNAME}" + - "ADMIN_PASSWORD=${ADMIN_PASSWORD}" + networks: + - 1panel-network + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/komari/logo.png b/apps/komari/logo.png new file mode 100644 index 000000000..c5d028d10 Binary files /dev/null and b/apps/komari/logo.png differ diff --git a/apps/qbittorrent/README.md b/apps/qbittorrent/README.md index 49580d765..a618f7148 100644 --- a/apps/qbittorrent/README.md +++ b/apps/qbittorrent/README.md @@ -1,73 +1,73 @@ - -# 本应用介绍 - -基于镜像 -> - https://hub.docker.com/r/jarylc/qbittorrent - -- 数据目录:"./data" -- 默认账号:admin -- 密码:adminadmin -- 开启中文,默认为PT下载做的设置,但未优化参数。 - -> 原项目相关 ->> - https://www.qbittorrent.org/ ->> - https://github.com/qbittorrent/qBittorrent - -# 原项目介绍 - -- qBittorrent是一个跨平台的开源、自由的BitTorrent客户端,其图形用户界面是通过Qt所写,后端使用libtorrent。 -- 由贝尔福- 蒙贝利亚尔理工大学的克里斯托夫·迪梅,在2006年3月开始开发。 - -qBittorrent - A BitTorrent client in Qt ------------------------------------------- - -[![AppVeyor Status](https://ci.appveyor.com/api/projects/status/github/qbittorrent/qBittorrent?branch=master&svg=true)](https://ci.appveyor.com/project/qbittorrent/qBittorrent) -[![GitHub Actions CI Status](https://github.com/qbittorrent/qBittorrent/workflows/GitHub%20Actions%20CI/badge.svg)](https://github.com/qbittorrent/qBittorrent/actions) -[![Coverity Status](https://scan.coverity.com/projects/5494/badge.svg)](https://scan.coverity.com/projects/5494) -******************************** -### Description: -qBittorrent is a bittorrent client programmed in C++ / Qt that uses -libtorrent (sometimes called libtorrent-rasterbar) by Arvid Norberg. - -It aims to be a good alternative to all other bittorrent clients -out there. qBittorrent is fast, stable and provides unicode -support as well as many features. - -The free [IP to Country Lite database](https://db-ip.com/db/download/ip-to-country-lite) by [DB-IP](https://db-ip.com/) is used for resolving the countries of peers. The database is licensed under the [Creative Commons Attribution 4.0 International License](https://creativecommons.org/licenses/by/4.0/). - -### Installation: -For installation, follow the instructions from INSTALL file, but simple: - -``` -./configure -make && make install -qbittorrent -``` - -will install and execute qBittorrent hopefully without any problem. - -### Public key: -Starting from v3.3.4 all source tarballs and binaries are signed.
-The key currently used is 4096R/[5B7CC9A2](https://pgp.mit.edu/pks/lookup?op=get&search=0x6E4A2D025B7CC9A2) with fingerprint `D8F3DA77AAC6741053599C136E4A2D025B7CC9A2`.
-You can also download it from [here](https://github.com/qbittorrent/qBittorrent/raw/master/5B7CC9A2.asc).
-**PREVIOUSLY** the following key was used to sign the v3.3.4 source tarballs and v3.3.4 Windows installer **only**: 4096R/[520EC6F6](https://pgp.mit.edu/pks/lookup?op=get&search=0xA1ACCAE4520EC6F6) with fingerprint `F4A5FD201B117B1C2AB590E2A1ACCAE4520EC6F6`.
- -### Misc: -For more information please visit: -https://www.qbittorrent.org - -or our wiki here: -http://wiki.qbittorrent.org - -Use the forum for troubleshooting before reporting bugs: -http://forum.qbittorrent.org - -Please report any bug (or feature request) to: -http://bugs.qbittorrent.org - -Official IRC channel: -[#qbittorrent on irc.libera.chat](ircs://irc.libera.chat:6697/qbittorrent) - ------------------------------------------- -sledgehammer999 \ - + +# 本应用介绍 + +基于镜像 +> - https://hub.docker.com/r/jarylc/qbittorrent + +- 数据目录:"./data" +- 默认账号:admin +- 密码:adminadmin +- 开启中文,默认为PT下载做的设置,但未优化参数。 + +> 原项目相关 +>> - https://www.qbittorrent.org/ +>> - https://github.com/qbittorrent/qBittorrent + +# 原项目介绍 + +- qBittorrent是一个跨平台的开源、自由的BitTorrent客户端,其图形用户界面是通过Qt所写,后端使用libtorrent。 +- 由贝尔福- 蒙贝利亚尔理工大学的克里斯托夫·迪梅,在2006年3月开始开发。 + +qBittorrent - A BitTorrent client in Qt +------------------------------------------ + +[![AppVeyor Status](https://ci.appveyor.com/api/projects/status/github/qbittorrent/qBittorrent?branch=master&svg=true)](https://ci.appveyor.com/project/qbittorrent/qBittorrent) +[![GitHub Actions CI Status](https://github.com/qbittorrent/qBittorrent/workflows/GitHub%20Actions%20CI/badge.svg)](https://github.com/qbittorrent/qBittorrent/actions) +[![Coverity Status](https://scan.coverity.com/projects/5494/badge.svg)](https://scan.coverity.com/projects/5494) +******************************** +### Description: +qBittorrent is a bittorrent client programmed in C++ / Qt that uses +libtorrent (sometimes called libtorrent-rasterbar) by Arvid Norberg. + +It aims to be a good alternative to all other bittorrent clients +out there. qBittorrent is fast, stable and provides unicode +support as well as many features. + +The free [IP to Country Lite database](https://db-ip.com/db/download/ip-to-country-lite) by [DB-IP](https://db-ip.com/) is used for resolving the countries of peers. The database is licensed under the [Creative Commons Attribution 4.0 International License](https://creativecommons.org/licenses/by/4.0/). + +### Installation: +For installation, follow the instructions from INSTALL file, but simple: + +``` +./configure +make && make install +qbittorrent +``` + +will install and execute qBittorrent hopefully without any problem. + +### Public key: +Starting from v3.3.4 all source tarballs and binaries are signed.
+The key currently used is 4096R/[5B7CC9A2](https://pgp.mit.edu/pks/lookup?op=get&search=0x6E4A2D025B7CC9A2) with fingerprint `D8F3DA77AAC6741053599C136E4A2D025B7CC9A2`.
+You can also download it from [here](https://github.com/qbittorrent/qBittorrent/raw/master/5B7CC9A2.asc).
+**PREVIOUSLY** the following key was used to sign the v3.3.4 source tarballs and v3.3.4 Windows installer **only**: 4096R/[520EC6F6](https://pgp.mit.edu/pks/lookup?op=get&search=0xA1ACCAE4520EC6F6) with fingerprint `F4A5FD201B117B1C2AB590E2A1ACCAE4520EC6F6`.
+ +### Misc: +For more information please visit: +https://www.qbittorrent.org + +or our wiki here: +http://wiki.qbittorrent.org + +Use the forum for troubleshooting before reporting bugs: +http://forum.qbittorrent.org + +Please report any bug (or feature request) to: +http://bugs.qbittorrent.org + +Official IRC channel: +[#qbittorrent on irc.libera.chat](ircs://irc.libera.chat:6697/qbittorrent) + +------------------------------------------ +sledgehammer999 \ +