From 486859058351947c5210eaf9590476bacdec265b Mon Sep 17 00:00:00 2001 From: Meng Sen Date: Thu, 7 Nov 2024 12:50:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E5=B8=83=20NexusPHP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Meng Sen --- apps/nexusphp/1.8.14/data.yml | 218 ++++++++++++++++++++++ apps/nexusphp/1.8.14/docker-compose.yml | 37 ++++ apps/nexusphp/1.8.14/scripts/init.sh | 26 +++ apps/nexusphp/1.8.14/scripts/uninstall.sh | 10 + apps/nexusphp/1.8.14/scripts/upgrade.sh | 15 ++ apps/nexusphp/README.md | 36 ++++ apps/nexusphp/data.yml | 14 ++ apps/nexusphp/logo.png | Bin 0 -> 6731 bytes 8 files changed, 356 insertions(+) create mode 100644 apps/nexusphp/1.8.14/data.yml create mode 100644 apps/nexusphp/1.8.14/docker-compose.yml create mode 100644 apps/nexusphp/1.8.14/scripts/init.sh create mode 100644 apps/nexusphp/1.8.14/scripts/uninstall.sh create mode 100644 apps/nexusphp/1.8.14/scripts/upgrade.sh create mode 100644 apps/nexusphp/README.md create mode 100644 apps/nexusphp/data.yml create mode 100644 apps/nexusphp/logo.png diff --git a/apps/nexusphp/1.8.14/data.yml b/apps/nexusphp/1.8.14/data.yml new file mode 100644 index 000000000..78f67fc4a --- /dev/null +++ b/apps/nexusphp/1.8.14/data.yml @@ -0,0 +1,218 @@ +additionalProperties: + formFields: + - child: + default: "" + envKey: PANEL_DB_HOST + required: true + type: service + default: postgresql + edit: true + envKey: PANEL_DB_TYPE + labelZh: 数据库 服务 (前置检查) + labelEn: Database Service (Pre-check) + required: true + type: apps + values: + - label: PostgreSQL + value: postgresql + - label: MySQL + value: mysql + - label: MariaDB + value: mariadb + - label: Percona + value: percona + - child: + default: "" + envKey: PANEL_REDIS_SERVICE + required: true + type: service + default: redis + envKey: PANEL_REDIS_TYPE + labelZh: Redis 服务 (前置检查) + labelEn: Redis Service (Pre-check) + required: true + type: apps + values: + - label: Redis + value: redis + - default: "/home/nexusphp" + edit: true + envKey: NEXUSPHP_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: "/home/nexusphp" + edit: true + envKey: NEXUSPHP_TORRENTS_ROOT_PATH + labelZh: 种子目录 + labelEn: Torrent persistence path + required: true + type: text + - default: "/home/nexusphp" + edit: true + envKey: NEXUSPHP_BITBUCKET_ROOT_PATH + labelZh: 上传器目录 + labelEn: Uploader persistence path + required: true + type: text + - default: "/home/nexusphp" + edit: true + envKey: NEXUSPHP_ATTACHMENTS_ROOT_PATH + labelZh: 附件目录 + labelEn: Attachment persistence path + required: true + type: text + - default: 8080 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: 访问端口 + labelEn: Port + required: true + rule: paramPort + type: number + - default: "http://localhost" + edit: true + envKey: text + labelZh: 公网地址 + labelEn: Public URL + required: true + type: text + - default: "base64:WUbN2wa2kl3E1VDW4iKaH3RBHw3hKY7BK0hWEkBZmGg=" + edit: true + envKey: APP_KEY + labelZh: 应用密钥 + labelEn: Application Key + required: true + type: text + - default: "" + edit: true + envKey: NAS_TOOLS_KEY + labelZh: NAS Tools 密钥 (MoviePilot) + labelEn: NAS Tools Key (MoviePilot) + required: false + type: text + - default: "" + edit: true + envKey: IYUU_SECRET + labelZh: IYUU 密钥 + labelEn: IYUU Secret + required: false + type: text + - default: "127.0.0.1" + edit: true + envKey: DB_HOST + labelZh: 数据库 主机地址 + labelEn: Database Host + required: true + type: text + - default: 5432 + edit: true + envKey: DB_PORT + labelZh: 数据库 端口 + labelEn: Database Port + required: true + rule: paramPort + type: number + - default: "nexusphp" + edit: true + envKey: DB_DATABASE + labelZh: 数据库 名称 + labelEn: Database Name + required: true + rule: paramCommon + type: text + - default: "nexusphp" + edit: true + envKey: DB_USERNAME + labelZh: 数据库 用户名 + labelEn: Database Username + required: true + type: text + - default: "" + edit: true + envKey: DB_PASSWORD + labelZh: 数据库 密码 + labelEn: Database Password + random: true + required: true + rule: paramComplexity + type: password + - default: "127.0.0.1" + edit: true + envKey: REDIS_HOST + labelZh: Redis 主机 + labelEn: Redis Host + required: true + type: text + - default: 6379 + edit: true + envKey: REDIS_PORT + labelZh: Redis 端口 + labelEn: Redis Port + required: true + rule: paramPort + type: number + - default: 0 + edit: true + envKey: REDIS_DB + labelZh: Redis 索引 + labelEn: Redis Index + required: true + type: number + - default: "" + edit: true + envKey: REDIS_PASSWORD + labelZh: Redis 密码 + labelEn: Redis Password + required: false + type: password + - default: "smtp" + edit: true + envKey: MAIL_MAILER + labelZh: 邮件 发送协议 + labelEn: Mail Protocol + required: true + type: text + - default: "smtp.qq.com" + edit: true + envKey: MAIL_HOST + labelZh: 邮件 主机地址 + labelEn: Mail Host + required: true + type: text + - default: 25 + edit: true + envKey: MAIL_PORT + labelZh: 邮件 发送端口 + labelEn: Mail Port + required: true + type: number + - default: "" + edit: true + envKey: MAIL_USERNAME + labelZh: 邮件 效验用户名 + labelEn: Mail Username + required: false + type: text + - default: "" + edit: true + envKey: MAIL_PASSWORD + labelZh: 邮件 效验密码 + labelEn: Mail Password + required: false + type: password + - default: "tls" + edit: true + envKey: MAIL_ENCRYPTION + labelZh: 邮件 加密协议 + labelEn: Mail Encryption Protocol + required: true + type: text + - default: "" + edit: true + envKey: MAIL_FROM_ADDRESS + labelZh: 邮件 发件人地址 + labelEn: Mail From Address + required: true + type: text diff --git a/apps/nexusphp/1.8.14/docker-compose.yml b/apps/nexusphp/1.8.14/docker-compose.yml new file mode 100644 index 000000000..de651b589 --- /dev/null +++ b/apps/nexusphp/1.8.14/docker-compose.yml @@ -0,0 +1,37 @@ +networks: + 1panel-network: + external: true + +services: + nexusphp: + image: qyg2297248353/nexusphp:v1.8.14 + 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: + - ${NEXUSPHP_ROOT_PATH}/data:/var/www/html + - ${NEXUSPHP_ROOT_PATH}/torrents:/var/www/html/torrents + - ${NEXUSPHP_ROOT_PATH}/bitbucket:/var/www/html/bitbucket + - ${NEXUSPHP_ROOT_PATH}/attachments:/var/www/html/attachments + environment: + - TIMEZONE=Asia/Shanghai + - APP_DEBUG=false + - APP_ENV=production + - LOG_LEVEL=info + - DB_CONNECTION=mysql + - BROADCAST_DRIVER=log + - CACHE_DRIVER=redis + - QUEUE_CONNECTION=redis + - SESSION_DRIVER=file + - SESSION_LIFETIME=120 + - MAIL_FROM_NAME=${APP_NAME} + - SFTP_ROOT=/tmp + - GEOIP2_DATABASE=/var/www/html/geoip2/geoip2.mmdb diff --git a/apps/nexusphp/1.8.14/scripts/init.sh b/apps/nexusphp/1.8.14/scripts/init.sh new file mode 100644 index 000000000..07d7a8451 --- /dev/null +++ b/apps/nexusphp/1.8.14/scripts/init.sh @@ -0,0 +1,26 @@ +#!/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 + + # setup-2 download geoip2 + GEOIP_DIR="$NEXUSPHP_ROOT_PATH/geoip2" + mkdir -p "$GEOIP_DIR" + + GEOIP_FILE="$GEOIP_DIR/geoip2.mmdb" + if curl -o "$GEOIP_FILE" -L "https://cdn.jsdelivr.net/gh/Hackl0us/GeoIP2-CN@release/Country.mmdb"; then + echo "GeoIP2 database downloaded successfully to $GEOIP_FILE" + else + echo "Error: Failed to download GeoIP2 database." + fi + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/nexusphp/1.8.14/scripts/uninstall.sh b/apps/nexusphp/1.8.14/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/apps/nexusphp/1.8.14/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/nexusphp/1.8.14/scripts/upgrade.sh b/apps/nexusphp/1.8.14/scripts/upgrade.sh new file mode 100644 index 000000000..77b849120 --- /dev/null +++ b/apps/nexusphp/1.8.14/scripts/upgrade.sh @@ -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 diff --git a/apps/nexusphp/README.md b/apps/nexusphp/README.md new file mode 100644 index 000000000..c2b8c4a5c --- /dev/null +++ b/apps/nexusphp/README.md @@ -0,0 +1,36 @@ +# NexusPHP + +完整的 PT 建站解决方案。基于 NexusPHP + Laravel + Filament。 + +![NexusPHP](https://file.lifebus.top/imgs/nexusphp_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) + +## 特性 + ++ 发种 ++ 特别区 ++ 求种 ++ 字幕 ++ 考核 ++ H&R ++ 认领 ++ 审核 ++ 签到 ++ 补签卡 ++ 勋章 ++ 道具 ++ 自定义标签 ++ 第三方全文搜索 ++ 盒子规则 ++ 论坛 ++ 申诉 ++ 多语言 ++ 自动备份 ++ 插件支持 ++ 管理后台 ++ Json API + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/apps/nexusphp/data.yml b/apps/nexusphp/data.yml new file mode 100644 index 000000000..a82f62831 --- /dev/null +++ b/apps/nexusphp/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: nexusphp + name: NexusPHP + tags: + - WebSite + - Local + shortDescZh: 完整的 PT 建站解决方案 + shortDescEn: 完整的 PT 建站解决方案 + type: website + crossVersionUpdate: true + limit: 0 + website: https://nexusphp.org/ + github: https://github.com/xiaomlove/nexusphp/ + document: https://www.kimai.org/documentation/ diff --git a/apps/nexusphp/logo.png b/apps/nexusphp/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..03a6083942129cfe69e821881e55a7c52262ca3c GIT binary patch literal 6731 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 bmaP6)R_cYh*bCt45XAg~)%oJHH}3xzmAlmZ literal 0 HcmV?d00001