发布应用 Nginx UI

Signed-off-by: Meng Sen <qyg2297248353@gmail.com>
This commit is contained in:
新疆萌森软件开发工作室 2024-10-18 14:00:52 +08:00
parent 950459bf32
commit 2a0fb97f5d
11 changed files with 238 additions and 29 deletions

3
.github/README.md vendored
View File

@ -121,7 +121,8 @@
| 🟢 | <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/nezha/logo.png" width="22"/> | 哪吒监控 | https://nezha.wiki/ | 【哪吒监控】开源、轻量、易用的服务器监控、运维工具 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/nginx-ui/logo.png" width="22"/> | Nginx UI | https://nginxui.com/ | 全新的 Nginx 网络管理界面,旨在简化 Nginx 服务器的管理和配置 | |
| 🟢 | <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/ | 快速、协作的团队知识库 | |

View File

@ -104,7 +104,8 @@
| 🟢 | <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/nezha/logo.png" width="22"/> | 哪吒监控 | https://nezha.wiki/ | 【哪吒监控】开源、轻量、易用的服务器监控、运维工具 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/nginx-ui/logo.png" width="22"/> | Nginx UI | https://nginxui.com/ | 全新的 Nginx 网络管理界面,旨在简化 Nginx 服务器的管理和配置 | |
| 🟢 | <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/ | 快速、协作的团队知识库 | |

View File

@ -0,0 +1,86 @@
additionalProperties:
formFields:
- default: "/home/nginx-ui"
edit: true
envKey: NGINX_UI_ROOT_PATH
labelZh: 数据持久化路径
labelEn: Data persistence path
required: true
type: text
- default: 80
edit: true
envKey: PANEL_APP_PORT_HTTP
labelZh: Web UI 端口
labelEn: Web UI Port
required: true
rule: paramPort
type: number
- default: 443
edit: true
envKey: PANEL_APP_PORT_HTTPS
labelZh: Web UI 端口 (HTTPS)
labelEn: Web UI Port (HTTPS)
required: true
rule: paramPort
type: number
- default: ""
edit: true
envKey: ADMINMAIL
labelZh: 管理员邮箱
labelEn: Admin Email
required: true
type: text
- default: ""
edit: true
envKey: ADMINPASS
labelZh: 管理员密码
labelEn: Admin Password
required: true
type: password
- default: ""
edit: true
envKey: NGINX_UI_SERVER_JWT_SECRET
labelZh: JWT 密钥盐
labelEn: JWT Secret Salt
required: true
type: password
- default: "https://mirror.ghproxy.com/"
edit: true
envKey: NGINX_UI_SERVER_GITHUB_PROXY
labelZh: GitHub 代理地址
labelEn: GitHub Proxy
required: false
type: text
- default: "Nginx UI"
edit: true
envKey: NGINX_UI_SERVER_NAME
labelZh: Nginx UI 显示标题
labelEn: Nginx UI Display Title
required: true
type: text
- default: "false"
edit: true
envKey: NGINX_UI_SERVER_SKIP_INSTALLATION
labelZh: 跳过安装模式
labelEn: Skip Installation Mode
required: true
type: select
values:
- label: 跳过
value: "true"
- label: 不跳过
value: "false"
- default: ""
edit: true
envKey: NGINX_UI_PREDEFINED_USER_NAME
labelZh: 预设用户名 (跳过安装模式)
labelEn: Predefined Username
required: false
type: text
- default: ""
edit: true
envKey: NGINX_UI_PREDEFINED_USER_PASSWORD
labelZh: 预设密码 (跳过安装模式)
labelEn: Predefined Password
required: false
type: text

View File

@ -0,0 +1,33 @@
networks:
1panel-network:
external: true
services:
nginx-ui:
image: uozi/nginx-ui:v2.0.0-beta.36
container_name: ${CONTAINER_NAME}
labels:
createdBy: "Apps"
restart: always
stdin_open: true
networks:
- 1panel-network
ports:
- ${PANEL_APP_PORT_HTTP}:80
- ${PANEL_APP_PORT_HTTPS}:443
volumes:
- ${NGINX_UI_ROOT_PATH}/nginx:/etc/nginx
- ${NGINX_UI_ROOT_PATH}/nginx-ui:/etc/nginx-ui
- ${NGINX_UI_ROOT_PATH}/www:/var/www
environment:
- TZ=Asia/Shanghai
- NGINX_UI_SERVER_HTTP_HOST=0.0.0.0
- NGINX_UI_SERVER_HTTP_PORT=9000
- NGINX_UI_SERVER_RUN_MODE=release
- NGINX_UI_SERVER_HTTP_CHALLENGE_PORT=9180
- NGINX_UI_SERVER_DATABASE=database
- NGINX_UI_SERVER_START_CMD=login
- NGINX_UI_SERVER_START_CMD=database
- NGINX_UI_SERVER_PAGE_SIZE=10
- NGINX_UI_SERVER_CERT_RENEWAL_INTERVAL=7
- NGINX_UI_SERVER_SKIP_INSTALLATION=false

View 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

View File

@ -0,0 +1,10 @@
#!/bin/bash
if [ -f .env ]; then
source .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi

View 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

33
apps/nginx-ui/README.md Normal file
View File

@ -0,0 +1,33 @@
# Nginx UI
Nginx 网络管理界面
![Nginx UI](https://file.lifebus.top/imgs/kimai_cover.png)
Kimai 是一个基于网络的多用户时间追踪应用。对每个人都很棒:自由职业者、公司、组织 - 每个人都可以追踪时间、生成报告、创建发票并做更多事情。
![](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)
## 简介
Nginx UI 是一个全新的 Nginx 网络管理界面,旨在简化 Nginx 服务器的管理和配置。它提供实时服务器统计数据、ChatGPT
助手、一键部署、Let's Encrypt 证书的自动续签以及用户友好的网站配置编辑工具。此外Nginx UI 还提供了在线访问 Nginx
日志、配置文件的自动测试和重载、网络终端、深色模式和自适应网页设计等功能。Nginx UI 采用 Go 和 Vue 构建,确保在管理 Nginx
服务器时提供无缝高效的体验。
## 特性
+ 在线查看服务器 CPU、内存、系统负载、磁盘使用率等指标
+ 在线 ChatGPT 助理
+ 一键申请和自动续签 Let's encrypt 证书
+ 在线编辑 Nginx 配置文件,编辑器支持 Nginx 配置语法高亮
+ 在线查看 Nginx 日志
+ 使用 Go 和 Vue 开发,发行版本为单个可执行的二进制文件
+ 保存配置后自动测试配置文件并重载 Nginx
+ 基于网页浏览器的高级命令行终端
+ 支持深色模式
+ 自适应网页设计
---
![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png)

15
apps/nginx-ui/data.yml Normal file
View File

@ -0,0 +1,15 @@
additionalProperties:
key: nginx-ui
name: Nginx UI
tags:
- WebSite
- Middleware
- Local
shortDescZh: 全新的 Nginx 网络管理界面,旨在简化 Nginx 服务器的管理和配置
shortDescEn: A new Nginx network management interface designed to simplify the management and configuration of Nginx servers
type: website
crossVersionUpdate: true
limit: 0
website: https://nginxui.com/
github: https://github.com/0xJacky/nginx-ui/
document: https://nginxui.com/zh_CN/guide/about.html

BIN
apps/nginx-ui/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -1,28 +1,28 @@
$appsDir = "C:\Users\ms\Documents\JetBrains\IdeaProjects\appstore\apps"
# 遍历 apps 目录中的每个子目录
Get-ChildItem -Path $appsDir -Directory | ForEach-Object {
$appDir = $_.FullName
$dataFile = Join-Path $appDir "data.yml"
# 检查 data.yml 文件是否存在
if (Test-Path $dataFile) {
# 读取文件内容,指定编码为 UTF-8
$lines = Get-Content $dataFile -Encoding UTF8
# 查找 "additionalProperties:" 行的索引
$index = $lines.IndexOf("additionalProperties:")
if ($index -ne -1) {
# 只保留从 "additionalProperties:" 行开始的内容
$newContent = $lines[$index..($lines.Length - 1)]
# 将新的内容写回到文件中,指定编码为 UTF-8
Set-Content -Path $dataFile -Value $newContent -Encoding UTF8
Write-Host "处理完成: $dataFile"
} else {
Write-Host "未找到 'additionalProperties:' 行: $dataFile"
}
} else {
Write-Host "文件不存在: $dataFile"
}
$appsDir = "C:\Users\ms\Documents\JetBrains\IdeaProjects\appstore\apps"
# 遍历 apps 目录中的每个子目录
Get-ChildItem -Path $appsDir -Directory | ForEach-Object {
$appDir = $_.FullName
$dataFile = Join-Path $appDir "data.yml"
# 检查 data.yml 文件是否存在
if (Test-Path $dataFile) {
# 读取文件内容,指定编码为 UTF-8
$lines = Get-Content $dataFile -Encoding UTF8
# 查找 "additionalProperties:" 行的索引
$index = $lines.IndexOf("additionalProperties:")
if ($index -ne -1) {
# 只保留从 "additionalProperties:" 行开始的内容
$newContent = $lines[$index..($lines.Length - 1)]
# 将新的内容写回到文件中,指定编码为 UTF-8
Set-Content -Path $dataFile -Value $newContent -Encoding UTF8
Write-Host "处理完成: $dataFile"
} else {
Write-Host "未找到 'additionalProperties:' 行: $dataFile"
}
} else {
Write-Host "文件不存在: $dataFile"
}
}