From 9c537f985d5e72afe02b344e48bdae7395aaf919 Mon Sep 17 00:00:00 2001 From: QYG2297248353 Date: Tue, 29 Apr 2025 06:30:45 +0000 Subject: [PATCH] Synced apps from source repository via GitHub Actions --- apps/nacos-derby/3.0.0/.env | 45 +++++ apps/nacos-derby/3.0.0/data.yml | 123 ++++++++++++ apps/nacos-derby/3.0.0/docker-compose.yml | 26 +++ apps/nacos-derby/3.0.0/envs/default.env | 2 + apps/nacos-derby/3.0.0/envs/global.env | 2 + apps/nacos-derby/3.0.0/init/mysql-schema.sql | 188 +++++++++++++++++++ apps/nacos-derby/3.0.0/scripts/init.sh | 26 +++ apps/nacos-derby/3.0.0/scripts/uninstall.sh | 10 + apps/nacos-derby/3.0.0/scripts/upgrade.sh | 17 ++ apps/nacos-derby/README.md | 125 ++++++++++++ apps/nacos-derby/data.yml | 15 ++ apps/nacos-derby/logo.png | Bin 0 -> 34308 bytes apps/nacos/2.4.3/docker-compose.yml | 4 +- apps/nacos/2.5.1/docker-compose.yml | 4 +- apps/nacos/3.0.0/.env | 5 +- apps/nacos/3.0.0/data.yml | 20 +- apps/nacos/3.0.0/docker-compose.yml | 8 +- apps/nacos/data.yml | 1 - 18 files changed, 609 insertions(+), 12 deletions(-) create mode 100644 apps/nacos-derby/3.0.0/.env create mode 100644 apps/nacos-derby/3.0.0/data.yml create mode 100644 apps/nacos-derby/3.0.0/docker-compose.yml create mode 100644 apps/nacos-derby/3.0.0/envs/default.env create mode 100644 apps/nacos-derby/3.0.0/envs/global.env create mode 100644 apps/nacos-derby/3.0.0/init/mysql-schema.sql create mode 100644 apps/nacos-derby/3.0.0/scripts/init.sh create mode 100644 apps/nacos-derby/3.0.0/scripts/uninstall.sh create mode 100644 apps/nacos-derby/3.0.0/scripts/upgrade.sh create mode 100644 apps/nacos-derby/README.md create mode 100644 apps/nacos-derby/data.yml create mode 100644 apps/nacos-derby/logo.png diff --git a/apps/nacos-derby/3.0.0/.env b/apps/nacos-derby/3.0.0/.env new file mode 100644 index 0000000..d4f6d61 --- /dev/null +++ b/apps/nacos-derby/3.0.0/.env @@ -0,0 +1,45 @@ +# 网络模式 [必填] +NETWORK_MODE=1panel-network + +# 数据持久化路径 [必填] +NACOS_ROOT_PATH=/home/nacos + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8080 + +# WebUI API 端口 [必填] +PANEL_APP_PORT_API=8848 + +# Nacos gRPC 端口 [必填] +PANEL_APP_PORT_GRPC=9848 + +# IP模式/域名模式 [必填] +PREFER_HOST_MODE=ip + +# 服务IP [必填] +NACOS_SERVER_IP= + +# Nacos身份验证密钥键 [必填] +NACOS_AUTH_IDENTITY_KEY=serverIdentity + +# Nacos身份验证密钥值 [必填] +NACOS_AUTH_IDENTITY_VALUE=security + +# Nacos身份验证令牌(至少32位字符的Base64编码) [必填] +NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789 + +# JVM_XMS (初始内存大小) [必填] +JVM_XMS=512m + +# JVM_XMX (最大内存大小) [必填] +JVM_XMX=2g + +# JVM_XMN (新生代内存) [必填] +JVM_XMN=128m + +# JVM_MS (初始元空间大小) [必填] +JVM_MS=128m + +# JVM_MMS (最大元空间大小) [必填] +JVM_MMS=320m + diff --git a/apps/nacos-derby/3.0.0/data.yml b/apps/nacos-derby/3.0.0/data.yml new file mode 100644 index 0000000..4cd8af7 --- /dev/null +++ b/apps/nacos-derby/3.0.0/data.yml @@ -0,0 +1,123 @@ +additionalProperties: + formFields: + - default: "1panel-network" + edit: true + envKey: NETWORK_MODE + labelEn: Drive path + labelZh: 网络模式 + required: true + type: select + values: + - label: 主机网络模式 + value: "host" + - label: 桥接网络模式 + value: "bridge" + - label: 无网络模式 + value: "none" + - label: 1panel-network + value: "1panel-network" + - default: "/home/nacos" + edit: true + envKey: NACOS_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 8080 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: 8848 + edit: true + envKey: PANEL_APP_PORT_API + labelZh: WebUI API 端口 + labelEn: WebUI API port + required: true + rule: paramPort + type: number + - default: 9848 + edit: true + envKey: PANEL_APP_PORT_GRPC + labelZh: Nacos gRPC 端口 + labelEn: Nacos gRPC port + required: true + rule: paramPort + type: number + - default: "ip" + envKey: PREFER_HOST_MODE + labelZh: IP模式/域名模式 + labelEn: IP mode/hostname mode + required: true + type: select + values: + - label: IP模式 + value: "ip" + - label: 域名模式 + value: "hostname" + - default: "" + edit: true + envKey: NACOS_SERVER_IP + labelZh: 服务IP + labelEn: Server IP + required: true + type: text + - default: "serverIdentity" + edit: true + envKey: NACOS_AUTH_IDENTITY_KEY + labelZh: Nacos身份验证密钥键 + labelEn: Nacos auth identity key + required: true + type: text + - default: "security" + edit: true + envKey: NACOS_AUTH_IDENTITY_VALUE + labelZh: Nacos身份验证密钥值 + labelEn: Nacos auth identity value + required: true + type: text + - default: "SecretKey012345678901234567890123456789012345678901234567890123456789" + edit: true + envKey: NACOS_AUTH_TOKEN + labelZh: Nacos身份验证令牌(至少32位字符的Base64编码) + labelEn: Nacos auth token + required: true + type: text + - default: "512m" + edit: true + envKey: JVM_XMS + labelZh: JVM_XMS (初始内存大小) + labelEn: JVM_XMS (Initial memory size) + required: true + type: text + - default: "2g" + edit: true + envKey: JVM_XMX + labelEn: JVM_XMX (Maximum memory size) + labelZh: JVM_XMX (最大内存大小) + required: true + type: text + - default: "128m" + edit: true + envKey: JVM_XMN + labelEn: JVM_XMN (New generation memory) + labelZh: JVM_XMN (新生代内存) + required: true + type: text + - default: "128m" + edit: true + envKey: JVM_MS + labelEn: JVM_MS (Initial metaspace) + labelZh: JVM_MS (初始元空间大小) + required: true + type: text + - default: "320m" + edit: true + envKey: JVM_MMS + labelEn: JVM_MMS (Maximum metaspace) + labelZh: JVM_MMS (最大元空间大小) + required: true + type: text diff --git a/apps/nacos-derby/3.0.0/docker-compose.yml b/apps/nacos-derby/3.0.0/docker-compose.yml new file mode 100644 index 0000000..b177f20 --- /dev/null +++ b/apps/nacos-derby/3.0.0/docker-compose.yml @@ -0,0 +1,26 @@ +networks: + 1panel-network: + external: true +services: + nacos: + container_name: nacos-derby + env_file: + - ./envs/global.env + - .env + environment: + - MODE=standalone + - NACOS_CONSOLE_PORT=${PANEL_APP_PORT_HTTP:-8080} + - NACOS_SERVER_PORT=${PANEL_APP_PORT_API:-8848} + - NACOS_AUTH_ENABLE=true + image: nacos/nacos-server:v3.0.0 + labels: + createdBy: Apps + network_mode: ${NETWORK_MODE} + ports: + - ${PANEL_APP_PORT_HTTP:-8080}:${PANEL_APP_PORT_HTTP:-8080} + - ${PANEL_APP_PORT_API:-8848}:${PANEL_APP_PORT_API:-8080} + - ${PANEL_APP_PORT_GRPC}:9848 + restart: always + volumes: + - ${NACOS_ROOT_PATH}/logs:/home/nacos/logs + - ${NACOS_ROOT_PATH}/data:/home/nacos/data diff --git a/apps/nacos-derby/3.0.0/envs/default.env b/apps/nacos-derby/3.0.0/envs/default.env new file mode 100644 index 0000000..cd05f46 --- /dev/null +++ b/apps/nacos-derby/3.0.0/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/apps/nacos-derby/3.0.0/envs/global.env b/apps/nacos-derby/3.0.0/envs/global.env new file mode 100644 index 0000000..e10989f --- /dev/null +++ b/apps/nacos-derby/3.0.0/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/apps/nacos-derby/3.0.0/init/mysql-schema.sql b/apps/nacos-derby/3.0.0/init/mysql-schema.sql new file mode 100644 index 0000000..d45ac95 --- /dev/null +++ b/apps/nacos-derby/3.0.0/init/mysql-schema.sql @@ -0,0 +1,188 @@ +/* + * Copyright 1999-2018 Alibaba Group Holding Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/******************************************/ +/* 表名称 = config_info */ +/******************************************/ +CREATE TABLE `config_info` +( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', + `data_id` varchar(255) NOT NULL COMMENT 'data_id', + `group_id` varchar(128) DEFAULT NULL COMMENT 'group_id', + `content` longtext NOT NULL COMMENT 'content', + `md5` varchar(32) DEFAULT NULL COMMENT 'md5', + `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', + `src_user` text COMMENT 'source user', + `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip', + `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name', + `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段', + `c_desc` varchar(256) DEFAULT NULL COMMENT 'configuration description', + `c_use` varchar(64) DEFAULT NULL COMMENT 'configuration usage', + `effect` varchar(64) DEFAULT NULL COMMENT '配置生效的描述', + `type` varchar(64) DEFAULT NULL COMMENT '配置的类型', + `c_schema` text COMMENT '配置的模式', + `encrypted_data_key` varchar(1024) NOT NULL DEFAULT '' COMMENT '密钥', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info'; + +/******************************************/ +/* 表名称 = config_info since 2.5.0 */ +/******************************************/ +CREATE TABLE `config_info_gray` +( + `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', + `data_id` varchar(255) NOT NULL COMMENT 'data_id', + `group_id` varchar(128) NOT NULL COMMENT 'group_id', + `content` longtext NOT NULL COMMENT 'content', + `md5` varchar(32) DEFAULT NULL COMMENT 'md5', + `src_user` text COMMENT 'src_user', + `src_ip` varchar(100) DEFAULT NULL COMMENT 'src_ip', + `gmt_create` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP (3) COMMENT 'gmt_create', + `gmt_modified` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP (3) COMMENT 'gmt_modified', + `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name', + `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id', + `gray_name` varchar(128) NOT NULL COMMENT 'gray_name', + `gray_rule` text NOT NULL COMMENT 'gray_rule', + `encrypted_data_key` varchar(256) NOT NULL DEFAULT '' COMMENT 'encrypted_data_key', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_configinfogray_datagrouptenantgray` (`data_id`,`group_id`,`tenant_id`,`gray_name`), + KEY `idx_dataid_gmt_modified` (`data_id`,`gmt_modified`), + KEY `idx_gmt_modified` (`gmt_modified`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='config_info_gray'; + +/******************************************/ +/* 表名称 = config_tags_relation */ +/******************************************/ +CREATE TABLE `config_tags_relation` +( + `id` bigint(20) NOT NULL COMMENT 'id', + `tag_name` varchar(128) NOT NULL COMMENT 'tag_name', + `tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type', + `data_id` varchar(255) NOT NULL COMMENT 'data_id', + `group_id` varchar(128) NOT NULL COMMENT 'group_id', + `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id', + `nid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增长标识', + PRIMARY KEY (`nid`), + UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`), + KEY `idx_tenant_id` (`tenant_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation'; + +/******************************************/ +/* 表名称 = group_capacity */ +/******************************************/ +CREATE TABLE `group_capacity` +( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群', + `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值', + `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量', + `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值', + `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值', + `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值', + `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量', + `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_group_id` (`group_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表'; + +/******************************************/ +/* 表名称 = his_config_info */ +/******************************************/ +CREATE TABLE `his_config_info` +( + `id` bigint(20) unsigned NOT NULL COMMENT 'id', + `nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增标识', + `data_id` varchar(255) NOT NULL COMMENT 'data_id', + `group_id` varchar(128) NOT NULL COMMENT 'group_id', + `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name', + `content` longtext NOT NULL COMMENT 'content', + `md5` varchar(32) DEFAULT NULL COMMENT 'md5', + `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', + `src_user` text COMMENT 'source user', + `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip', + `op_type` char(10) DEFAULT NULL COMMENT 'operation type', + `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段', + `encrypted_data_key` varchar(1024) NOT NULL DEFAULT '' COMMENT '密钥', + `publish_type` varchar(50) DEFAULT 'formal' COMMENT 'publish type gray or formal', + `gray_name` varchar(50) DEFAULT NULL COMMENT 'gray name', + `ext_info` longtext DEFAULT NULL COMMENT 'ext info', + PRIMARY KEY (`nid`), + KEY `idx_gmt_create` (`gmt_create`), + KEY `idx_gmt_modified` (`gmt_modified`), + KEY `idx_did` (`data_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造'; + + +/******************************************/ +/* 表名称 = tenant_capacity */ +/******************************************/ +CREATE TABLE `tenant_capacity` +( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID', + `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值', + `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量', + `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值', + `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数', + `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值', + `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量', + `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_tenant_id` (`tenant_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表'; + + +CREATE TABLE `tenant_info` +( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', + `kp` varchar(128) NOT NULL COMMENT 'kp', + `tenant_id` varchar(128) default '' COMMENT 'tenant_id', + `tenant_name` varchar(128) default '' COMMENT 'tenant_name', + `tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc', + `create_source` varchar(32) DEFAULT NULL COMMENT 'create_source', + `gmt_create` bigint(20) NOT NULL COMMENT '创建时间', + `gmt_modified` bigint(20) NOT NULL COMMENT '修改时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`), + KEY `idx_tenant_id` (`tenant_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info'; + +CREATE TABLE `users` +( + `username` varchar(50) NOT NULL PRIMARY KEY COMMENT 'username', + `password` varchar(500) NOT NULL COMMENT 'password', + `enabled` boolean NOT NULL COMMENT 'enabled' +); + +CREATE TABLE `roles` +( + `username` varchar(50) NOT NULL COMMENT 'username', + `role` varchar(50) NOT NULL COMMENT 'role', + UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE +); + +CREATE TABLE `permissions` +( + `role` varchar(50) NOT NULL COMMENT 'role', + `resource` varchar(128) NOT NULL COMMENT 'resource', + `action` varchar(8) NOT NULL COMMENT 'action', + UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE +); diff --git a/apps/nacos-derby/3.0.0/scripts/init.sh b/apps/nacos-derby/3.0.0/scripts/init.sh new file mode 100644 index 0000000..19193ac --- /dev/null +++ b/apps/nacos-derby/3.0.0/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 + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + if command -v mysql &> /dev/null; then + if [[ -f ./init/mysql-schema.sql ]]; then + mysql -u"$MYSQL_SERVICE_USER" -p"$MYSQL_SERVICE_PASSWORD" -h"$MYSQL_SERVICE_HOST" -P"$MYSQL_SERVICE_PORT" --protocol=TCP "$MYSQL_SERVICE_DB_NAME" < ./init/mysql-schema.sql + else + echo "mysql-schema.sql not found." + fi + else + echo "mysql command not found." + fi + + echo "Check Finish." +else + echo "Error: .env file not found." +fi diff --git a/apps/nacos-derby/3.0.0/scripts/uninstall.sh b/apps/nacos-derby/3.0.0/scripts/uninstall.sh new file mode 100644 index 0000000..c86c4fb --- /dev/null +++ b/apps/nacos-derby/3.0.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/nacos-derby/3.0.0/scripts/upgrade.sh b/apps/nacos-derby/3.0.0/scripts/upgrade.sh new file mode 100644 index 0000000..07fb8c3 --- /dev/null +++ b/apps/nacos-derby/3.0.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/nacos-derby/README.md b/apps/nacos-derby/README.md new file mode 100644 index 0000000..054a858 --- /dev/null +++ b/apps/nacos-derby/README.md @@ -0,0 +1,125 @@ +# Nacos + +一个易于使用的动态服务发现、配置和服务管理平台,用于构建云原生应用。 + +![Nacos](https://github.com/alibaba/nacos/raw/develop/doc/Nacos_Logo.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) + +## 安装说明 + +Nacos +2.x默认使用的端口为8848(HTTP管理端口)、9848(客户端gRPC请求服务端端口)和9849(服务端gRPC请求服务端端口)。客户端在连接时,虽然主要配置的是管理端访问端口8848,但实际上客户端会根据服务端的配置自动计算其他端口进行通信。 + +因此我们推荐使用 `host` 模式部署,以避免端口冲突。 + +> 安全路径:`/nacos` +> +> 用户名:`nacos` +> +> 自版本 `2.4.0` 起,取消了默认密码,首次启动需要自行设置密码。 +> 密码:`nacos` + +### 初始化数据库 + +安装前,需要先创建数据库,数据库初始化文件:`mysql-schema.sql` +,可前往[Nacos](https://github.com/alibaba/nacos/blob/master/distribution/conf/mysql-schema.sql)下载。 + +或安装完成后,进入安装目录,在 `init` 文件夹下,导入 `mysql-schema.sql` 文件。 + +### 加密配置 + ++ `Nacos身份验证令牌` + +32位字符串,并使用Base64编码。 + +### JVM参数 + ++ `JVM_XMS` + +这个参数设置 Java 虚拟机堆的初始内存大小。 + +它指定了 JVM 在启动时分配的堆内存大小。 + +例如,-Xms512m 表示 JVM 在启动时将分配 512MB 的堆内存。 + ++ `JVM_XMX` + +这个参数设置 Java 虚拟机堆的最大内存大小。 + +它指定了 JVM 堆内存的上限。 + +例如,-Xmx1024m 表示 JVM 的堆内存最多可以使用 1024MB。 + ++ `JVM_XMN` + +这个参数用于设置新生代的大小。 + +新生代是 JVM 堆内存中的一部分,用于存放新创建的对象。 +设置 -Xmn 参数可以控制新生代的初始大小。 + +例如,-Xmn256m 表示将新生代的初始大小设置为 256MB。 + ++ `JVM_MS` + +这个参数用于设置 JVM 的初始元空间大小。 + +元空间是用于存储类元数据的区域,它在 Java 8 中取代了永久代。 + +例如,-XX: MetaspaceSize=128m 表示将初始的元空间大小设置为 128MB。 + ++ `JVM_MMS` + +这个参数用于设置 JVM 的最大元空间大小。 + +它指定了元空间能够增长的最大限制。 + +例如,-XX:MaxMetaspaceSize=256m 表示将元空间的最大大小限制为 256MB。 + +```shell +- JVM_XMS=64m #-Xms default :1g +- JVM_XMX=64m #-Xmx default :1g +- JVM_XMN=16m #-Xmn default :512m +- JVM_MS=8m #-XX:MetaspaceSize default :128m +- JVM_MMS=8m #-XX:MaxMetaspaceSize default :320m +``` + +## 升级说明 + +> [升级手册](https://nacos.io/docs/latest/manual/admin/upgrading/) + +### 2.5.0 + +表结构发生变化 + +```sql +/******************************************/ +/* 表名称 = config_info since 2.5.0 */ +/******************************************/ +CREATE TABLE `config_info_gray` +( + `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', + `data_id` varchar(255) NOT NULL COMMENT 'data_id', + `group_id` varchar(128) NOT NULL COMMENT 'group_id', + `content` longtext NOT NULL COMMENT 'content', + `md5` varchar(32) DEFAULT NULL COMMENT 'md5', + `src_user` text COMMENT 'src_user', + `src_ip` varchar(100) DEFAULT NULL COMMENT 'src_ip', + `gmt_create` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP (3) COMMENT 'gmt_create', + `gmt_modified` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP (3) COMMENT 'gmt_modified', + `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name', + `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id', + `gray_name` varchar(128) NOT NULL COMMENT 'gray_name', + `gray_rule` text NOT NULL COMMENT 'gray_rule', + `encrypted_data_key` varchar(256) NOT NULL DEFAULT '' COMMENT 'encrypted_data_key', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_configinfogray_datagrouptenantgray` (`data_id`,`group_id`,`tenant_id`,`gray_name`), + KEY `idx_dataid_gmt_modified` (`data_id`,`gmt_modified`), + KEY `idx_gmt_modified` (`gmt_modified`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='config_info_gray'; + +``` + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/apps/nacos-derby/data.yml b/apps/nacos-derby/data.yml new file mode 100644 index 0000000..bc13406 --- /dev/null +++ b/apps/nacos-derby/data.yml @@ -0,0 +1,15 @@ +additionalProperties: + key: nacos-derby + name: Nacos Derby版 + tags: + - WebSite + - Middleware + - Local + shortDescZh: 动态服务发现、配置管理和服务管理平台 + shortDescEn: Dynamic service discovery, configuration and service management platform + type: website + crossVersionUpdate: true + limit: 0 + website: https://nacos.io/ + github: https://github.com/alibaba/nacos/ + document: https://nacos.io/docs/latest/what-is-nacos/ diff --git a/apps/nacos-derby/logo.png b/apps/nacos-derby/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e2bc7018468fa9fe881ff7df0c3ae396cd3d3e2b GIT binary patch literal 34308 zcmV+fhWmN{*#F=F5K2Z#MgRc;000310RRC1;sMx6LqlIsQcp%nOho_z0RR92$N&HU z00b}q0Bvq`a#BY^AXr&iAOHXW00000000000AXWuZ~y=R00000000000000000000 z00000000000RRB@)&Kzj0002fEdT%j00000000000000000000000000000000000 z000000000000000000000000031nq+V*mgE@Bjb+Byw0;S^xk66aWAK6lYjjS^xk6 zC;$Ke6k=FeS^xk6JOBUy6nAuRbN~PWPyhe`6mnEjLjV8)WB>pFC}&hsLjV8)WB>pF zC}LDnLjV8)WB>pFC}VJPbN~PWi~s-tJZ)@sV*mgE000000RR913}tRrQvd(}2mk;8 z8~}3wQUFH)LReW^AOHXW0001Qq5uFm^#A|^kXTt-AOHXW0001DnE(K{g#Z8;+E`gy zAOHXW0000apa1|5ga81x&sbSnAOHXW0002?)&Kzj0002fEpTCSVE_OC000C40007J zW&i;4rvLyASpWbN&;S4mTL1t6000000Bvk_V*mgE000000RR913}tRrQvd(}AOHXW z8~{fEZvbxqX8>#fWdI-mNdRsDV*oAyAOJD|FaR+CHviiILjVB*0RaI40RaI40RaI4 z0RaI40RaI40RaI40RaI40RaI40RaI40RaI40RaI40RaI40RaI40RaI40RaI40RjKp z07C%*0RaI40RaI40RaI40RaI40RaI40RaI40RaI40RaI40RaI40RaI40RaI40RaI4 z0RaI40RaI40RaI40RaL3zyJ{l0$2iA0|6oc0uccN5dr_i03QGW00II70RaI400000 z000002?_`c1O^8M0s#a6!~j_k009I70RjX81qTia2m}WJ009C61O)~M2oVVq6Cp7Q z6e2;v6(cf2SaE?C85$%xQFeltv9-3<))zB2VRCenl(M%NH&}KN1q%Pf06!4`0R#a80|N>K1O){F z0RR910RjUA1qKlZ5+N}`Q3w+hGGTFnvC;4qk)gpNQsMClBQrvB79>MrvVs`@+5ij# z0RRFK0}%i}0KdQh00000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z0000000000000000004io+KTA@t=n`PFa3$-zzS|u;elkYP?~`)vUIzM|<6_!8MpM z?44Tw0GQ%2RBPJI>={?FSx+5N(87~s?&GQ2`1P1CF6=vI4|(T3JvV!>y&9JJBL$m4Ir%sdn7SSwRQjl<%zRcKO*OEXP7 z*c1garIaHyK+bOh?yZ(L|$a-h`o#6N9Pm4O|l@@!Qf}t zUs>G6;$6Vpd&@mjbMGbSx!N3*nT^;MGmO z_`P_T@;1R^W6t%b&p69-%=w!`NZqm=cYv+tf1M($uIP)eVIhf~n%1IFS1VeHBi^d2 zxy#Zw$~o)vfHPRSJjJzF>Vu8qo;KvLe1~5hPj`x+b|lM)V9L$$Ih^~#>Gd3uF zPTxj0tNhX|4n*jvtKsxj{q`y6P5T#bAL;$gj)23?i8|xpZoYV970lchur0ceNGWal zc2(8j+&KGVbSWi`cWK7MG|h%~Dn0aa737;6m#B$vA7WN|jf*hIl@%9d=%`oP00#g7 z00000Jg=3xyNb9+2K|SWcU(57k4WD7@!gs8WU>xoFW#}3igDP<Ry_dSZ zTGqMA4&1-vBl~9FH-q@y9bPxd9eta8o3rdARn2XPb?jXIp^e`~@v_cRNgTybRyZH# ziN2qpxHrUZB(I#(nrhvu4Syt=i)ze%9ycQF_NGGPqK3qg{{ZBIpQPAgDl4HxRNtWM z9w+FH2;N;qoUdNno6R0FvO4ZgL{#0XwCg02LdX9AvTHtK7b+?wo1&At3XyLfApKkK z@=5c~UCry1<@2LxX)x2&Vuh|x!H(t@3b}WpBKAeIlCbpu0QdLzG5aUWoUNacvuAlP ze$2|Q@9O1u4TB*ke?On_?c^qZvymL0{>q4`WQH%udsxjAADh;CcNr_TRfiopy-6J0PLj^#Sk>7iy>gB%AMI;l{87l&>$f*6 zw%c~1uE}-aQ!8ES7oD|fVUu3wK25}=Dz0QS_kEHo-To?%s@#{&rA1$hWr^)yf~Rj| zE%@`q=c-*XYsH(`@f?GWiBTV0Yr;@VkBvRNsg}e;jlSov*Da|ny?y)lK3;douU=7& z^5FF*oX#r|UFIw$+&!5QH`%cx;=NT~z7pGoiTvd_uPnU_JdKY#r!^KCuT)P+thBQA z<3&_ObiA`tw2e*I{Tj19cIeKfpMe%!8{(nFJN=rNE>gu@;>^{LByr{>k#gF6^EIt9jLs)u$5qT=vUD>TtI;-kc^qxHF4D6Tle=Vs z&3DNZjZ|NYT)mgsdoQt!y2FS1$3a|5TC)Lv5hK-738rIZqib%ewK5gmEh{@F%I3p6 z-o#Y%jbg6GN9gV$Xw833*L0Skp_pW7i(kW$aUDbALr-6)78xBSSi?yKyG zs#hFxO7=w)A0)Cltd2O^=e_T8qBV?TQC#OaRS~UfDypg?BB>P9Ls}VZSehsxf;Y=F z^GL{{hA7&ue3HubYa@+~MRVTwBU;o|RYXnCstD5M?-H&x)hyb>agH9}Amm_2F>{l- z_^n+f`bpZWFxt-q$tttl46#lLI#|5I&=J*=36zvCz{fO7-&9)^Sv# zu-Mn&#mV1_?nSOof4)|+S<1bavUd0O-8ba-#EnA~R%OT4)AeRXy^?3FKCJGI-FdwN z2yI@C+jcU|dg{I?olHUEAD1@(^bMOh_%nGeZNl!vu0?5L09Au6&0M{($t&}GoxbG#Rr9_(n`U-+d-qjOBobb9QMEkF*|D*$ zL|)yyB6j}(3{NO>P7zwTeg6P+#jnx&SpA$h=^R=>p)O2ccCE)nVpXzsuF5^9`mHu-mI zBKi|?Q$x(C?bW}CY>Jz6s&y?)3hHV7YIPf_J~qe5H*@tPYf)+KRjOy(A~jR+?%s*{ zR8>Ums~$o%U$5e(YVn_mMH>>tZOp%8gm9VeU%VRyOxn$@6QE zm8@!{P){PYi_tUwPdq@wGD)e$j?@swisejIm!-Z`P1kytVygGQ!aC2e<^KR`D)c>j zLH_`VuanNMv0jdH=Az;4+YW4PlU3s)ek0DgQK+Ab;VorhuL>%sHJp@K=op*2S4PxT zC0HFVNaRf;k})jJ=^HLDW5+!aT_p+o&0Wjw>D;F)W4TIZuXef{P(veJii+OocSFQ% z*0WA|YTU0qTQEIin!T8x1n|h;S(3#oTO@Bz_PMC3-iC4F^0>_2KBij>k)fBx--Wg) zA3c}{{V&QVl?|0EKCjd z_GA>JV^i6!L^{{&op_6WTzysl0505-{o*9^4*q2QPCVjxFW=hzuT8Qb)ZO~$ULxO@ zA60+Lw!m_9$|l(KP5QxiQvC~Yxcc1$b(aN>z#Oueq4Q3 z{{SxBk^SNyu65!q`Em7E{JU~T_lS9g{$%`=dBpHvzqR{bn`A*=Uz2Ih+|$$#MVyee`ND79C8a)-IL6% zO`jU5ioYJnu2n?%BC7uREIzt>l%@Wv{61(@C;(lMmlF9qo-ggzZR@=PbuYKQy7ofE zw7PNMc1x=0aG5JII>R`VFP60RbU4hFhtBO5Te7S)ugaRV6Gd9q4wM&WG{@ApYK5xT zsM(&K+EyX8Qr%f!1)8>N$k|}AUU;0@A)Xmn*&>!VHSxWzb6k!@Q(@nLuZx|2w0PF9 zO`PMIf-a{xqg{eJ8GDnplXD)8ijB3S*&=L;izeNIuGlN>b)i?S=+Z5M7Dn3_p{Z{) zfA3HK07?7(e?JmNJGp)zPrq?vPyud8000`lJa+#8bx*4g;ZD2#O4mq=CD+Gq_f-0@ z{uJxK)U9-gqWPYqf8yVg7Ub3Zp1<8+>BId?l>Y$bcG_&sHJN;#zujNy!~IK?{{ZE7 z+HB1&=k?S6Df3cRb}zs7KmZ{t03CO4+Hl%Fr?c*x707Y;4M$(h?AgoqBy3Pp#9*=3 za+w=bO7%v^6csAXE8gWswXIcOWB{!f$~*Bm%=FR4c+QYGQ)rh7%sl6=*}uqH{3W!9 zH>2?-spiJXMzxq->*BKffhBy7DmxJ@cdP65va?rxX)e*UP#w;5+~>W@=Q&l*bCq1@ zIm_K#pD2e4r70>fZ=e^jrUa`E5MDOiifAs7ia_+nSUf=*LI3!2IBg6xI z@b2nwSLN&ljGjl2a?@7VIgdrDW3_$5M73%)yx8i@_Edg<3GbEHEzGgH41_;7bn#WU zYt6LdkN4e2l(ctz^(i z=Z1LWnm4h!ZHxJQm%gxvP0+ zS?TrHcerL%=H;wPw$BD zTZ_}?vHlDA?(9p;dzLas%aD!9BlLZG(mEfy-bC(+n#ecRj||CsC1$nx7cx&yyCkd) zyO#1dEMLE7dzWrllFhqzWqkH5*q%j_Y3G_pI!R@gM>+CH_c_mdmCjXFRWqB(lgXC8 zvx2t}c!5?$(<>ss0f2urOP^TWtz3pdQClN$?UAb5_1dj|MeKBvIkZ~V-Nn8)ak^bO zH2OzK&eYALd2;!7a=-ANcB7J=G*nhQBIYVOX`GI2Cb<~ITT11t-gyI)H_lku?`|B2 zv}LxfgC#VR*u9mtB>tK`RmonQ9n!rTP@?%OQl}I(YebET2xDVWsnglD7s_R;yMR>({RgZEItS7$R#UiZ(S7tYaG1wGj~! z5Wu{RiS5{y&8gtWP86nrU9D=gBOxInR;ra;u#8xm@K{RaI3v@%$P3f8j%$ zAHlz$?K@_Z#$1WWmg2|gnnu;PTyv40hP{HxWt`P_m8s|Xm3fhkMf^8CTGl7K)u@W5 zTHyRRy2i}bWvIA<%?O-`=B8t5((yJG7u`J6@9a=riO7rY*{eq8ud<>k)ARb-V_ ztVQ-Kkyp6FmVOd`pXO7T&%saA{OV<1+t8m@T0|1u%<#6)W~2zNl6`VqPTGjXMOQsy z)v`H>*&9>c&ypr0Cv{%km$ouwaXCySsd4#?ZR}O}9Oh3?BUXBLqH;M=TO<}49F0^| zRQGCoqWpFMH}YR`TQ<&CO3DtI-K((dsEg_?c22KI*(3j90H_S z+!kjGBf2%2Y-QYYpRGb-8Slfi$53mzhRbLHuY`G9XRHhHnW$TEvVU* zi<;5$^T}feek5`$<*6Ih?!@Gp)l`omL(!Gpn-!F?T^1F@)_yPXe#7WN_5Po*veY;n zHl@Z}!{@QJGPui(Mp&nI7R?jWrz_jcoY6}f?D(gN%$gYyvPAYht#WnjR)007GPN^$ zeL{!)i7;QhIYa9O^j;Q_!^+Z!$w+lU9r0igxhVG4A{syyCab z7bh(ol?j;3l-&2OJ2j1azinc2)mrAV)hkR-E1L9I!y-p!yQ8rTQZmr}HT5T?btj|4 zvujeehIWf$t+ncwW@GX=9E!C&uVhqptX-!gq{rkK#AMO;idMyHDWPVsxbMJQyfe7` z<^{Gg8Y<-6vCRGDvx1&ie+3+a(G_H__c<9#`;ihwR@bw&k2d=|NAh{{jK^_St90I? zeQajFqX#qKZqU`#RiTZmCPx^>URGL-H+}qTRaPWNTB?q#=UG!Czy>!NOaL*vsa~Zt z?wqveW-|_EQ)$XaEIO{M49#V{rM9(G=T>`nbzDtH_FHzlqD zDdDix=D(7^GhnM$2J=2gyQ;a$yEZtZYC1`#kTOMv zt%$+mD?Zix_MgifQMFO6Yg*KFlTS2`WHqZo$tSZsk--FVOCuP(-l2Mr(K>h4U7Ojb z`=On@*T=4El;(}OOwE+;-%;LWRHuxt{>yUwjdNJkSm2I(4rDH`uQ~NA$-MiWef_gB zHEa|zxp4ZHHd!m+aZoFfS>>wNB3!uSL|L*IJ!^6=&`B8sB8ERP?=#%zFH2|Q{{R>4HbcUG3E=p5 zMhu1MtL1fcv7@bJBw|SxJ<>Hf>S7xrf0G=0tZ%u>+g7)FxnhOwuFV^HN%>Q1&NO7L z;jvaO>Fyj?omoRq!!pA@Ww5{eyq2Vr7bm4nD)P+^F<&M>AGAo;*tZj}OUh^AC+YrW zIWhhle>uiy;V0?-Wj^K`3zyE`hK?5*e=BxZwXs#l)Sle$bC=52wkR0)s=3SA5fj}{ zT$${R74kW(V;Zh=-sEdq)ZJCibCnSh6RN7JA{bpHQqM9&4025@uH=p=nCT>u?%5i~ zF^H~voV^jPMO9vihvAP z*nPc=NZd5rZl|^C`R#JkRa&rSu~%`jck?TKn{F7DQB|(;s(U#T%+*$^De)Qjzs36x zsM+DO8c$wmr-nvzM>H}rSfpyVqnRTW%yU<{TB?e8rdpNEb%`ltDp{j)yWJg%mmrp{ zs2+;l*)$WelEn1yYuMFJ^gRPXx@)Qvwwx6nz<8~&oKKVW!(z#t7rlNV~ z#=Y;68Qx0omNrO{K%+h@`M%UXjz1xL6MC*o8)|wt=}#S+mg`99XRka?N5?EuF;UEW zT!^TssCkbNcx{2#wB%*DSyM3-YT6l?V^2we$eXe&8*=(xMR!NRDyp#@_dxh$ReJlU zldqLe5qzBW6cb@?&zjK}Eiw9!Lf^9W#bhFPD<-#$SEPxC&9Xn@ha*vl*`FLyWMI2h zi3(b<7-iBIQqgl}vh90imKb>pS*sIr2##wLV8<~V3o}qh?d7nKR>zWwiR5I@WbvaT zog<4gO@3-EKa)d|;*MJ4vU&{0W%G&DAd@;HSRqpQTqOoI9pm^(n!%+@oQ$Q+Cmsk+z$t(7z1v zLX_vtUa2KkP>THa@;>)~;_f}(xi4$E9zR&)-9KgB_AApl8x>3@tA@Lr%2;};r?gb4 z&i=@~*SBQ%R6|ksRh>g^{Z@4k%UwWk7VKHh@@C_e&$b&9x?j0?hs>~GFm?O6&5ouQ z3k@7)Xrt{EaaL<%Yg^e5lM^|ex~Ax#s`n@EzprWDp6$9PYW|0e?Hf+ZyX-lQw{g$r zHjSfTzhfz!*faSXd2G&GBW_1aX6{2HdRgsTvpkM-lkT~GVSH%}D&&}_a7_x;oJBGeL< z`pO&LjnVo$i-;{{W=!j`<&t`ikQXgNnB-zdYymjBW>Gb~)EA;4SIe zUOv7~CC1*r56$Jfj=No``CBKRyZf;ll%@Wv{61(@BmiBIgV8vb zmN^H5IU`NwzAM@CdUpQ+p=W69TF%3Wu=@7sZx{RqV%q3uW!SjGeBN<5I6dy>D{gKz&2%Jn_YMeRgB)#f{#yyOT=X4&e9Ph8GbUqd;oXRAi#bsXLf`(>$eyscurt%}?z`nGG!C8UhxUDMTG&u6pg?Dr`% zUAlGcPrb~G01*`$zdUyT0Ci8R58+O`{YuwJiY3>_Z}(LCu>KV5ztpXCh@$zPqkrPx zk{0CBe4ja%9~JJJ`!~(%!^zP6dwEh$FWZyN@Lv79d_BAV`Lj^gN%DSwb$h07&&faX z!)`WhkWcG1eV-*?sVh4d-}@i{5EX*HpD72ciTZiyA1%dN&Q)>y-&6Uxc+v;gnIpSb zkLj#AjzqB=QGDqZTNMp$O2VsruBWlxMm@5zj!Ola-o8V9T-W8u|fu^Osba;%Xznd!e`bzg^P>QeRD z7u(b8`Vbfa{*c2hiK4Fy9VFAs95F`J?&r%Z(UGyJpBFjKMxuRcrQr!;p9B8@3LSs1 zt}g2%e&mdAqlCtB<^Ce!U53*nO1Q3X&EvmRFl`n5otAadBCoBxBMNs(>FoEVzb3()`R{+G>p14wsf0w4Rq)ouSFDTV zfryln`9^&t&(n`z+0I46;$2UVI-0@9$~YU4!m-hA<630IayAu@PoeY5xmIKL3FB%t z8Bb})D*2x0sS70Ldy{^P>ij%9_xAh>)w?wpzrW-1+pvIwSo{BJR7LRzmUC|^;J8PMw{B6`p2Wv$I9czu2fY~U`3WA%n4DZa)fLm^ zvUVy`iLGBUx@2EuMO5`N2mEGvio{THuLompJ~%8oefwvEDIC3aCBdcBlu)6EoW z{H3!cXy-Lj;aE01kzd$oObMJ$P8R(84=WJK76 zzE0#_pO$ysqmefZgxM{FYRlTnU7lyT?TIImes4;%T&j>#p;;oQO0<4ht5t$1B5PR2 zqI5?5Q}d_upTqj!ihgwdb9xl&Rmaq;LX;6zr%JpvYF2@bjvDo=#@L{SDB6hDM-*&p z7{;O_TGT{Mkkz$|6Wg&pt1`(wn=;8giRE&>S*DrmB(li&ZmxWfbDZZY?ygl;IrOVp zyJodIa7}96sba5MwRqn&_9vOi98kj)Xy?f+k~yr6jB2^=ay6)`sD$+Nci~w<)Ue!* z)U*=Vn$%Eav3yrv#MNSkDG{>PUCQNW#bwiZe3Hw9qdX}al_1F3krKrxaJ(q`Kc{At zT}*N&8apca?9}3{Zb}Bp6BeA#tB~BjZz?NRMq7%;I}0q0?;GH^dKRMm&ce?juFomY zDU7u&wnK+JJIFsD_;ci^sdX(m5iYvwCoPOdCc_t+np1Z1U%L{v-=($ntG>Hy%KI5@ z!0rWOZqcW$b)_cWOO0im77o)lsFi(aa#{G%@gCVn}!Ba*s-!X6&YtAny$v&hG?9= zcCuGZRz*)Gn$yCrjo#7=tZq{!hPwtw5q{<}{b!_=?$EO}OEA5vijIzG9?2WkI-)ye zPKt`13rwCb8JVR%J1>u?lc8mfj>RkWp|@IQIW|_w4D5VvO_#m9qV+{Z>Q(Qn&V)B! znllma1LJH{h(93mEsJw=XrdqCChqEyH8ieipof;`x0WDzG!ioY5e|gELAVqThc=% z&5Q60$~C&n%xLX(W(YM-&5sk8b7QSvP$PCktvg%E3>kz({szX_;l9+`CNj!-xwWO` z8|2p}jAfl`pz6LYuk;pw;+}n);AvwS8wT7Ep?748k?%_ z^;R*Dk(iI6bnda#`p*fA&{5o7P`6>TjtUyy;ig5kK7#T0BrMD|ZJ-tO;_ z>ggnNp65Ay2dSQ>w9cEf=VkLRk14g~BbqH!Q-)Thyrs4`x6ZA0Uo}icSF2XlwP8RcG%Vef*4+`o1Hr;yCNaw{2_LZ@K4~reH%97iILAedPw=6l3TE;9cqvxrL$s2 zMOwRGEOp!c>SL*mJEr|Pa~X#-DYWHVG#aj}46SXfowhN1+PB$!^>Gzkty@-=z22&j zS4T?aR#v}~xkqy54aY6J?)h1=d3>DDb6V#)Dr2f6ziZ>M)z!+%v}&-|4rvK|lca~H!LQ)jS{-_>~tQ8KwiZ!;^gd0+T$HC~A5>BRI;J1)$Y?5#;= zM#jh>gG(M#o>5uOHs;c;MYD;}Sep-a3j*h(WVI`Q%lvCHk-1qmMrJwb1RT;qjIScs zuII}8R;_ZI@&5qR{wAE}elPKU!-C(B{-5zQl3t6tFTcyTar}?S)NE1XDi)h940PV5 zYdfWiuSIka_Et|836i2kZuDy#tt(}#N@S6fO9yz>`nL(9uvYWg`)#dGvvy+ZfdsC}b7{pX-T91}j#|&~v&jHXpIMtk0)tK!aqp{DwmA>?JlDnOhag>85jB_r1~AuN?O0f(d>fO5G9c{N~F0j@v!WPmP;l(Zz9$jhU^9 zVN^+@!og-a85LHl`ftkFf=a%xnmX~@k}DC#IXrR0ylceRxG_2wrHaAD6ikjwvB25# z*Id@3I&1k`9;NG3NWI+kl5Zj^`D2ba(X4NvWAXHHG-_iplN@o z+g9wao^)0*?s`^^2;8h)=I|%Un}?hZ#8q5=Hm+}3%LIRnYdnourO8ia%|)IZN=lM` z4U0(?TMbH%Y_i74oqom1*pi?Cd0~;Kz}WR&Z*Ip;iP|t&to}B`9UQdsw4l2Sn&j-g zn=>4&ch--MTK2DHYmreDir%EU24*t0Pj}%s=aQ{vO@AYzO)R#oLkwuLPVIKg&XUEZ z#>8{mjkP4Udn21#dEBwrNpS~s(c1e`=zFZSg}*CnE84d4bG`CoZm|_PnKfm1BV<;h zwYFjNb|OVyNfD~%yTmxvX9FfS?W8-@r<$E5-A~~*Wky_@t5m8Z5 zQ56r-C>?wB>sJRed819nGPXMXsH$$%X++rT)W}(Kwyt~9XJ*3|LT@cgu47S)kdnLA zJzI`fMftE@AFDCi*8@*Kjopl}iyfM-aynW!Vn(HklPYYA=+(`0AIjf51d&XQYh*-E z%|9J@JE^!8#Ejn$H99tH80Rw9D=Q3AMNd6~wy#`nW}9SJD`T?A7`Bt6!_b9$u zB&_!@eB(Yq&T)S4ukPCQm)F0AzYOnVUD`XemB`E3`z`oMTJ={;T6QmP@yNbaYmu&P zl(cQX6~Ag4?&XD*CB|%6y16RKi``@O+4t)5d=;}*owC-Qjzn`MiR^Px%~VRblLz6& z$rEI?jkApJ*>tYgt;e6jMAKQM6CAveH#3E+YNe%ObI)pyA)6{ORXn@Lvyt*VYvEbd z4ZK9|t&rRCI)5EDRykPZ$L_n|O=<=i!RoL4m*j@| zU+a820@+_CH^c9YxzA+fj;}eBRmAStt|8d59Dl_+?tYXx93)%x_{g?Bk7~V-wH%dh z+t+aS_1gG2=VZ`BYc+D~qDwTX$jX|RvH2&QwX5X1YwAmb()C#PO-Gt2@?^NjNY-1m zs_%MU16!$(f)_a-Vj5X}4zLNgtXq}+N~KjsF5b?*&Hm6c)!5yksw*6|Iy3;q!6^gcV zRH3m1t^8=_iSLc=`r74Btm+4N;~)CT0RT@y|hQ8@vn1kThnqDT-ohnB7Qd0?PM`lF5H4Ma3?A7 zcNujfz}cP@<_%(o-N)PZn@*XH~PN8z#VYgScnB%RETiM1|Rtyu13@)WGZs@Wj3URdOB z!OiZhk*txfYIZ`0UnjH0`fd)|u-y@LA+^HJ7~OK!>F}=Suv}~q@s8(~w6T7q@>xq# zBrs`PRk`486}2Q)wantIjg~qYOMf@MDQ5O77iH}3UljWI{R!H;r?OPyjejVy*xK?Eb1x#&uQIjrVQ_L=!RYj^#>GWi)^iWeWZ4v`=;g7A zsXI|5sK+HFi?~~}ckgokiP1lQ(248UZx6qqCBMNNq-c7+@d@FrYd?%!mmP72NxaF( zu*(;#O5Phov0o*K!QMqrP4#vyp)i=6mENec<0r^9ze%J>7v}jceIU!l-7jz5R&6-n zo9z8V?2f_dE}kWAiu_xk*q(>aV^_7Wjk_-7{M(+-c1=rP#M_O|WrQk`+^kjaUWxJg zChPDiYHq3e`-@2;A}3@{$ezfF@I?LM0e(@>N^8_Fhvs{cu-MeQx%A1JPE^NB6kdC6 z)8>XePaxKf&H8CoxQA2DTw*V#jo0I`B6h5blk|Kor&+-6y3WO?Z8*BQy=QE}<+Z(w z4SF<|mRkp$p*}M!jkgl}Nm}h2Q`VWD-e}}8cZPl^*NZi=2Jnm}bg zTU|G1I!5ZNoBDdovcj{Dcf8Io19H<VyTg{z~syNv883E_7wI-bP`0a}Lf=<3+JQmO7i>lU>zztR-09{?3}=2C zJloU_TQ{b|yFS;piqLQ6O-J2uS2RGiZ z=RR9}x5&00u3ql@_T86}8ms>Rb*@JISF$H=>)W}T{z7=DY-_z^n0ryvV>GlhpjA!z zKNZSBB#&={xpAn@Zr(?|y^d2C{Hia@4wloH<~dS3x!G*WiT>|EqbnHI@ozQWeY-iB z)$K$)Xzm<+soUQ-y*Emr*FNssv*5MLt#5xa&zZ?q$Hs`Li`jhk6SDSR%5?KHJUy{h zvpr>SO*?FCkw>%N$~7F+awVJ&wVTeF$Qd^_F4!cS!1-{B7ow z2d6W6c-#EX#^Y?sdKOrza-{55O9b$} z6|ZC3s-F(%y`0rYA}W1AR~(W>BPEINiddf6Ba$~cl1C#Pj$_#NsyUBiksQ}GQO$B9 zqN1Thk;gQ0MJ#NVDOl*`ibl2Z$s5|Od~z|!t$QBTR=KW4YnrNxii)U1b-xO%G@SCx zrA+EU!7@m>$?%V!N9=G|Nzv=5*PUD4_~)yg>1CyV&Y_^+Mo(VrQpB?Juj|-NQwxpP zHOyr^HV+R{DmdI`J_c8*QnW4dvN)oR5vldL?q2Va?sSql&vTr=VDV0&Ie+{G@kY(b z4c9WeM3`7(Wqfurypu;At8Q2-+{?`pIn*$<=UD!Kd0MFwJ~+`@`IzMNZ1%U;{8zcA za5;RO`I}XerW*}WT^)AVw_)wC9h*w$M-2HJD(K^${f8sm)~7R?iuHGvY5fDkUJTLI z+M5lEg9TE`UC(FlHIrI>Y87I2sVY-r87$CZ>NYtgua2t4V_xTSvC5I7I-gTrP3c`W zX|K%Y<&P(|Wg?y(Pg90e`Q}>V8{6kLk*nvYh^qB#t=xJioBTy|l6Q7xW_df5_da6W zvYW>9m!B(`$=Gw6k8-74eMEAte0Dm&e@>+uj8u*oB5PWRisyNr=Q()%qsrU2GVWPj z<9y4_mdxa(Rbn|+l`+)O&RY1~ZDjl1N;Md%95BYzPROr%x<|e4=uv%N=_lB1H-mf_ z#c;b2wk&y^j;+W-#LDGSywTQTsyT7E#d})#>BjB6?5d2G^sPx{Mn=dWgHoPRzED}d zGv*epRkMoFxSI}k4+iJ*NoqvdpNwW(8{HJy30SU3Aw_%`*dFL0bdt$x)t+>JU+DWz zWFKGY`wkp`U+DWx{^&!dJ$Iis9FAvk%TrxjNtUIohO1uNW6fvgo6PEwNg93jz6~Xf z6Cr9g`jaQ^C}e_3(!^c+R_bh4j=*Gf9%@M=$73P$vw4`^G}1lqWH3PtZP^_yiR6wL z`P|5w`4Q5|9BAjaA9QAi&v7GGVDw&@h8eRt%TBLb(r0aY(8nBWV%57dJ9TY(bz+*# z$r~k|(ZuFK4AVK0Ke}{N(RKb_$WY{tN1e%|ucdYKl&vtZ1t-EU0x<@s!v9ZA%Q8Rj+3gA|i z;AWL(8w|!@&fjb^YHdw4EM?rq)-e;!v(|lFRaYz9kHO6jf7V#J^U=I6J7 z00001)iT#AZ_saTBm zCe8;pm%?0QqqT|2UB_5skrB<7orxfOT#4+CM=^V%dm{Hj)J1Q4o5t6~^XDqms*P+e z+_P5Et?lJ&@7$8?jZVmjo>$K1s(nhGzN0C8nR1gQ{ZE8fIcv#IrdBp8uPk#xKcUR# zr(!y0Sgwv<)kquQY7_ieG>s?e-VQ%I3TG+Nz&flDg8Ac^x6C z=}3sJv4G1lH%<9uN;A4Ar?xp-$G6(lQ&l_%&sozvY~dz)tK8XfyhqWKJC#)yO77GY zA-MwVsJxacNjwiu_DJMi(RL=At78_}tb5DSr)@$68{?W`<7}YFbz6 z*o}SJHEU2y46R>wy^c?)+{RE_o(z{mFsMgZitYmTWIgnh%F?E>>(G^;~{ZrrJ@%^^zx*x39ru}?7 zeZ^c1is^f*&UEPGmGJz})AsLkN!_t5by=ijFyF*yaWcykw(vV18sj9RnZsRJV@nk6 zMyl7blh%^GsG*)bbp_9FX&G|PBKcZ5I@;wreCyIhOs>^l2;;k+;?4R@J{KuFSk}J8 zTF%pp%G<;wk4HVw{;BeqyAsjex+Q_ z@%a~r{g$r|{zyER{GsaK*=O0pe5~%DtXz&ggQYHB#!_>UA8Q%6>G@e>YW!Zcr*1RP z+uyTWH+A;+PX5$i1IeI&ZhZg0nK{mspXY4?-F%|Kn6DzLd zogDAMXW@n@uSE>8PX$ZRSg90+mg z;Fl@?08DD-+DcY@t-A20f1=xH#QDSV9Kl`EcV6oZS9FOO&fWWVYvz&N`*-?F-FqT- zmLK&K+Kckv_9=g=zYm%e+B=^dJ<;+WhW7UJGjrA6-s#;u&CXF&?w;M#x_hD14&%pv z^?{=Q01S1H>AEG^3Am?LddaM7k9Th~@Hlt7x3YJ3KDw`D`jfhtZQ>EoXA*dYbn~+C zrzTZO8J59oFUFhgIAV5hkGH5Q$e4`XH@&LsIJvAORW>{_zBsd3X)M%9s@nOj>bZ}p zf0DY-@P7^c9a!uIf-0h-r$tVvPqJ;dai|NazMFYdq@HfxxDS~y7B&6jM9Mmyran1R zj$<1;QpO)+!P$|FZTuE@9{6wLZpG$gkjv@6%REy?&jdDQc+vP&YyKjsf)w) zL&Z3ocDTb~u*mDjx8h-vTlcujV7%7)jiHv2_GZ^^POpOvu+EabA)}DV%4=5Jbv=_r z+4c=Dal+&^&8t<*-@xoR9Ia_8WU(2HU70Fhp?0*W*Tp?+5k5DyQ?jagnyS@BTgE*e zp49D6-93a(Zp-ZMI`S`N?w=I*Lj2z+*TwcOqjc;~Mjb=v-n{XlVpc9K+;aC(@8x|P z7gfGoCAsW5XP0@@s=)M>&yrVX@JR)@{{U}evI{*1PS>JuTYnjDTE`)18xB)b-E_>} zKVsH4Of9J?bt2;$E&V$+q!_{Dj3=uzV`;bCeYkMJ(%mc zj4r#2z}(ALuJ*U)X_u25_eNS#tD&hinIM773nN6wLzbq^YAz0GB&Svyj#|;0ODwT`_;HZ{PCgX*O~e)B5TE02KMDD?1n8`ye>CuT;iSxstzP zDwHwxY+k!+XCoo4Qlu}Q&554A%!(Lee3ChRn#QWHvK*ou{B^p#hopZGK3Bbo$t^BN z=9uH*E;nQ{c`Zkf++m$IoYa0_zDFJhNUN~iio;s0W?D=|c@?Q`sziypqIjwyQm)9W z;7~Kf^Qz33S-o*{=Qz)5NwwUL;cr#rx~_Vc76K3-nEq5j&G_$bj^IALAXHnz>(%xQ9%mHcM;d?c-O` zHTqC7&ysAe)0wA+r{Bugc_NNmjh1oqnAj>MRaI45DSVg?l$pytV(ooL=kaN8 zSn0P^nb;}pK$2BXN8hU7!C~ZMp4TyLV)fM6uEL4g@J}UMOmk(1B{l{Y)4O*gd=qu| zuk`tnF*+*yb^rnbLXqDpucP(C?%XZbwylrtkKCxghWSzOMcJ@yco=8P=sC+SV;9W) z&I$Rv6^W#CTNmnU6B2o!Z4oK(ZGG`Q=}nzx^gqu$A5N54cHEYuZ)M}Ay{%WbkhK=O zJ*z)3)vMKlvd zA~o?#6pVCoM)tMLdsVJPR8%hEcJ0}FThrm)`=`K#>9YI!{rvtX_!|${V1`yyu>l8 zI?|%^D|wi{Db+q7({R<rH*-ipO#BWkE5MN1P?wOZYI9TkeR z!(s_qy`3D;$k`)%SNGcXwaNZ;Hh-VQ!=Axruyz+}`J7Hi6*}#{(Bx^&QbpUpW=yNM zd4rg&gqWPBHz^8lHa8(pArf!4@=~)MnA3jk-x?u&fMVB29QTOoBY||y)~(2;*eGM` z>zlmb$kbiC9?oTCj9r|`8s<3>%~U`D`3KPe000Ikby?MJnbS6%CCk#*%kPGDn z887XNllF9N$z;+s^(tX%OYc1H@;=j;wW@igSGq5;fWT%oMqZ8!14ev~QzJ8At5yc? z=Q(=1NgTT}7$IUhS?86^iU^wdWqVlHIX)(%)OcMdg~)0hLy&_Rh{izc7VX$~D_GR% z$m42m`K(O!Y*p*T*Ue&QvM8AO9@efy-QBeuZqbL*vKt;Ap4+ffxql0!;wu(e$7$ewu_6^F#vvbBdt_pecMMY2R7cm)4bJrCSvo zO4d@ROS4&Cv?$ox)L$|=&w9GRT@v-Ri0AA*T_1Y2M-$7Ky2{5!u4P)gol4R7c25@@ zoQ-Z#kg;XS<6>3srP{JH5ET8^OHwSu9Cfoq)L#>EtogAA6;?uJ#&a}(2~`=1CN>xy+G{MQfVnMMA#)ZuCWOhjJG=GmL24zs4C09==-{8y#lG zk8;GloX5F{uajSzS2Zcxm8j}3duiE`=#bAZweSaz>7S0Cht}5G-0K?3*gV~b?3tD^ z5wX#~E0<);H4z&HhbksX5g8)-e$KgzK2^R;l4*p<@gs*c9VVK4pKnrW%8{#`r=I7l z=E`FsV|QE=m-ww!Vk+VlR#=np&SvA|dOxr9eW#{zXD4o4MYrR3T^}trD>IFi6?}@W ztA4AMzc|O_D=*&d(zL|#O$@D6_&vT^7{@ov946xJE*NXEVd$Oar<622pP5N(nBo;iAC)3Fiq`XR^2)>y-i(CyElGA9L>>;%0nAg zOr|n4MCC`{qR&M1h$v)O0LODQfB*mh0RB16V_f$tHLXQ+oaIDoTGZ~Us=mmGh^nf- z$e!h9Ij>`G+sk~5u|*?guaw+&3pF0q?$xCHrIn_Lzgo7prq_Iak}tn*#O(D^%anMF zh_)P;&RZVCpRGQMt8Se9zHY>Bci_l=lyLHAI)>uPak0->HhQ^dc51mB9tJsclDXef zH6q79-Fqi~-M#x5@JLsOPMaoQmUBCVk-2JWTJ5N!ky?tx$maV|jS=5d(u&?r-xX|& z^&{^#=p%Hk zpI_Zd^z24sG1lG8yCQA6uEf_JXLHjvK19_v9T$4naT{)(wqkBz zwoPk4M!ruEn#5!wbQdUODB5I@Sb}KWsI7YyTI6huR>;OVy_g!&KUT#dJV`!GzVU<4 z=eb|Q{@fd0pOAFf8@)g5nFy(EI^Cx_S*L?U+3(LDKVibl=4)wTvrfllv53@xxh%^h zYpYd5mN-|JcqeSRqjNVJ?z~~QQFGFK2JfzAHQa)+j`Dosv{@?9CE9OacyCj5^yg}$ z;hsi09J`8+i^v>b#=NnElUd~+KGL}xU6;@2!S6c07iz^S$loj8lrxmCR%D9bZ&8u8 z=!l)1osgNcIXXExy}gV5ets%YtWNHqe}B-^f(@zr7lYS^UeR^g45voCIUSd|&VSsT zMeG%KE51Fc;c_%7u@mZSa4{3=PRGFgWnT-Q$mfiI+HBw3#GZY=4*fp9{{Xe=Pa^oI z>-05egK3BBD)?OfM?7Qx(`NqOJokR^6Y#X(F;=m^^k~KD)7XX4N0-s|eX|3UsO4(4 zlUI>*7OQ%ZuV=L;t1NC*?IRx5R9ByGgOl?5`~LeJi|qUO8pJ_3J~LhrSG+T~EkA3} zw!Fsu)88v(GFZ(=F|k*z9?_`mxcdJ9bSKkxYgqWJQAY`w@} z&epRBnIrq7hl&3HcQyO2MSTp#3eqY`T1!=|ZCTeg3`W_nV78nE$g(&+lM#*1;jh5t zbT@H%YH;77Y9}J9D<`WwQZ-Rm*~Xd^Xdi)BHeTmX3*MP?xr(@I%=@%%A^mg`Ta9eERkcZ|H&d3#F4 zQ&vaCd!AO(KlMqDg1dbt=^JIs5A~yKAx(EX-X8MM%T#R&ua}K-IT2I)FM|F1dk9rF zU6;533XTbo@CcQWc&zlmukYFSx2Th{clvVi=FrA>_fKy!r*-<1y7p6NL99Q(L-$qs zTmJyXw?FC*%53m0r%&QV{{Yu-$ye%1&c*ls$PIr#DhsOia=%y_mrZ*9Rkt;coApQ} z*kP?YNmV%~f2l_~l!55Sx;I+H>tCtbbE@`y7N@yRMz&h=A$qQS<^6MjI8&85uWgJ=7a^#Ra-t-ctj7g7kr%tAoru&`R7KQR%zU4+^It6TUoY-A zXUOe5pS^8c=6>ag9VC+FHmu#;)wD%>oUM*IZaOGpYWi@($l-|_8yeI=-PK*(ofF=_ zMERUOdlSdE@9(hlaEPkCkvppUA}7UH_ko^%8C@x4`p@fofjBC)c_i2J+l@V&kgc_j zba?JJ(%hRS=VC{vX2mVcMm}6NHPR|aCTA&)uI2mscez#B6<4u3sUK;7PXbPm>-3S~ z<;7L9c-5uI{MwT9cO*$Pep^kyx4~VSrXAj7^&^J`qf*yu$yrrnW?Edun9)9X{_`Sn zG4v_os8Pk^t3^*Aji*|L8jv*^1zL3BWqP%tVtX4ePt>)b+ki+QGY&)&HlI+y#BU;$n${T%r zA#2H_4pe4kEw&rWi`Ck zBVxi`pB>`}?$?L~Hl%JL_>Car1+ritn9*RiUe=zOqUksE5fJ-VgE zb(_)01N8|)NE0i$X!y$ey$BuMn2to(<4hLyjB8i3*q;093kJ-wxV=ciGR!c}% z`{bteYZKefofqu6RAq)o7dCN)OA~fW5VlHs{{SK5DK+Ye>%i%?oWm=}=8|ge%2`&n zI#M{fg}Rlm)U!tH5n88qywxq%nTaGeD_D)t&jhS@cD^}cd!u_*J2|dYUu8c2ht;_r zAL}dzuEnnQ@L4D>Buc!kwO6cnXvn?MU8N-TC31CZW^Wx?Hr>_d*(9rJiMnq3wpk5^BCgJKXxDDlR48tLTk%iMpU!7@Up*&edS&Iy(&6h* zKNoJ+ZDw?gm!{>8f=vGaTK=zYL`7q5;b)Q2R&u+&ykgU|y{3JLp}`jXQ}d_uo7d8M zrwy%i<|9;KEjHdOGfq2oq)n0R=S`)pJ2zE|)mf5C_F;C;ig=`r$-7Nh=kQq_HJHd? zvd}Gi_}dS!I~RUea`ldAow9kzCyiM&5+_L_k&jM_X17HBTxYse@}0YC((NoyH#l0AH~0$>@r8E&Zv2Rrp)ZQ zUN+dIt&YDWQfBphf;#TEoJhMhuDyWwo!Tt>Hs2E#hoM>8F$V1cb<5np_5d+OeTG)U`Y8yu+kn##7A=$Qo7eQSg~bhE?7 zOb&V*89ga1t0YMRwb!uIOseT+sL34G*r_Z30FHW2l0I1+`xV}jI#{e+*bx`QUM{>j zw9~6cm-XD|9A}jyj%=PP2{vs~%h$3xcDk}NIgax$(pt~QWMYM@?~#+=wr1h_+UZj_ z181ep`b!bWi|O9GHa>RuL|)H^?RaErr+;)-_eJiVy^U__9u4tJOWKyEUqb3eIyWm) z%`9b%r3q0NWONttthY{9uSHH-mC3pz+ShK>&1^3fcyphx9h`Quz$!@8Uq`u-uZ_DJ zsv@gprI3AVQL1mZ@kEVY*15>2tCZlweV?!1lQmlNO=FjE`FSB~yXKnRJf3pYtJ}IV zHd3be{Lc6y$t-L|{5Q2bsU6(u;@^8A72F>I>Jwrjk*|fDuH@R%wF)~r;`avoBwiK=Ol&WmPw-q$iLo?WrK)uV;4B6;MM{z+~* zi(03eM?Ofa5y>2%x$_3)m)`fx#QB{5US~d8q+cu*U~2x?p+dWU^-_gKDn(kfEo^bI zJE|+(_q(a>dxp`z>^Tjua?a$oO^Yu-&T=_?wV5qkvnuvP^FBpXWKp#n956(Tf(V+( zp^iA1)+ft@>-|4rvAz!QO9jGQQ{30bmen`nV{+NoMa#1nk?W7fHR!Td$Hw-foUT-! z)NMow2YPs;FdLOnE2#t zT#Ad^x^`4l?uTA))&7%y(ouRA=w|0JTcyf8qe{jZhoZD(S_vA#YSrRp##9hl?YW+K+H0}KEr?DJZ*rR+tj^?&$@>9yjqYFJ`?w)A7n+y4MJ@YXMC6E9v>$5+ofHrJuLRIJ2fbMz`X z$vh5w+URboGv-s;W9OqHMI)?HIVPMn4o;3!P-QaMd{kO~h0KK3=wfP3B$4A{e4Oz^6wg$4?DfBa zBaM$$Y!O2XV~v~9(%5{C8%yD^dF<5srzJxdUXDvQdb}}BmYO({Ij5co(OI;KyEc*1 z%_9*VW@+bqvq@h5wmK%c!#D17PaD*;kmCG|=`Kee#yV>{P1_QyQoOEjnbTmVk?l%X z9*lKYy(wAqD`Bx>IpF&L08iLlb0d$Vm!WqRl&N0+HziWV8}x0&$?DvvZYRNJwTNU# zGFWGY?~YjBir2Bq)lSM+`>igEFL1s}-y!kcTR9#t$E-h6t(cIsU{-5zQ^*$=)Eystq3|{M`f|Zeqk6nH>Dz_%?A5Uw zWrBDmPDvt`H=?!ddsR`*R8&+o(N`yt!sKaX@fU4la+uptU7>!I(pR@m-FX=-7Awya znT!t#zA~so|W0fSgikeTQ zR_hw5jdNqLk<5zK$bzI=UhB1S_QOMH({q>g{O&qWQm#WEGoh6cQBm6(s8`KWJVEHPKNcF7&uvG#H*`B$@?o&E}`?tP4( zRlPi7Vp(kRwy!5-RY>Vsn)J@>o%=Q_uuAtTr@;|Bs-mKMnEwDKiqGH{A&Ux>xU9v(iAFF&QGv(vs|8@BtpMaZHzWa_Bxl{?W4 zg*txqzG}R0t>4=B47GelA0Hc>`DS}kYcnHU=;_gcT-V#VKb2A%@glw5mCNO0UiRQe zCwP$Y<`xSSxWfaJ+%mnM$nu$ZpM=0b?&{Q)kiXBCzvWa#^j}{X$D*RP%BOT9=au=p zkvXe19%FgU%XO9AB4cqi`_{waVwK3}MMjGq=|<;ySdz~4eTn>xS*3rGh~HPy901jM z>k!)1kV~fU&2m0w*+wQ_(;Kp^Rp~0Z^<4h|Rc5@{yxK22AhEY1;tw9b#3zLuI>q0{ zaMtx+CF^Iz_-Q*DvcE^->^V7GZzY^+GAyGY-_Ev<4ohB==6XE$@!bA-z0;_!ea-Xc z@iubIQe$sk52$#}{hkzgC&x-zUwGZ_( zR~d?-gU8gw;_EV|K7gb?Q}$8r9>D7?{TY08tfH z5fi$qq9T6!ud*ROT@~>o_`ioS*D_EnJ0|lZHe9nF#B8-{OCP6&pygJz{{VWS+T@IS zcZ$vX5cgKZ*DPjqant3FVc%fSX6rq=7N2Gt*?C;mMrCp_D`umEh02~)NuG?F`;k@A zQe)cGY_=hhv)slqHZnNa)<+v!#xadXv5aaXTE?{z5v^-c5v@c-L_|bR#xD6qYlxo8 zx*s1pJ?)k(hIwODR3<18^+`P(#!7NXQ}waALtk&!M2gy^c1B)P`&@-`VC`T&nD`^A65yNh>SpN_c$ zs?IUh_iZyXcVF5y+@0KuG8k;mI#q)1KHDS5NgHRcD^-#s9`>TAvy{aIMP9^J_a^4# zl~FraVnaa~f3G>=efec^AN&4O`z(IE=Y{v>mBfGV`A_V#o>zY>za{(cPt4<)zA5+p z{(cHc;3E(9=R7aJEUqK}0DsDVWsldK@V@-AxR3q+04e>JIbHm&{Fm>&KQYYT6#M@F z06zsJ@DYdl^PU&qmRAw~0Kerwvd)3X9y{I^oPCG0m!GN~e{PZpog`R&2LrQhS(}eW zs(Dq~P`oHD%g1toB9*(4TYK>tm#`jmBI|dtXZvg{ONc%vDP_71=v8 zUY#R^a_T0lSctv5s{UjyUDZ_qu{Y$uCB*Q~w6=XuMcqd7qT~Gk0D`pB2cWh7kN*J2 z^Y-3F?f(GHNlkV}(9Z)t5xc=27yU77xr(w=*f$+}JIfikW{qN*lJaKFmfCQvnl(go zC4*GEuT_zcM0+0tn&eL}WTtig4ZKx9P0E?u@cI(i04+&C00000000Fo{#Nr5FZ53* zznRqesf+vFqnnRh-_zblcl`y@3SE4y{{a60IngKjw>JL({=9NY7y6C({{Zr(FZEa9 z^Fo=2XVPAg?s|-him4vYfO?{QRU4J4W5f69-aPIYTv>SMW<*{)eP?)904}00GvwEjLu; zJx^rOH=TPEwrRVD7bUK38qRie`Nab}T_8k-b>H#qCesJ*oQkdrDm1WcH_Fs5lw5*Y`s_tKs|9 zPSe4Bm0o+aE6p}nk9U~q%Uch~I!yDuxUGj6=Xs-LgpbQtHI8huNs7wFVx!#n(h26m zQt=fPH%_ReB*b_Ke(JwVfB3fN{XyAHo(8;slS$G?A@avuc+R8#;$&%YA5T~vmiAL? zng_#-%Wpd_7S6e?>G<0ZY9-u{&GMNIhalSiq*QVEeEJJ zy^#?;)m2y75fkF2tn0gxJQJ_S`h3Y*+41@naQRW4UeCq7E@)jUYPmG6vUL-(H#NL6 z34FF;;@tw(Y?sVljB{j-n;z%)3BG@JO-BKhrz>3@rA45*E*>{sUB%W1h(|JPxD1ly zIOmJftIdXl2~A6sSGQ#Y8UJ5e1rD#ka?h~{=kk0*`1tVCYk z)%UN_Hcx>YmvvR{?giOCN^eRp$7;Ok)<(mNbaL!>qv3uzxnc!trp4kNOFg|`qa)E3 z)uzfxfyFv#mC?&*8+N;$>QsADmfFs{mfN;G2C0FmE&S%onZ{sn^r2&)HN2i)>@+CW zjf`uY=gnrsQMDS?Rabi=n`}B9>B9@sM@d`_)7BQWFgK1k{{Rz@%}Eq(V&pdLpR1kR z^3!=yJoYl1R#Pu}S1*5g(T(iJF{wn(*}HeU8$O!PG5{R;D%PJIf$pE zf!GZ_T|)4l-P3ETP$WBF6mMG=la_lJ=0SP*OpNtv<*6h7o3YudOs$s2$nSY* zU9T_Wo;X@xv?X<)b!)CpVckn zY|`}=CAjP+UCl*pHz`(v`K!#-Uljd&{{T`2O_fu?%%2agrZOEM^^w4RKvT0ddOAk; zk7m-yq;ze!rECnBT-<5QjZ{e?pIpl1e9^nVcQuY`B#mQ}Z1x{5kI&*UdE8ByuHv&; z>N#v>$R61tw~xryisdUX$i;IX6!oT#Sl-twT*srDs)~wfm^M~?pAN3ZDV*bVqn} zUvl<-OYsaldTgu1fnw|Jj($$^4 z)(iOCZS89tlB)jzzE!_USZu=n{#iVZdtH!R1@eQ<@N**iHe#DIqOw*SE>8@SB2P+p za?Ba-uvx8hC1(?##N=?f zN^f*lvH41K(YanmyUMJVy@=zHi`}Y;=4yBBy}O~cofX857sPC2c}*dnr<9FYjHXOy0jkcmL z(o?#`b$bm|>Zr*UNc~w^8_~^A@sHro)BgYp9N7L1{Qm%H!jIt3)BgYp9N7L1{Qm%H z+2!nSy*_O`(&vBw0F#!_!cWuu%5xd`Df)k%P8&Z7KTq>1%xB=I>Hc*-biMxo@n78Q zS3OUHfAohbpNsrou=)^t_wD|Ful!|Pk#;&QS=sr6+i*H7vu@PtTTgTbOaiuw7wS~Z1idZl2Gcn$FJ?(dq z^>wx)cbdoe+>)w6S*ZfcVYU>dN}e{ITz)>SdQ>RahNUWXA&$LTm1{=WYu2v>O>A(% z3`}HkMH^bk*w(eEh=_;#MHEm+95BZmFvP~k6j3p;#~f@#YZ)6Dh}JQ!L`Jo!jcOty zA|fBNR-94do}%KWd2+djrCJrdvtq$WSQ-2SlFw_ z3=wT#gq$GL93j*H0EA&9^t_eNH!gQSVkWZoV$^7;)p8@Am8nz8*&`l`*Rkw!D_qAlRjzB1QOK%_ii%g`tgeajygQJ&$Q*S})?bWoO6l&@iIPuu zOR*%rXIHq1=X}^#cWTqfd|~=kt~ND}DeXtIeZ0N@0L)w}#d`MOnysiIvs%PYhQ)gk zvS=rUR;wh6XrybSk~tWv*Rkz$T-8>&6%|m5-lF_CaT_Gr9lL|9RM+zpI$M@>i}I{E zJF=?!kBN0|K>|C`!NP zO*WTF9E`b6MMppIUUpil{{Zr_iEbGpr&bhM_(}SInNCc9hTqP24cCnK?l#KFhu(Ee z*0+8qIi8+IoRPySrrBLaHY-gW@JhwqQSr+YpB#-;>W*ub7r9MW<}vs2S8U_*lx|~h)sgX9qkgpX?pBq% zBcicd!y}#<8oeCJ7}p~9q8~w@75v|79M*m>@qWXE&x-zUwGL}P7x=$nYd5R+;)hSU z*uL-HGnUVa{%^GoYd;tGzhS~>#eX;2hhoBDvs(@7_{P1M=GKs zHYiy4DtA;xUfq#ZJF0g+Wbb56l1U!e<6{-id)$m;8jamt=Q&ZWYA01yR76gyr@?#^ z+Lj8{p_avoOIjELy#3879MiG;%o-^o;Yth=N9^yl!;2{nfHps;G{1xoUcjx1(UF>sp>3 zmJbPzi6W~;j4g?XzZoW($@j|^r+;}YTAlJ(u`8V<(mn1~F{_DOcEsT#vx(9cAj{^S zj)nOsl_tgGRa?sGBb7IgA!(cM6CzjCW7C>xBvv}R_9f)M{vLY6U*vI`%Z)hu`ZqyB z_-?_bEhLn+W~*yek}|cLtIKCjVkSh|)b`RG#fVj7qgJzLk0%e!H&q8Y}mVEdv@oR&8srW zJ&O}P(oHndxnCr*J<6_o-uEk<hOz9~PtE7ouRV7U+aYGZ5>srSVv_eFZm{{YMv zA^!kPOd#!dxjtp&o!=kWz>ooQMgRZ+0006&x)|`!>a(x?;~B4TzJrjhq^?3JHqKw! zYt4$|ojV@axh`F~n3;`S#n@WMvc3la9!oKD%C zFkQ7@YL){9i`Fn$ZEpusEPfYX#bfZenlLpP4Loixq*Q3tiKvK;jtbC46Hyc3)G$NC zqr;zsyg2w)E-~W>B+l)*=__TqKa=v%M9qtP*rI_VY>!5Hn~K-*jaeYUU@JXq(S`EZ zo%XU;?%lB)@JyqT@pI`*&L#Cvsr)!s*ma#8W;9xXTSE~gF5=3c~1 zw-&z@wxqQw!&&{|lP5i8ZMUrLe0A&3Ro3%!s0UW<*_ucU%z^lYtvYs?Re*! zHp@J6Iw+u$M?oAhs}eMc73t@>-oKkKDc>nxJYVD25G%J`>pdA$M(aH0pVQiR0iDZW zXyY;X9G#4P8xmBZX0&&1WMHixLfzYKoozbPk|!k}M}j*Vbl=Z7zI)LVKNJz;b}UTn z#_afZJzUC{T_33hx~lJ{{C+|-d+RyhNs~irvz5-SuXaKaS>dIw=Ap02TST$X4hHJs zFx4LPR>6BERo3mQg|iwz=VQ*L$**H-@k-DX+hU>gnD` z$x_627}xg3ck;Q>qC2<0WnRUkfnS|}^DpF|PiN1?PB|Ol`mfaaxLjmdOg<+K1do;s zMmCNz8D;YNl0`zSRb!G*DkFUFWJu@vQ5)t}?1+cb0F0;r0000CY3hTc?wh*H(A~!! zNbyd&$$I2cKE^Iwi!9^zEpqGHjdlHBYQxx}vFo=U)N5y#6O*djaWx>i%Qe-}EJtE~ zOy`CEH)V@EXIbW4-Zm=@pYdJ}aayMX(cQIGI>hGjj z92Fy+iLyCSJ&X6T!nGHwr{A~7;(4zT@ZS~iE{BBU9vRRzel^f_%I&R))%7e@Y*sS5 zA|gp*X2R5(_CnK>)xDI+OKT;Nu&=Xv-HQ)=j_mu6yzRSE+4WZC@^}T=a2bpb-OMZC zi!p~xzCOl1*(_AHVY6N=jV9Pz6s4NH(ZyysmZD?r(yrOkNES$+U_c60%I?)w_ne|4b|3&89Do1-00D;Gbo4vJ zz94)THv;op^Ypd0?N}Yt6`R#;(WkNCwhetQL0;xA-a?K>v|l>LW*LTdu3nPVXtPRQSV)ImB#$a(%SIR*Z z%k*C=%=o9NZOoP@z6$S(Qvg@FQ)P0hFL32V>WSI?fB>ZA9!<%d6T{rcLHO=Wk5 zjm&c+w~)rg9%7Ys_IwZa<9cy^^jiU@;MAmxUb^x+{WIn zTArP#UY(AL#dpUvZci3H6t%lXmPWjk@)YXdsWW+It9HCrtIE~wY>-aJ#P<6f)j}$F zF9@!j^ODUzr=8yPmr31Ys}@eSe;-{}zhs4(TK@n(Rw8yq`Nl%S)f4dh_fx_0ehkd@ zlkO)uIy&gR{JBjzC!7BO?Nc)YK0o(K&Iht%JfwKpijAZ+^M@{FGVxJ8zGq_d*vLiaB+{vT%}jAr}qvth^FtqT*_$l9L5 z6!rfA2K{CiME#$cvo}1h?<{y-YNaN~-pTCO+`nziRrl__o!J#TCv^A9K0NTq>1#)x zwd|(7o8Rx&dPv3F^Ha%<^%LuU9}?VUJ5hJ;t6w6Q;9rB7lqnNM6SEVYo$f}CfdZMQ2sHmz-iQqp7u(HQJO$&yaXq6nt`3OSBDKjL=)F-J2kP? zp#^vtiT?n0H2T-#s(ru@B9>Wak@HU^lT9m?@=Gh-B$7SLyPo&GRnK#ms=3OltJPHX zh@pzSOoj-fh8UWRiYS=a;*E_>n#M-NYZ%t2L~BtI6QUph5t0A^000000DL`zSl0H+ z65_Uu1{-3=PS-M88N6jYrAM{MsJ-jmhG_ftUuPpx$iC>PsET2>>EY?qw$(h>F<6Y& zmu_htE5B2@X`e^bcgM>^DwzgD5`HWc9 zE3-vjRZhj4vN>zbw|AY1`*$4+T5z|AJVlAIYmF18wLhC`vKtv}O-nbcHG5K~MPp0# zH}CXoF)H_|6d8{ToD%v~>xxciQ& zGKP_-;B~kf)N7>2P=%Llc~KgUxss72$X%1NA}qHpPa^$qJJ32_cU$W1O5RNFqRQl9 z-<#2o$^?mmPUCd)-FnCq+jjhaZ<=c0F3r@*v`Dr=nIRd(Oq`A6T{{S-nN%Z!7{8ZzSz8|XnN`8LCr;R@> zE$8_+z<+HI*p%_7<%PWe04Dek?V{jddDs5{GX6>Q_I&(QayP^EU#U;e*p%_7<%PWe z04Dek?W65r{z-oeL3TMdF0DB-{RX+KC2U@ctkAI{BK;<%iSOKNJEyWaA#$So_FsW+ zkUZ=E0GWRz`g=ZpDmfeB`mfZ2KAyf#kA|-XWpTS6!^hi4JnVS6nP#-S!?W4S>rAr6 zYPIs|7$~q>&QcUs_xYa3OFK<__jE2)MM=KabzNgi!qC?A?Q;dHYq+>0tBk0 zz81bWZLK|Qjx}EFKEaJx;>u%|MMaVne2jZ6(wR{fYLhisuKVOpieIK-eiOq}U9Xv0 z^ZbpH$l%#3Iyy8l5YWFYN#DG4-ImR$nyc;f;;rnx*UG59i9ZK-!Eqy7X}ojsIBfl@ znD=w?S6J&`X_7>wSe zjUY*~X=5pklO)>AY*pKsixqyAe8NK$84Defip$anlGALn*jgC0l)-kBmL;wOJ@Bjb+0000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 y00000000000000000000000000000000000000000000000000000000RP$fB^fyY literal 0 KcmV+b0RR6000031 diff --git a/apps/nacos/2.4.3/docker-compose.yml b/apps/nacos/2.4.3/docker-compose.yml index a2dd1ec..cf220b0 100644 --- a/apps/nacos/2.4.3/docker-compose.yml +++ b/apps/nacos/2.4.3/docker-compose.yml @@ -9,7 +9,7 @@ services: - .env environment: - MODE=standalone - - NACOS_SERVER_PORT=8848 + - NACOS_SERVER_PORT=${PANEL_APP_PORT_HTTP:-8848} - NACOS_AUTH_ENABLE=true - SPRING_DATASOURCE_PLATFORM=mysql image: nacos/nacos-server:v2.4.3 @@ -17,7 +17,7 @@ services: createdBy: Apps network_mode: ${NETWORK_MODE} ports: - - ${PANEL_APP_PORT_HTTP}:8848 + - ${PANEL_APP_PORT_HTTP:-8848}:${PANEL_APP_PORT_HTTP:-8848} - ${PANEL_APP_PORT_GRPC_CLIENT}:9848 - ${PANEL_APP_PORT_GRPC_SERVER}:9849 restart: always diff --git a/apps/nacos/2.5.1/docker-compose.yml b/apps/nacos/2.5.1/docker-compose.yml index 21c1635..7e925e0 100644 --- a/apps/nacos/2.5.1/docker-compose.yml +++ b/apps/nacos/2.5.1/docker-compose.yml @@ -9,7 +9,7 @@ services: - .env environment: - MODE=standalone - - NACOS_SERVER_PORT=8848 + - NACOS_SERVER_PORT=${PANEL_APP_PORT_HTTP:-8848} - NACOS_AUTH_ENABLE=true - SPRING_DATASOURCE_PLATFORM=mysql image: nacos/nacos-server:v2.5.1 @@ -17,7 +17,7 @@ services: createdBy: Apps network_mode: ${NETWORK_MODE} ports: - - ${PANEL_APP_PORT_HTTP}:8848 + - ${PANEL_APP_PORT_HTTP:-8848}:${PANEL_APP_PORT_HTTP:-8848} - ${PANEL_APP_PORT_GRPC_CLIENT}:9848 - ${PANEL_APP_PORT_GRPC_SERVER}:9849 restart: always diff --git a/apps/nacos/3.0.0/.env b/apps/nacos/3.0.0/.env index 582f94f..7efde0c 100644 --- a/apps/nacos/3.0.0/.env +++ b/apps/nacos/3.0.0/.env @@ -1,6 +1,9 @@ -# MySQL 服务 (前置检查) +# MySQL 服务 (前置检查) [必填] PANEL_DB_TYPE=mysql +# 网络模式 [必填] +NETWORK_MODE=1panel-network + # 数据持久化路径 [必填] NACOS_ROOT_PATH=/home/nacos diff --git a/apps/nacos/3.0.0/data.yml b/apps/nacos/3.0.0/data.yml index 6ce0f1b..d53d095 100644 --- a/apps/nacos/3.0.0/data.yml +++ b/apps/nacos/3.0.0/data.yml @@ -3,14 +3,14 @@ additionalProperties: - child: default: "" envKey: PANEL_DB_HOST - required: false + required: true type: service default: mysql edit: true envKey: PANEL_DB_TYPE labelZh: MySQL 服务 (前置检查) labelEn: Database Service (Pre-check) - required: false + required: true type: apps values: - label: MySQL @@ -19,6 +19,22 @@ additionalProperties: value: mariadb - label: Percona value: percona + - default: "1panel-network" + edit: true + envKey: NETWORK_MODE + labelEn: Drive path + labelZh: 网络模式 + required: true + type: select + values: + - label: 主机网络模式 + value: "host" + - label: 桥接网络模式 + value: "bridge" + - label: 无网络模式 + value: "none" + - label: 1panel-network + value: "1panel-network" - default: "/home/nacos" edit: true envKey: NACOS_ROOT_PATH diff --git a/apps/nacos/3.0.0/docker-compose.yml b/apps/nacos/3.0.0/docker-compose.yml index 7f87a0d..699e416 100644 --- a/apps/nacos/3.0.0/docker-compose.yml +++ b/apps/nacos/3.0.0/docker-compose.yml @@ -9,17 +9,17 @@ services: - .env environment: - MODE=standalone + - NACOS_CONSOLE_PORT=${PANEL_APP_PORT_HTTP:-8080} - NACOS_SERVER_PORT=${PANEL_APP_PORT_API:-8848} - NACOS_AUTH_ENABLE=true - SPRING_DATASOURCE_PLATFORM=mysql image: nacos/nacos-server:v3.0.0 labels: createdBy: Apps - networks: - - 1panel-network + network_mode: ${NETWORK_MODE} ports: - - ${PANEL_APP_PORT_HTTP}:8080 - - ${PANEL_APP_PORT_API}:8848 + - ${PANEL_APP_PORT_HTTP:-8080}:${PANEL_APP_PORT_HTTP:-8080} + - ${PANEL_APP_PORT_API:-8848}:${PANEL_APP_PORT_API:-8080} - ${PANEL_APP_PORT_GRPC}:9848 restart: always volumes: diff --git a/apps/nacos/data.yml b/apps/nacos/data.yml index 79d5202..3f7c4d9 100644 --- a/apps/nacos/data.yml +++ b/apps/nacos/data.yml @@ -3,7 +3,6 @@ name: Nacos tags: - WebSite - - Tool - Middleware - Local shortDescZh: 动态服务发现、配置管理和服务管理平台