From e546a86e88834f4c6fa76662586e8860a1c84a96 Mon Sep 17 00:00:00 2001 From: arch3rPro <30855883+arch3rPro@users.noreply.github.com> Date: Thu, 10 Jul 2025 18:17:49 +0800 Subject: [PATCH] feat: create app PortNote --- apps/portnote/README.md | 56 +++++++++++++++++++++++++ apps/portnote/README_en.md | 56 +++++++++++++++++++++++++ apps/portnote/data.yml | 34 +++++++++++++++ apps/portnote/latest/data.yml | 19 +++++++++ apps/portnote/latest/docker-compose.yml | 34 +++++++++++++++ apps/portnote/v1.2.0/data.yml | 19 +++++++++ apps/portnote/v1.2.0/docker-compose.yml | 34 +++++++++++++++ 7 files changed, 252 insertions(+) create mode 100644 apps/portnote/README.md create mode 100644 apps/portnote/README_en.md create mode 100644 apps/portnote/data.yml create mode 100644 apps/portnote/latest/data.yml create mode 100644 apps/portnote/latest/docker-compose.yml create mode 100644 apps/portnote/v1.2.0/data.yml create mode 100644 apps/portnote/v1.2.0/docker-compose.yml diff --git a/apps/portnote/README.md b/apps/portnote/README.md new file mode 100644 index 0000000..2be0905 --- /dev/null +++ b/apps/portnote/README.md @@ -0,0 +1,56 @@ +
+

PortNote

+

+ 轻量级服务器端口管理与可视化工具 +
+ GitHub +

+
+
+ +> [!提示] +> PortNote 是一款轻量级服务器端口管理与可视化工具,适合资产与端口信息管理,支持多平台部署。 + +## 主要功能 +- 端口信息可视化管理 +- 支持多服务器、多端口批量管理 +- 端口用途、负责人、备注等信息记录 +- 支持端口状态标记(如已用、空闲、保留等) +- 支持导入导出(JSON、Excel) +- 支持 Docker 一键部署 +- 支持自定义字段 +- 支持多用户协作 + +## 快速开始 +### Docker 部署 +```bash +docker run -d \ + -p 8080:8080 \ + -v $PWD/data:/app/data \ + --name portnote \ + crocofied/portnote:latest +``` +- 默认访问地址:http://localhost:8080 +- 数据将持久化到挂载的 `data` 目录 + +### 其他部署方式 +详见[官方文档](https://github.com/crocofied/PortNote/blob/main/README.md) + +## 截图 +

+screenshot +

+ +## 常见问题 FAQ +- **Q: 支持哪些平台?** + A: 支持 Docker、Linux、Windows、MacOS。 +- **Q: 如何备份数据?** + A: 数据默认保存在挂载的 data 目录,直接备份该目录即可。 +- **Q: 支持多用户协作吗?** + A: 支持,可为不同用户分配不同权限。 +- **Q: 支持自定义端口字段吗?** + A: 支持,可在设置中自定义字段。 + +## 相关链接 +- GitHub: https://github.com/crocofied/PortNote +- 官方文档: https://github.com/crocofied/PortNote/blob/main/README.md \ No newline at end of file diff --git a/apps/portnote/README_en.md b/apps/portnote/README_en.md new file mode 100644 index 0000000..b820660 --- /dev/null +++ b/apps/portnote/README_en.md @@ -0,0 +1,56 @@ +
+

PortNote

+

+ Lightweight server port management and visualization tool +
+ GitHub +

+
+
+ +> [!NOTE] +> PortNote is a lightweight server port management and visualization tool, suitable for asset and port information management, supporting cross-platform deployment. + +## Features +- Visual management of port information +- Batch management for multiple servers and ports +- Record port usage, owner, remarks, etc. +- Mark port status (used, idle, reserved, etc.) +- Import/export (JSON, Excel) +- One-click Docker deployment +- Custom fields supported +- Multi-user collaboration + +## Getting Started +### Docker Deployment +```bash +docker run -d \ + -p 8080:8080 \ + -v $PWD/data:/app/data \ + --name portnote \ + crocofied/portnote:latest +``` +- Default access: http://localhost:8080 +- Data will be persisted in the mounted `data` directory + +### Other Deployment Methods +See the [official documentation](https://github.com/crocofied/PortNote/blob/main/README.md) for details. + +## Screenshot +

+screenshot +

+ +## FAQ +- **Q: Which platforms are supported?** + A: Docker, Linux, Windows, MacOS are supported. +- **Q: How to backup data?** + A: Data is stored in the mounted data directory, just backup this directory. +- **Q: Does it support multi-user collaboration?** + A: Yes, you can assign different permissions to different users. +- **Q: Can I customize port fields?** + A: Yes, you can customize fields in the settings. + +## Links +- GitHub: https://github.com/crocofied/PortNote +- Documentation: https://github.com/crocofied/PortNote/blob/main/README.md \ No newline at end of file diff --git a/apps/portnote/data.yml b/apps/portnote/data.yml new file mode 100644 index 0000000..7062e63 --- /dev/null +++ b/apps/portnote/data.yml @@ -0,0 +1,34 @@ +name: PortNote + +tags: + - 运维 + - 资产管理 + - 端口管理 + - 可视化 + - Docker + - 网络 + +title: 服务器端口管理与可视化工具 + +description: 轻量级服务器端口管理与可视化工具,支持多平台部署,适合资产与端口信息管理。 + +additionalProperties: + key: portnote + name: PortNote + tags: + - Tool + - Port + - Network + - Ops + shortDescZh: 轻量级服务器端口管理与可视化工具,支持多平台部署。 + shortDescEn: Lightweight server port management and visualization tool, cross-platform supported. + description: + zh: PortNote 是一款轻量级服务器端口管理与可视化工具,支持多平台部署,适合资产与端口信息管理。 + en: PortNote is a lightweight server port management and visualization tool, suitable for asset and port information management. + type: website + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://github.com/crocofied/PortNote + github: https://github.com/crocofied/PortNote + document: https://github.com/crocofied/PortNote/blob/main/README.md \ No newline at end of file diff --git a/apps/portnote/latest/data.yml b/apps/portnote/latest/data.yml new file mode 100644 index 0000000..6fff26d --- /dev/null +++ b/apps/portnote/latest/data.yml @@ -0,0 +1,19 @@ +additionalProperties: + formFields: + - default: 30000 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: "" + edit: true + envKey: PANEL_DB_USER_PASSWORD + labelEn: Database Password + labelZh: 数据库用户密码 + random: true + required: true + rule: paramComplexity + type: password \ No newline at end of file diff --git a/apps/portnote/latest/docker-compose.yml b/apps/portnote/latest/docker-compose.yml new file mode 100644 index 0000000..f6bb95e --- /dev/null +++ b/apps/portnote/latest/docker-compose.yml @@ -0,0 +1,34 @@ +services: + web: + image: haedlessdev/portnote:latest + container_name: portnote + restart: always + ports: + - "${PANEL_APP_PORT_HTTP}:3000" + environment: + JWT_SECRET: "changeme_jwt_secret" + USER_SECRET: "changeme_user_secret" + LOGIN_USERNAME: "admin" + LOGIN_PASSWORD: "admin" + DATABASE_URL: "postgresql://postgres:${PANEL_DB_USER_PASSWORD}@db:5432/postgres" + depends_on: + db: + condition: service_started + agent: + image: haedlessdev/portnote-agent:latest + environment: + DATABASE_URL: "postgresql://postgres:${PANEL_DB_USER_PASSWORD}@db:5432/postgres" + depends_on: + db: + condition: service_started + db: + image: postgres:17 + restart: always + environment: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: ${PANEL_DB_USER_PASSWORD} + POSTGRES_DB: postgres + volumes: + - postgres_data:/var/lib/postgresql/data +volumes: + postgres_data: \ No newline at end of file diff --git a/apps/portnote/v1.2.0/data.yml b/apps/portnote/v1.2.0/data.yml new file mode 100644 index 0000000..6fff26d --- /dev/null +++ b/apps/portnote/v1.2.0/data.yml @@ -0,0 +1,19 @@ +additionalProperties: + formFields: + - default: 30000 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: "" + edit: true + envKey: PANEL_DB_USER_PASSWORD + labelEn: Database Password + labelZh: 数据库用户密码 + random: true + required: true + rule: paramComplexity + type: password \ No newline at end of file diff --git a/apps/portnote/v1.2.0/docker-compose.yml b/apps/portnote/v1.2.0/docker-compose.yml new file mode 100644 index 0000000..d29a919 --- /dev/null +++ b/apps/portnote/v1.2.0/docker-compose.yml @@ -0,0 +1,34 @@ +services: + web: + image: haedlessdev/portnote:v1.2.0 + container_name: portnote + restart: always + ports: + - "${PANEL_APP_PORT_HTTP}:3000" + environment: + JWT_SECRET: "changeme_jwt_secret" + USER_SECRET: "changeme_user_secret" + LOGIN_USERNAME: "admin" + LOGIN_PASSWORD: "admin" + DATABASE_URL: "postgresql://postgres:${PANEL_DB_USER_PASSWORD}@db:5432/postgres" + depends_on: + db: + condition: service_started + agent: + image: haedlessdev/portnote-agent:v1.2.0 + environment: + DATABASE_URL: "postgresql://postgres:${PANEL_DB_USER_PASSWORD}@db:5432/postgres" + depends_on: + db: + condition: service_started + db: + image: postgres:17 + restart: always + environment: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: ${PANEL_DB_USER_PASSWORD} + POSTGRES_DB: postgres + volumes: + - postgres_data:/var/lib/postgresql/data +volumes: + postgres_data: \ No newline at end of file