diff --git a/apps/kvrocks/2.13.0/data.yml b/apps/kvrocks/2.13.0/data.yml new file mode 100644 index 000000000..88c952a6b --- /dev/null +++ b/apps/kvrocks/2.13.0/data.yml @@ -0,0 +1,17 @@ +additionalProperties: + formFields: + - default: "/home/kvrocks" + edit: true + envKey: KVROCKS_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 6666 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: 服务端口 + labelEn: Service port + required: true + rule: paramPort + type: number diff --git a/apps/kvrocks/2.13.0/docker-compose.yml b/apps/kvrocks/2.13.0/docker-compose.yml new file mode 100644 index 000000000..97c2cf998 --- /dev/null +++ b/apps/kvrocks/2.13.0/docker-compose.yml @@ -0,0 +1,22 @@ +networks: + 1panel-network: + external: true + +services: + kvrocks: + image: apache/kvrocks:2.13.0 + container_name: ${CONTAINER_NAME} + labels: + createdBy: "Apps" + restart: always + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:6666 + env_file: + - ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env} + - ${ENV_FILE:-/etc/1panel/envs/default.env} + volumes: + - ${KVROCKS_ROOT_PATH}/data:/kvrocks_data + environment: + - TZ=Asia/Shanghai diff --git a/apps/kvrocks/2.13.0/envs/default.env b/apps/kvrocks/2.13.0/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/apps/kvrocks/2.13.0/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/apps/kvrocks/2.13.0/envs/global.env b/apps/kvrocks/2.13.0/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/apps/kvrocks/2.13.0/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/apps/kvrocks/2.13.0/scripts/init.sh b/apps/kvrocks/2.13.0/scripts/init.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/apps/kvrocks/2.13.0/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/kvrocks/2.13.0/scripts/uninstall.sh b/apps/kvrocks/2.13.0/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/apps/kvrocks/2.13.0/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/kvrocks/2.13.0/scripts/upgrade.sh b/apps/kvrocks/2.13.0/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/apps/kvrocks/2.13.0/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/kvrocks/README.md b/apps/kvrocks/README.md new file mode 100644 index 000000000..0fbb7720f --- /dev/null +++ b/apps/kvrocks/README.md @@ -0,0 +1,33 @@ +# Kvrocks + +分布式键值 NoSQL 数据库,它使用 RocksDB 作为存储引擎,兼容 Redis 协议。 + +Kotatsu + +![](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) + +## 特性 + +### Redis 兼容 + +用户可以通过任何 Redis 客户端访问 Apache Kvrocks。 + +### 命名空间 + +类似于 Redis SELECT,但每个命名空间都配备了令牌。 + +### 复制 + +使用 MySQL 等 binlog 进行异步复制。 + +### 高可用 + +支持Redis哨兵在主从发生故障时进行故障转移。 + +### 集群 + +集中管理,但可通过任何 Redis 集群客户端访问。 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/apps/kvrocks/data.yml b/apps/kvrocks/data.yml new file mode 100644 index 000000000..ef2697aad --- /dev/null +++ b/apps/kvrocks/data.yml @@ -0,0 +1,16 @@ +additionalProperties: + key: kvrocks + name: Kvrocks + tags: + - Database + - Runtime + - Storage + - Local + shortDescZh: 分布式键值 NoSQL 数据库 + shortDescEn: Distributed key-value NoSQL database + type: website + crossVersionUpdate: true + limit: 0 + website: https://kvrocks.apache.org/ + github: https://github.com/apache/kvrocks/ + document: https://kvrocks.apache.org/ diff --git a/apps/kvrocks/logo.png b/apps/kvrocks/logo.png new file mode 100644 index 000000000..8f4b7992a Binary files /dev/null and b/apps/kvrocks/logo.png differ diff --git a/apps/kvrocks/logo.svg b/apps/kvrocks/logo.svg new file mode 100644 index 000000000..d5a33d205 --- /dev/null +++ b/apps/kvrocks/logo.svg @@ -0,0 +1,222 @@ + + + +