From 026b8c174595fd1a813b115157e13d0a86f40193 Mon Sep 17 00:00:00 2001 From: Meng Sen Date: Wed, 19 Feb 2025 11:10:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E5=B8=83=E5=BA=94=E7=94=A8=20Nexus3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Meng Sen --- .github/README.md | 1 + README.md | 1 + apps/nexus3/3.77.1/data.yml | 17 +++++++++++++++++ apps/nexus3/3.77.1/docker-compose.yml | 22 ++++++++++++++++++++++ apps/nexus3/3.77.1/envs/default.env | 2 ++ apps/nexus3/3.77.1/envs/global.env | 2 ++ apps/nexus3/3.77.1/scripts/init.sh | 17 +++++++++++++++++ apps/nexus3/3.77.1/scripts/uninstall.sh | 10 ++++++++++ apps/nexus3/3.77.1/scripts/upgrade.sh | 17 +++++++++++++++++ apps/nexus3/README.md | 15 +++++++++++++++ apps/nexus3/data.yml | 14 ++++++++++++++ apps/nexus3/logo.png | Bin 0 -> 7762 bytes 12 files changed, 118 insertions(+) create mode 100644 apps/nexus3/3.77.1/data.yml create mode 100644 apps/nexus3/3.77.1/docker-compose.yml create mode 100644 apps/nexus3/3.77.1/envs/default.env create mode 100644 apps/nexus3/3.77.1/envs/global.env create mode 100644 apps/nexus3/3.77.1/scripts/init.sh create mode 100644 apps/nexus3/3.77.1/scripts/uninstall.sh create mode 100644 apps/nexus3/3.77.1/scripts/upgrade.sh create mode 100644 apps/nexus3/README.md create mode 100644 apps/nexus3/data.yml create mode 100644 apps/nexus3/logo.png diff --git a/.github/README.md b/.github/README.md index 426c3b0b..f4d11923 100644 --- a/.github/README.md +++ b/.github/README.md @@ -110,6 +110,7 @@ | 🟢 | | MariaDB | https://mariadb.org/ | 【MySQL分支】创新的开源数据库 | MySQL | | 🟢 | | Percona | https://www.percona.com/ | 【MySQL分支】关系数据库管理系统 | MySQL | | 🟢 | | Nacos | https://nacos.io/ | 动态服务发现、配置管理和服务管理平台 | | +| 🟢 | | Nexus3 | https://sonatype.com/ | Sonatype Nexus存储库 | | | 🟢 | | NexusPHP | https://nexusphp.org/ | 完整的 PT 建站解决方案 | | | 🟢 | | 哪吒监控 | https://nezha.wiki/ | 【哪吒监控】开源、轻量、易用的服务器监控、运维工具 | | | 🟢 | | NezhaDash | https://nezha-cf.buycoffee.top/ | 基于 Next.js 和 哪吒监控 的仪表盘 | | diff --git a/README.md b/README.md index 875ed31b..acba6c74 100644 --- a/README.md +++ b/README.md @@ -105,6 +105,7 @@ | 🟢 | | MariaDB | https://mariadb.org/ | 【MySQL分支】创新的开源数据库 | MySQL | | 🟢 | | Percona | https://www.percona.com/ | 【MySQL分支】关系数据库管理系统 | MySQL | | 🟢 | | Nacos | https://nacos.io/ | 动态服务发现、配置管理和服务管理平台 | | +| 🟢 | | Nexus3 | https://sonatype.com/ | Sonatype Nexus存储库 | | | 🟢 | | NexusPHP | https://nexusphp.org/ | 完整的 PT 建站解决方案 | | | 🟢 | | 哪吒监控 | https://nezha.wiki/ | 【哪吒监控】开源、轻量、易用的服务器监控、运维工具 | | | 🟢 | | NezhaDash | https://nezha-cf.buycoffee.top/ | 基于 Next.js 和 哪吒监控 的仪表盘 | | diff --git a/apps/nexus3/3.77.1/data.yml b/apps/nexus3/3.77.1/data.yml new file mode 100644 index 00000000..59fccd8e --- /dev/null +++ b/apps/nexus3/3.77.1/data.yml @@ -0,0 +1,17 @@ +additionalProperties: + formFields: + - default: "/home/nexus3" + edit: true + envKey: NEXUS3_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 8081 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number diff --git a/apps/nexus3/3.77.1/docker-compose.yml b/apps/nexus3/3.77.1/docker-compose.yml new file mode 100644 index 00000000..df90fabd --- /dev/null +++ b/apps/nexus3/3.77.1/docker-compose.yml @@ -0,0 +1,22 @@ +networks: + 1panel-network: + external: true + +services: + nexus3: + image: sonatype/nexus3:3.77.1-alpine + container_name: ${CONTAINER_NAME} + labels: + createdBy: "Apps" + restart: always + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8081 + env_file: + - ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env} + - ${ENV_FILE:-/etc/1panel/envs/default.env} + volumes: + - ${NEXUS3_ROOT_PATH}/data:/nexus-data + environment: + - TZ=Asia/Shanghai diff --git a/apps/nexus3/3.77.1/envs/default.env b/apps/nexus3/3.77.1/envs/default.env new file mode 100644 index 00000000..cd05f46e --- /dev/null +++ b/apps/nexus3/3.77.1/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/apps/nexus3/3.77.1/envs/global.env b/apps/nexus3/3.77.1/envs/global.env new file mode 100644 index 00000000..e10989fe --- /dev/null +++ b/apps/nexus3/3.77.1/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/apps/nexus3/3.77.1/scripts/init.sh b/apps/nexus3/3.77.1/scripts/init.sh new file mode 100644 index 00000000..07fb8c3f --- /dev/null +++ b/apps/nexus3/3.77.1/scripts/init.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/nexus3/3.77.1/scripts/uninstall.sh b/apps/nexus3/3.77.1/scripts/uninstall.sh new file mode 100644 index 00000000..c86c4fbc --- /dev/null +++ b/apps/nexus3/3.77.1/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/nexus3/3.77.1/scripts/upgrade.sh b/apps/nexus3/3.77.1/scripts/upgrade.sh new file mode 100644 index 00000000..07fb8c3f --- /dev/null +++ b/apps/nexus3/3.77.1/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/nexus3/README.md b/apps/nexus3/README.md new file mode 100644 index 00000000..5c6ce34c --- /dev/null +++ b/apps/nexus3/README.md @@ -0,0 +1,15 @@ +# Nexus3 + +Sonatype Nexus存储库 + +![Nexus3](https://file.lifebus.top/imgs/nexus3_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) + +## 简介 + +Sonatype Nexus存储库是您所有内部和第三方二进制组,组件和包装的真理的唯一来源。将所有开发工具集成到集中式二进制存储库管理器中,以便您可以选择最佳的开源组件,优化构建性能和快速船舶代码,同时提高SDLC的可见度。 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/apps/nexus3/data.yml b/apps/nexus3/data.yml new file mode 100644 index 00000000..87f41728 --- /dev/null +++ b/apps/nexus3/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: nexus3 + name: Nexus3 + tags: + - WebSite + - Local + shortDescZh: Sonatype Nexus存储库 + shortDescEn: Sonatype Nexus Repository + type: website + crossVersionUpdate: true + limit: 0 + website: https://sonatype.com/ + github: https://github.com/sonatype/ + document: https://help.sonatype.com/ diff --git a/apps/nexus3/logo.png b/apps/nexus3/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..3c2849bba9049e121eb5a4ebf1be3bb8a31e8051 GIT binary patch literal 7762 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 Y|B62pq~s_@qW}N^07*qoM6N<$g5M0%$N&HU literal 0 KcmV+b0RR6000031