From 0cc67c910ac3bebcc003755909c152c6889f425d Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期一, 14 七月 2025 11:39:26 +0800 Subject: [PATCH] 提交docker文件 --- docker/nacos/plugins/nacos-postgresql-datasource-plugin-ext-3.0.2.jar | 0 docker/nacos/conf/application.properties | 306 +++++++++++ docker/postgis/init/init.sql | 551 ++++++++++++++++++++ docker/readme.md | 103 +++ docker/nacos.yml | 57 ++ docker/system/bootstrap.yml | 31 + docker/spring.yml | 59 ++ docker/bak.yml | 121 ++++ docker/docker-compose.yml | 146 +++- docker/nginx/conf/nginx.conf | 73 ++ docker/start.sh | 11 docker/redis/redis.conf | 1 docker/gateway/bootstrap.yml | 48 + docker/kafka.yml | 59 ++ 14 files changed, 1,522 insertions(+), 44 deletions(-) diff --git a/docker/bak.yml b/docker/bak.yml new file mode 100644 index 0000000..d06bdc2 --- /dev/null +++ b/docker/bak.yml @@ -0,0 +1,121 @@ +version: "3.8" +services: + # postgis + postgis: + image: postgis/postgis:17.5 + ports: + - 5432:5432 + volumes: + - ./postgis/pgdata:/var/lib/postgresql/data + - ./postgis/init:/docker-entrypoint-initdb.d + environment: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: Postgres!_17_jHs + ALLOW_IP_RANGE: 0.0.0.0/0 + TZ: Asia/Shanghai + POSTGRES_DB: jhs + healthcheck: + test: ["CMD-SHELL", "pg_isready -U postgres"] + interval: 5s + timeout: 2s + retries: 3 + privileged: true + networks: + - network-jhs + # nacos + nacos: + image: nacos/nacos-server:v3.0.2 + environment: + TZ: Asia/Shanghai + MODE: standalone + SPRING_DATASOURCE_PLATFORM: postgresql + DB_URL: jdbc:postgresql://postgis:5432/jhs?tcpKeepAlive=true&reWriteBatchedInserts=true&ApplicationName=nacos_java + DB_USER: postgres + DB_PASSWORD: Postgres!_17_jHs + NACOS_AUTH_ENABLE: true + NACOS_AUTH_IDENTITY_KEY: nacos + NACOS_AUTH_IDENTITY_VALUE: nAcos_!9#_admIn + DB_POOL_CONFIG_DRIVERCLASSNAME: org.postgresql.Driver + NACOS_AUTH_TOKEN: TmFjb3NfUmFuZG9tX1N0cmluZ18zMl9DaGFyc19Pcl9Mb25nZXI= + volumes: + - ./nacos/logs/:/home/nacos/logs + - ./nacos/plugins:/home/nacos/plugins + #- ./nacos/conf/application.properties:/home/nacos/conf/application.properties + ports: + - 8080:8080 + - 8848:8848 + - 9848:9848 + depends_on: + postgis: + condition: service_healthy + privileged: true + networks: + - network-jhs + restart: always + # zookeeper + zookeeper: + image: zookeeper:3.4 + ports: + - 2181:2181 + - 2888:2888 + - 3888:3888 + volumes: + - ./zookeeper_data:/data + environment: + ZOO_MY_ID: 1 + ZOO_SERVERS: server.1=0.0.0.0:2888:3888 + # ZOO_ENABLE_AUTH: yes + # ZOO_SERVER_USERS: admin + # ZOO_SERVER_PASSWORDS: kaFka_12#$56 + healthcheck: + test: ["CMD-SHELL", "zkServer.sh status"] + interval: 5s + timeout: 2s + retries: 3 + networks: + - network-jhs + # kafka + kafka: + image: bitnami/kafka:3.4 + environment: + KAFKA_BROKER_ID: 1 + # ALLOW_PLAINTEXT_LISTENER: yes + # KAFKA_CFG_LISTENERS: PLAINTEXT://:9092 + KAFKA_CFG_ZOOKEEPER_CONNECT: zookeeper:2181 + # KAFKA_CFG_ADVERTISED_LISTENERS: PLAINTEXT://192.168.11.203:9092 + + # KAFKA_CFG_SASL_ENABLED_MECHANISMS: PLAIN + # KAFKA_CFG_SASL_MECHANISM_INTER_BROKER_PROTOCOL: PLAIN + # KAFKA_CFG_SECURITY_INTER_BROKER_PROTOCOL: SASL_PLAINTEXT + # KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: CLIENT:SASL_PLAINTEXT,EXTERNAL:SASL_PLAINTEXT + # KAFKA_CFG_SASL_PLAINTEXT_PASSWORD_CONVERTER_CLASSNAME: org.apache.kafka.common.security.plain.PlainPasswordConverter + # KAFKA_CFG_SUPER_USERS: User:admin;ClientId:admin;Group:admins;Default + # KAFKA_CFG_SASL_JAAS_CONFIG: org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="kaFka_12#$56"; + + + #ALLOW_PLAINTEXT_LISTENER: yes + KAFKA_CFG_LISTENERS: SASL_PLAINTEXT://:9092 + KAFKA_CFG_ADVERTISED_LISTENERS: SASL_PLAINTEXT://192.168.11.203:9092 + KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL + KAFKA_CFG_INTER_BROKER_LISTENER_NAME: SASL_PLAINTEXT + KAFKA_CFG_SASL_ENABLED_MECHANISMS: PLAIN + KAFKA_CFG_SASL_MECHANISM_INTER_BROKER_PROTOCOL: PLAIN + KAFKA_CLIENT_USERS: admin + KAFKA_CLIENT_PASSWORDS: kaFka_12#$56 + # KAFKA_ZOOKEEPER_USER: admin + # KAFKA_ZOOKEEPER_PASSWORD: kaFka_12#$56 + volumes: + # chmod -R 777 kafka_data/ + - ./kafka_data:/bitnami/kafka + - /var/run/docker.sock:/var/run/docker.sock + ports: + - 9092:9092 + depends_on: + zookeeper: + condition: service_healthy + privileged: true + networks: + - network-jhs +networks: + network-jhs: + driver: bridge diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 88e061c..99bdcec 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -1,55 +1,113 @@ -version: '3.8' +version: "3.8" services: - # zookeeper - zookeeper: - image: zookeeper:3.4.9 + # postgis + postgis: + image: postgis/postgis:17.5 ports: - - 2181:2181 - # - 2888:2888 - # - 3888:3888 + - 5432:5432 volumes: - - ./zookeeper_data:/data + - ./postgis/pgdata:/var/lib/postgresql/data + - ./postgis/init:/docker-entrypoint-initdb.d environment: - ZOO_MY_ID: 1 - ZOO_SERVERS: server.1=0.0.0.0:2888:3888 + POSTGRES_USER: postgres + POSTGRES_PASSWORD: Postgres!_17_jHs + ALLOW_IP_RANGE: 0.0.0.0/0 + TZ: Asia/Shanghai + POSTGRES_DB: jhs + healthcheck: + test: ["CMD-SHELL", "pg_isready -U postgres"] + interval: 5s + timeout: 2s + retries: 3 + privileged: true networks: - - kafka_net - #kafka - kafka: - image: bitnami/kafka:3.4 - depends_on: - - zookeeper - ports: - - 9092:9092 + - network-jhs + # nacos + nacos: + image: nacos/nacos-server:v3.0.2 environment: - KAFKA_BROKER_ID: 1 - ALLOW_PLAINTEXT_LISTENER: "yes" - KAFKA_CFG_LISTENERS: PLAINTEXT://:9092 - KAFKA_CFG_ZOOKEEPER_CONNECT: zookeeper:2181 - KAFKA_CFG_ADVERTISED_LISTENERS: PLAINTEXT://192.168.11.203:9092 - #KKAFKA_LISTENERS: PLAINTEXT://:9092 - #AFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.11.203:9092 - #KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 - #KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true' + TZ: Asia/Shanghai + MODE: standalone + SPRING_DATASOURCE_PLATFORM: postgresql + DB_URL: jdbc:postgresql://postgis:5432/jhs?tcpKeepAlive=true&reWriteBatchedInserts=true&ApplicationName=nacos_java + DB_USER: postgres + DB_PASSWORD: Postgres!_17_jHs + NACOS_AUTH_ENABLE: true + NACOS_AUTH_IDENTITY_KEY: nacos + NACOS_AUTH_IDENTITY_VALUE: nAcos_!9#_admIn + DB_POOL_CONFIG_DRIVERCLASSNAME: org.postgresql.Driver + NACOS_AUTH_TOKEN: TmFjb3NfUmFuZG9tX1N0cmluZ18zMl9DaGFyc19Pcl9Mb25nZXI= volumes: - - ./kafka_data:/bitnami/kafka - # 灏嗗涓绘満鐨凞ocker濂楁帴瀛楁枃浠舵寕杞藉埌瀹瑰櫒鍐呴儴 - - /var/run/docker.sock:/var/run/docker.sock - networks: - - kafka_net - # kafka-ui - kafka-ui: - image: provectuslabs/kafka-ui - depends_on: - - kafka + - ./nacos/logs/:/home/nacos/logs + - ./nacos/plugins:/home/nacos/plugins + #- ./nacos/conf/application.properties:/home/nacos/conf/application.properties ports: - - 8081:8080 - environment: - DYNAMIC_CONFIG_ENABLED: true - #KAFKA_CLUSTERS_0_NAME: local - #KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka:9092 + - 8080:8080 + - 8848:8848 + - 9848:9848 + depends_on: + postgis: + condition: service_healthy + privileged: true networks: - - kafka_net + - network-jhs + restart: always + # redis + redis: + image: redis:7 + ports: + - 6379:6379 + volumes: + - ./redis/redis.conf:/data/redis.conf + - ./redis/data:/data + #command: redis-server --requirepass Redis_s!E_6.2.6 + command: redis-server /data/redis.conf + networks: + - network-jhs + # gateway + gateway: + image: openjdk:8-jre + volumes: + - ./gateway/logs:/logs + - ./gateway:/app + environment: + TZ: Asia/Shanghai + entrypoint: /bin/sh -c "sleep 30 && java -jar /app/se-gateway.jar --spring.config.location=file:/app/" + depends_on: + - redis + - nacos + networks: + - network-se + restart: always + # system + system: + image: openjdk8-422-gdal:3.5.2 + volumes: + - ./system/logs:/logs + - ./system:/app + environment: + TZ: Asia/Shanghai + entrypoint: /bin/sh -c "sleep 30 && java -jar /app/se-system.jar --spring.config.location=file:/app/" + depends_on: + - postgis + - nacos + - redis + # nginx + nginx: + image: nginx:1.29 + ports: + - 8081:80 + environment: + TZ: Asia/Shanghai + volumes: + - ./nginx/logs:/var/log/nginx + #- ./nginx/conf.d:/etc/nginx/conf.d + - ./nginx/html:/usr/share/nginx/html + - ./nginx/conf/nginx.conf:/etc/nginx/nginx.conf + depends_on: + - gateway + networks: + - network-jhs networks: - kafka_net: + network-jhs: driver: bridge diff --git a/docker/gateway/bootstrap.yml b/docker/gateway/bootstrap.yml new file mode 100644 index 0000000..cbe2e58 --- /dev/null +++ b/docker/gateway/bootstrap.yml @@ -0,0 +1,48 @@ +# Tomcat +server: + port: 8001 + +# Spring +spring: + application: + # 搴旂敤鍚嶇О + name: se-gateway + main: + web-application-type: reactive + profiles: + # 鐜閰嶇疆 + active: dev + cloud: + nacos: + username: nacos + password: nAcos_!9#_admIn + discovery: + # 鏈嶅姟娉ㄥ唽鍦板潃 + server-addr: nacos:8848 + config: + group: JHS_GROUP + # 閰嶇疆涓績鍦板潃 + server-addr: nacos:8848 + # 閰嶇疆鏂囦欢鏍煎紡 + file-extension: yml + # 鍏变韩閰嶇疆 + shared-configs: + - data-id: application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} + group: JHS_GROUP + # 鍏佽鍒锋柊 + refresh-enabled: true + sentinel: + # 鍙栨秷鎺у埗鍙版噿鍔犺浇 + eager: true + transport: + # 鎺у埗鍙板湴鍧� + dashboard: 127.0.0.1:8718 + # nacos閰嶇疆鎸佷箙鍖� + datasource: + ds1: + nacos: + server-addr: 127.0.0.1:8848 + dataId: sentinel-se-gateway + groupId: DEFAULT_GROUP + data-type: json + rule-type: gw-flow diff --git a/docker/kafka.yml b/docker/kafka.yml new file mode 100644 index 0000000..460c660 --- /dev/null +++ b/docker/kafka.yml @@ -0,0 +1,59 @@ +version: "3.8" +services: + # zookeeper + zookeeper: + image: zookeeper:3.4 + ports: + - 2181:2181 + - 2888:2888 + - 3888:3888 + volumes: + - ./zookeeper_data:/data + environment: + ZOO_MY_ID: 1 + ZOO_SERVERS: server.1=0.0.0.0:2888:3888 + # ZOO_ENABLE_AUTH: yes + # ZOO_SERVER_USERS: admin + # ZOO_SERVER_PASSWORDS: kaFka_12#$56 + healthcheck: + test: ["CMD-SHELL", "zkServer.sh status"] + interval: 5s + timeout: 2s + retries: 3 + networks: + - network-jhs + # kafka + kafka: + image: bitnami/kafka:3.4 + environment: + KAFKA_BROKER_ID: 1 + # ALLOW_PLAINTEXT_LISTENER: yes + # KAFKA_CFG_LISTENERS: PLAINTEXT://:9092 + # KAFKA_CFG_ZOOKEEPER_CONNECT: zookeeper:2181 + # KAFKA_CFG_ADVERTISED_LISTENERS: PLAINTEXT://192.168.11.203:9092 + KAFKA_CFG_ZOOKEEPER_CONNECT: zookeeper:2181 + KAFKA_CFG_LISTENERS: SASL_PLAINTEXT://:9092 + KAFKA_CFG_ADVERTISED_LISTENERS: SASL_PLAINTEXT://192.168.11.203:9092 + KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL + KAFKA_CFG_INTER_BROKER_LISTENER_NAME: SASL_PLAINTEXT + KAFKA_CFG_SASL_ENABLED_MECHANISMS: PLAIN + KAFKA_CFG_SASL_MECHANISM_INTER_BROKER_PROTOCOL: PLAIN + KAFKA_CLIENT_USERS: admin + KAFKA_CLIENT_PASSWORDS: kaFka_12#$56 + # KAFKA_ZOOKEEPER_USER: admin + # KAFKA_ZOOKEEPER_PASSWORD: kaFka_12#$56 + volumes: + # chmod -R 777 kafka_data/ + - ./kafka_data:/bitnami/kafka + - /var/run/docker.sock:/var/run/docker.sock + ports: + - 9092:9092 + depends_on: + zookeeper: + condition: service_healthy + privileged: true + networks: + - network-jhs +networks: + network-jhs: + driver: bridge diff --git a/docker/nacos.yml b/docker/nacos.yml new file mode 100644 index 0000000..c264ac8 --- /dev/null +++ b/docker/nacos.yml @@ -0,0 +1,57 @@ +version: "3.8" +services: + # postgis + postgis: + image: postgis/postgis:17.5 + ports: + - 5432:5432 + volumes: + - ./postgis/pgdata:/var/lib/postgresql/data + - ./postgis/init:/docker-entrypoint-initdb.d + environment: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: Postgres!_17_jHs + ALLOW_IP_RANGE: 0.0.0.0/0 + TZ: Asia/Shanghai + POSTGRES_DB: jhs + healthcheck: + test: ["CMD-SHELL", "pg_isready -U postgres"] + interval: 5s + timeout: 2s + retries: 3 + privileged: true + networks: + - network-jhs + # nacos + nacos: + image: nacos/nacos-server:v3.0.2 + environment: + TZ: Asia/Shanghai + MODE: standalone + SPRING_DATASOURCE_PLATFORM: postgresql + DB_URL: jdbc:postgresql://postgis:5432/jhs?tcpKeepAlive=true&reWriteBatchedInserts=true&ApplicationName=nacos_java + DB_USER: postgres + DB_PASSWORD: Postgres!_17_jHs + NACOS_AUTH_ENABLE: true + NACOS_AUTH_IDENTITY_KEY: nacos + NACOS_AUTH_IDENTITY_VALUE: nAcos_!9#_admIn + DB_POOL_CONFIG_DRIVERCLASSNAME: org.postgresql.Driver + NACOS_AUTH_TOKEN: TmFjb3NfUmFuZG9tX1N0cmluZ18zMl9DaGFyc19Pcl9Mb25nZXI= + volumes: + - ./nacos/logs/:/home/nacos/logs + - ./nacos/plugins:/home/nacos/plugins + #- ./nacos/conf/application.properties:/home/nacos/conf/application.properties + ports: + - 8080:8080 + - 8848:8848 + - 9848:9848 + depends_on: + postgis: + condition: service_healthy + privileged: true + networks: + - network-jhs + restart: always +networks: + network-jhs: + driver: bridge diff --git a/docker/nacos/conf/application.properties b/docker/nacos/conf/application.properties new file mode 100644 index 0000000..1e08de1 --- /dev/null +++ b/docker/nacos/conf/application.properties @@ -0,0 +1,306 @@ +# +# Copyright 1999-2021 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. +# + +#*************** Spring Boot Related Configurations ***************# +### Default web context path: +server.servlet.contextPath=/nacos +### Include message field +server.error.include-message=ALWAYS +### Default web server port: +server.port=8848 + +#*************** Network Related Configurations ***************# +### If prefer hostname over ip for Nacos server addresses in cluster.conf: +# nacos.inetutils.prefer-hostname-over-ip=false + +### Specify local server's IP: +# nacos.inetutils.ip-address= + + +#*************** Config Module Related Configurations ***************# +### If use MySQL as datasource: +### Deprecated configuration property, it is recommended to use `spring.sql.init.platform` replaced. +# spring.datasource.platform=mysql +# spring.sql.init.platform=mysql + +### Count of DB: +# db.num=1 + +### Connect URL of DB: +# db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC +# db.user.0=nacos +# db.password.0=nacos + +spring.datasource.platform=postgresql +db.num=1 +#db.url.0=jdbc:mysql://se-mysql:3306/se-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true +db.url.0=jdbc:postgresql://postgis:5432/jhs?tcpKeepAlive=true&reWriteBatchedInserts=true&ApplicationName=nacos_java +db.user=postgres +db.password=Postgres!_17_jHs +db.pool.config.driverClassName=org.postgresql.Driver +#db.pool.config.connectionTestQuery=SELECT 1 + +### Connection pool configuration: hikariCP +db.pool.config.connectionTimeout=30000 +db.pool.config.validationTimeout=10000 +db.pool.config.maximumPoolSize=20 +db.pool.config.minimumIdle=2 + +### the maximum retry times for push +nacos.config.push.maxRetryTime=50 + +#*************** Naming Module Related Configurations ***************# + +### If enable data warmup. If set to false, the server would accept request without local data preparation: +# nacos.naming.data.warmup=true + +### If enable the instance auto expiration, kind like of health check of instance: +# nacos.naming.expireInstance=true + +### Add in 2.0.0 +### The interval to clean empty service, unit: milliseconds. +# nacos.naming.clean.empty-service.interval=60000 + +### The expired time to clean empty service, unit: milliseconds. +# nacos.naming.clean.empty-service.expired-time=60000 + +### The interval to clean expired metadata, unit: milliseconds. +# nacos.naming.clean.expired-metadata.interval=5000 + +### The expired time to clean metadata, unit: milliseconds. +# nacos.naming.clean.expired-metadata.expired-time=60000 + +### The delay time before push task to execute from service changed, unit: milliseconds. +# nacos.naming.push.pushTaskDelay=500 + +### The timeout for push task execute, unit: milliseconds. +# nacos.naming.push.pushTaskTimeout=5000 + +### The delay time for retrying failed push task, unit: milliseconds. +# nacos.naming.push.pushTaskRetryDelay=1000 + +### Since 2.0.3 +### The expired time for inactive client, unit: milliseconds. +# nacos.naming.client.expired.time=180000 + +#*************** CMDB Module Related Configurations ***************# +### The interval to dump external CMDB in seconds: +# nacos.cmdb.dumpTaskInterval=3600 + +### The interval of polling data change event in seconds: +# nacos.cmdb.eventTaskInterval=10 + +### The interval of loading labels in seconds: +# nacos.cmdb.labelTaskInterval=300 + +### If turn on data loading task: +# nacos.cmdb.loadDataAtStart=false + +#***********Metrics for tomcat **************************# +server.tomcat.mbeanregistry.enabled=true + +#***********Expose prometheus and health **************************# +#management.endpoints.web.exposure.include=prometheus,health + +### Metrics for elastic search +management.metrics.export.elastic.enabled=false +#management.metrics.export.elastic.host=http://localhost:9200 + +### Metrics for influx +management.metrics.export.influx.enabled=false +#management.metrics.export.influx.db=springboot +#management.metrics.export.influx.uri=http://localhost:8086 +#management.metrics.export.influx.auto-create-db=true +#management.metrics.export.influx.consistency=one +#management.metrics.export.influx.compressed=true + +#*************** Access Log Related Configurations ***************# +### If turn on the access log: +server.tomcat.accesslog.enabled=true + +### file name pattern, one file per hour +server.tomcat.accesslog.rotate=true +server.tomcat.accesslog.file-date-format=.yyyy-MM-dd-HH +### The access log pattern: +server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i + +### The directory of access log: +server.tomcat.basedir=file:. + +#*************** Access Control Related Configurations ***************# +### If enable spring security, this option is deprecated in 1.2.0: +#spring.security.enabled=false + +### The ignore urls of auth +nacos.security.ignore.urls=/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-ui/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/** + +### The auth system to use, currently only 'nacos' and 'ldap' is supported: +nacos.core.auth.system.type=nacos + +### If turn on auth system: +nacos.core.auth.enabled=true + +### Turn on/off caching of auth information. By turning on this switch, the update of auth information would have a 15 seconds delay. +nacos.core.auth.caching.enabled=true + +### Since 1.4.1, Turn on/off white auth for user-agent: nacos-server, only for upgrade from old version. +nacos.core.auth.enable.userAgentAuthWhite=false + +### Since 1.4.1, worked when nacos.core.auth.enabled=true and nacos.core.auth.enable.userAgentAuthWhite=false. +### The two properties is the white list for auth and used by identity the request from other server. +nacos.core.auth.server.identity.key=admin +nacos.core.auth.server.identity.value=nAcos_!9#_admIn + +### worked when nacos.core.auth.system.type=nacos +### The token expiration in seconds: +nacos.core.auth.plugin.nacos.token.cache.enable=false +nacos.core.auth.plugin.nacos.token.expire.seconds=18000 +### The default token (Base64 String): https://base64.us/ +nacos.core.auth.plugin.nacos.token.secret.key=TmFjb3NfUmFuZG9tX1N0cmluZ18zMl9DaGFyc19Pcl9Mb25nZXI= + +### worked when nacos.core.auth.system.type=ldap锛寋0} is Placeholder,replace login username +#nacos.core.auth.ldap.url=ldap://localhost:389 +#nacos.core.auth.ldap.basedc=dc=example,dc=org +#nacos.core.auth.ldap.userDn=cn=admin,${nacos.core.auth.ldap.basedc} +#nacos.core.auth.ldap.password=admin +#nacos.core.auth.ldap.userdn=cn={0},dc=example,dc=org +#nacos.core.auth.ldap.filter.prefix=uid +#nacos.core.auth.ldap.case.sensitive=true +#nacos.core.auth.ldap.ignore.partial.result.exception=false + +#*************** Control Plugin Related Configurations ***************# +# plugin type +#nacos.plugin.control.manager.type=nacos + +# local control rule storage dir, default ${nacos.home}/data/connection and ${nacos.home}/data/tps +#nacos.plugin.control.rule.local.basedir=${nacos.home} + +# external control rule storage type, if exist +#nacos.plugin.control.rule.external.storage= + +#*************** Config Change Plugin Related Configurations ***************# +# webhook +#nacos.core.config.plugin.webhook.enabled=false +# It is recommended to use EB https://help.aliyun.com/document_detail/413974.html +#nacos.core.config.plugin.webhook.url=http://localhost:8080/webhook/send?token=*** +# The content push max capacity ,byte +#nacos.core.config.plugin.webhook.contentMaxCapacity=102400 + +# whitelist +#nacos.core.config.plugin.whitelist.enabled=false +# The import file suffixs +#nacos.core.config.plugin.whitelist.suffixs=xml,text,properties,yaml,html +# fileformatcheck,which validate the import file of type and content +#nacos.core.config.plugin.fileformatcheck.enabled=false + +#*************** Istio Related Configurations ***************# +### If turn on the MCP server: +nacos.istio.mcp.server.enabled=false + +#*************** Core Related Configurations ***************# + +### set the WorkerID manually +# nacos.core.snowflake.worker-id= + +### Member-MetaData +# nacos.core.member.meta.site= +# nacos.core.member.meta.adweight= +# nacos.core.member.meta.weight= + +### MemberLookup +### Addressing pattern category, If set, the priority is highest +# nacos.core.member.lookup.type=[file,address-server] +## Set the cluster list with a configuration file or command-line argument +# nacos.member.list=192.168.16.101:8847?raft_port=8807,192.168.16.101?raft_port=8808,192.168.16.101:8849?raft_port=8809 +## for AddressServerMemberLookup +# Maximum number of retries to query the address server upon initialization +# nacos.core.address-server.retry=5 +## Server domain name address of [address-server] mode +# address.server.domain=jmenv.tbsite.net +## Server port of [address-server] mode +# address.server.port=8080 +## Request address of [address-server] mode +# address.server.url=/nacos/serverlist + +#*************** JRaft Related Configurations ***************# + +### Sets the Raft cluster election timeout, default value is 5 second +# nacos.core.protocol.raft.data.election_timeout_ms=5000 +### Sets the amount of time the Raft snapshot will execute periodically, default is 30 minute +# nacos.core.protocol.raft.data.snapshot_interval_secs=30 +### raft internal worker threads +# nacos.core.protocol.raft.data.core_thread_num=8 +### Number of threads required for raft business request processing +# nacos.core.protocol.raft.data.cli_service_thread_num=4 +### raft linear read strategy. Safe linear reads are used by default, that is, the Leader tenure is confirmed by heartbeat +# nacos.core.protocol.raft.data.read_index_type=ReadOnlySafe +### rpc request timeout, default 5 seconds +# nacos.core.protocol.raft.data.rpc_request_timeout_ms=5000 + +#*************** Distro Related Configurations ***************# + +### Distro data sync delay time, when sync task delayed, task will be merged for same data key. Default 1 second. +# nacos.core.protocol.distro.data.sync.delayMs=1000 + +### Distro data sync timeout for one sync data, default 3 seconds. +# nacos.core.protocol.distro.data.sync.timeoutMs=3000 + +### Distro data sync retry delay time when sync data failed or timeout, same behavior with delayMs, default 3 seconds. +# nacos.core.protocol.distro.data.sync.retryDelayMs=3000 + +### Distro data verify interval time, verify synced data whether expired for a interval. Default 5 seconds. +# nacos.core.protocol.distro.data.verify.intervalMs=5000 + +### Distro data verify timeout for one verify, default 3 seconds. +# nacos.core.protocol.distro.data.verify.timeoutMs=3000 + +### Distro data load retry delay when load snapshot data failed, default 30 seconds. +# nacos.core.protocol.distro.data.load.retryDelayMs=30000 + +### enable to support prometheus service discovery +#nacos.prometheus.metrics.enabled=true + +### Since 2.3 +#*************** Grpc Configurations ***************# + +## sdk grpc(between nacos server and client) configuration +## Sets the maximum message size allowed to be received on the server. +#nacos.remote.server.grpc.sdk.max-inbound-message-size=10485760 + +## Sets the time(milliseconds) without read activity before sending a keepalive ping. The typical default is two hours. +#nacos.remote.server.grpc.sdk.keep-alive-time=7200000 + +## Sets a time(milliseconds) waiting for read activity after sending a keepalive ping. Defaults to 20 seconds. +#nacos.remote.server.grpc.sdk.keep-alive-timeout=20000 + + +## Sets a time(milliseconds) that specify the most aggressive keep-alive time clients are permitted to configure. The typical default is 5 minutes +#nacos.remote.server.grpc.sdk.permit-keep-alive-time=300000 + +## cluster grpc(inside the nacos server) configuration +#nacos.remote.server.grpc.cluster.max-inbound-message-size=10485760 + +## Sets the time(milliseconds) without read activity before sending a keepalive ping. The typical default is two hours. +#nacos.remote.server.grpc.cluster.keep-alive-time=7200000 + +## Sets a time(milliseconds) waiting for read activity after sending a keepalive ping. Defaults to 20 seconds. +#nacos.remote.server.grpc.cluster.keep-alive-timeout=20000 + +## Sets a time(milliseconds) that specify the most aggressive keep-alive time clients are permitted to configure. The typical default is 5 minutes +#nacos.remote.server.grpc.cluster.permit-keep-alive-time=300000 + +## open nacos default console ui +#nacos.console.ui.enabled=true \ No newline at end of file diff --git a/docker/nacos/plugins/nacos-postgresql-datasource-plugin-ext-3.0.2.jar b/docker/nacos/plugins/nacos-postgresql-datasource-plugin-ext-3.0.2.jar new file mode 100644 index 0000000..9006ea0 --- /dev/null +++ b/docker/nacos/plugins/nacos-postgresql-datasource-plugin-ext-3.0.2.jar Binary files differ diff --git a/docker/nginx/conf/nginx.conf b/docker/nginx/conf/nginx.conf new file mode 100644 index 0000000..883ed22 --- /dev/null +++ b/docker/nginx/conf/nginx.conf @@ -0,0 +1,73 @@ +worker_processes 1; + +events { + worker_connections 1024; +} + +http { + include mime.types; + default_type application/octet-stream; + sendfile on; + keepalive_timeout 65; + + server { + listen 80; + server_name localhost; + + location / { + root /usr/share/nginx/html; + try_files $uri $uri/ /index.html; + index index.html index.htm; + } + + location /sso { + alias /usr/share/nginx/html/sso; + try_files $uri $uri/ /sso/; + #index index.html index.htm; + } + + location /sys { + alias /usr/share/nginx/html/sys; + try_files $uri $uri/ /sys/; + #index index.html index.htm; + } + + location /se-file/ { + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + + #proxy_pass http://se-file:9300/; + proxy_pass http://se-system:9201/; + } + + location /prod-api/ { + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + + proxy_pass http://se-gateway:8080/; + } + + location /wgcloud { + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + + proxy_pass http://se-wgcloud:9999/wgcloud; + } + + # actuator + if ($request_uri ~ "/actuator") { + return 403; + } + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root html; + } + } +} \ No newline at end of file diff --git a/docker/postgis/init/init.sql b/docker/postgis/init/init.sql new file mode 100644 index 0000000..26be114 --- /dev/null +++ b/docker/postgis/init/init.sql @@ -0,0 +1,551 @@ +/* + * 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. + */ + +-- ---------------------------- +-- create extension +-- ---------------------------- +create extension if not exists postgis cascade; + +create extension if not exists "uuid-ossp"; + + +-- ---------------------------- +-- Table structure for config_info_gray +-- ---------------------------- +DROP TABLE IF EXISTS "config_info_gray"; +CREATE TABLE "config_info_gray" ( + "id" bigserial NOT NULL, + "data_id" varchar(255) NOT NULL, + "group_id" varchar(128) NOT NULL, + "content" text NOT NULL, + "md5" varchar(32), + "src_user" text, + "src_ip" varchar(100) NOT NULL, + "gmt_create" timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "gmt_modified" timestamp(6) NOT NULL, + "app_name" varchar(128) DEFAULT NULL::character varying, + "tenant_id" varchar(128) DEFAULT ''::character varying, + "gray_name" varchar(128) NOT NULL, + "gray_rule" text NOT NULL, + "encrypted_data_key" varchar(256) NOT NULL +); +COMMENT ON COLUMN "config_info_gray"."id" IS '鑷ID'; +COMMENT ON COLUMN "config_info_gray"."data_id" IS 'data_id'; +COMMENT ON COLUMN "config_info_gray"."group_id" IS 'group_id'; +COMMENT ON COLUMN "config_info_gray"."content" IS 'content'; +COMMENT ON COLUMN "config_info_gray"."md5" IS 'md5'; +COMMENT ON COLUMN "config_info_gray"."src_user" IS 'src_user'; +COMMENT ON COLUMN "config_info_gray"."src_ip" IS 'src_ip'; +COMMENT ON COLUMN "config_info_gray"."gmt_create" IS 'gmt_create'; +COMMENT ON COLUMN "config_info_gray"."gmt_modified" IS 'gmt_modified'; +COMMENT ON COLUMN "config_info_gray"."app_name" IS 'app_name'; +COMMENT ON COLUMN "config_info_gray"."tenant_id" IS 'tenant_id'; +COMMENT ON COLUMN "config_info_gray"."gray_name" IS 'gray_name'; +COMMENT ON COLUMN "config_info_gray"."gray_rule" IS 'gray_rule'; +COMMENT ON COLUMN "config_info_gray"."encrypted_data_key" IS 'encrypted_data_key'; + +-- ---------------------------- +-- Primary Key structure for table config_info_gray +-- ---------------------------- +ALTER TABLE "config_info_gray" ADD CONSTRAINT "config_info_gray_pkey" PRIMARY KEY ("id"); + + +-- ---------------------------- +-- Table structure for config_info +-- ---------------------------- +DROP TABLE IF EXISTS "config_info"; +CREATE TABLE "config_info" ( + "id" bigserial NOT NULL, + "data_id" varchar(255) NOT NULL, + "group_id" varchar(255) , + "content" text NOT NULL, + "md5" varchar(32) , + "gmt_create" timestamp(6) NOT NULL, + "gmt_modified" timestamp(6) NOT NULL, + "src_user" text , + "src_ip" varchar(20) , + "app_name" varchar(128) , + "tenant_id" varchar(128) , + "c_desc" varchar(256) , + "c_use" varchar(64) , + "effect" varchar(64) , + "type" varchar(64) , + "c_schema" text , + "encrypted_data_key" text NOT NULL +) +; + +COMMENT ON COLUMN "config_info"."id" IS 'id'; +COMMENT ON COLUMN "config_info"."data_id" IS 'data_id'; +COMMENT ON COLUMN "config_info"."content" IS 'content'; +COMMENT ON COLUMN "config_info"."md5" IS 'md5'; +COMMENT ON COLUMN "config_info"."gmt_create" IS '鍒涘缓鏃堕棿'; +COMMENT ON COLUMN "config_info"."gmt_modified" IS '淇敼鏃堕棿'; +COMMENT ON COLUMN "config_info"."src_user" IS 'source user'; +COMMENT ON COLUMN "config_info"."src_ip" IS 'source ip'; +COMMENT ON COLUMN "config_info"."tenant_id" IS '绉熸埛瀛楁'; +COMMENT ON COLUMN "config_info"."encrypted_data_key" IS '绉橀挜'; +COMMENT ON TABLE "config_info" IS 'config_info'; + + +-- ---------------------------- +-- Table structure for config_info_aggr +-- ---------------------------- +DROP TABLE IF EXISTS "config_info_aggr"; +CREATE TABLE "config_info_aggr" ( + "id" bigserial NOT NULL, + "data_id" varchar(255) NOT NULL, + "group_id" varchar(255) NOT NULL, + "datum_id" varchar(255) NOT NULL, + "content" text NOT NULL, + "gmt_modified" timestamp(6) NOT NULL, + "app_name" varchar(128) , + "tenant_id" varchar(128) +) +; +COMMENT ON COLUMN "config_info_aggr"."id" IS 'id'; +COMMENT ON COLUMN "config_info_aggr"."data_id" IS 'data_id'; +COMMENT ON COLUMN "config_info_aggr"."group_id" IS 'group_id'; +COMMENT ON COLUMN "config_info_aggr"."datum_id" IS 'datum_id'; +COMMENT ON COLUMN "config_info_aggr"."content" IS '鍐呭'; +COMMENT ON COLUMN "config_info_aggr"."gmt_modified" IS '淇敼鏃堕棿'; +COMMENT ON COLUMN "config_info_aggr"."tenant_id" IS '绉熸埛瀛楁'; +COMMENT ON TABLE "config_info_aggr" IS '澧炲姞绉熸埛瀛楁'; + +-- ---------------------------- +-- Records of config_info_aggr +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for config_info_beta +-- ---------------------------- +DROP TABLE IF EXISTS "config_info_beta"; +CREATE TABLE "config_info_beta" ( + "id" bigserial NOT NULL, + "data_id" varchar(255) NOT NULL, + "group_id" varchar(128) NOT NULL, + "app_name" varchar(128) , + "content" text NOT NULL, + "beta_ips" varchar(1024) , + "md5" varchar(32) , + "gmt_create" timestamp(6) NOT NULL, + "gmt_modified" timestamp(6) NOT NULL, + "src_user" text , + "src_ip" varchar(20) , + "tenant_id" varchar(128) , + "encrypted_data_key" text NOT NULL +) +; +COMMENT ON COLUMN "config_info_beta"."id" IS 'id'; +COMMENT ON COLUMN "config_info_beta"."data_id" IS 'data_id'; +COMMENT ON COLUMN "config_info_beta"."group_id" IS 'group_id'; +COMMENT ON COLUMN "config_info_beta"."app_name" IS 'app_name'; +COMMENT ON COLUMN "config_info_beta"."content" IS 'content'; +COMMENT ON COLUMN "config_info_beta"."beta_ips" IS 'betaIps'; +COMMENT ON COLUMN "config_info_beta"."md5" IS 'md5'; +COMMENT ON COLUMN "config_info_beta"."gmt_create" IS '鍒涘缓鏃堕棿'; +COMMENT ON COLUMN "config_info_beta"."gmt_modified" IS '淇敼鏃堕棿'; +COMMENT ON COLUMN "config_info_beta"."src_user" IS 'source user'; +COMMENT ON COLUMN "config_info_beta"."src_ip" IS 'source ip'; +COMMENT ON COLUMN "config_info_beta"."tenant_id" IS '绉熸埛瀛楁'; +COMMENT ON COLUMN "config_info_beta"."encrypted_data_key" IS '绉橀挜'; +COMMENT ON TABLE "config_info_beta" IS 'config_info_beta'; + +-- ---------------------------- +-- Records of config_info_beta +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for config_info_tag +-- ---------------------------- +DROP TABLE IF EXISTS "config_info_tag"; +CREATE TABLE "config_info_tag" ( + "id" bigserial NOT NULL, + "data_id" varchar(255) NOT NULL, + "group_id" varchar(128) NOT NULL, + "tenant_id" varchar(128) , + "tag_id" varchar(128) NOT NULL, + "app_name" varchar(128) , + "content" text NOT NULL, + "md5" varchar(32) , + "gmt_create" timestamp(6) NOT NULL, + "gmt_modified" timestamp(6) NOT NULL, + "src_user" text , + "src_ip" varchar(20) +) +; +COMMENT ON COLUMN "config_info_tag"."id" IS 'id'; +COMMENT ON COLUMN "config_info_tag"."data_id" IS 'data_id'; +COMMENT ON COLUMN "config_info_tag"."group_id" IS 'group_id'; +COMMENT ON COLUMN "config_info_tag"."tenant_id" IS 'tenant_id'; +COMMENT ON COLUMN "config_info_tag"."tag_id" IS 'tag_id'; +COMMENT ON COLUMN "config_info_tag"."app_name" IS 'app_name'; +COMMENT ON COLUMN "config_info_tag"."content" IS 'content'; +COMMENT ON COLUMN "config_info_tag"."md5" IS 'md5'; +COMMENT ON COLUMN "config_info_tag"."gmt_create" IS '鍒涘缓鏃堕棿'; +COMMENT ON COLUMN "config_info_tag"."gmt_modified" IS '淇敼鏃堕棿'; +COMMENT ON COLUMN "config_info_tag"."src_user" IS 'source user'; +COMMENT ON COLUMN "config_info_tag"."src_ip" IS 'source ip'; +COMMENT ON TABLE "config_info_tag" IS 'config_info_tag'; + +-- ---------------------------- +-- Records of config_info_tag +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for config_tags_relation +-- ---------------------------- +DROP TABLE IF EXISTS "config_tags_relation"; +CREATE TABLE "config_tags_relation" ( + "id" bigserial NOT NULL, + "tag_name" varchar(128) NOT NULL, + "tag_type" varchar(64) , + "data_id" varchar(255) NOT NULL, + "group_id" varchar(128) NOT NULL, + "tenant_id" varchar(128) , + "nid" bigserial NOT NULL +) +; +COMMENT ON COLUMN "config_tags_relation"."id" IS 'id'; +COMMENT ON COLUMN "config_tags_relation"."tag_name" IS 'tag_name'; +COMMENT ON COLUMN "config_tags_relation"."tag_type" IS 'tag_type'; +COMMENT ON COLUMN "config_tags_relation"."data_id" IS 'data_id'; +COMMENT ON COLUMN "config_tags_relation"."group_id" IS 'group_id'; +COMMENT ON COLUMN "config_tags_relation"."tenant_id" IS 'tenant_id'; +COMMENT ON TABLE "config_tags_relation" IS 'config_tag_relation'; + +-- ---------------------------- +-- Records of config_tags_relation +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for group_capacity +-- ---------------------------- +DROP TABLE IF EXISTS "group_capacity"; +CREATE TABLE "group_capacity" ( + "id" bigserial NOT NULL, + "group_id" varchar(128) NOT NULL, + "quota" int4 NOT NULL, + "usage" int4 NOT NULL, + "max_size" int4 NOT NULL, + "max_aggr_count" int4 NOT NULL, + "max_aggr_size" int4 NOT NULL, + "max_history_count" int4 NOT NULL, + "gmt_create" timestamp(6) NOT NULL, + "gmt_modified" timestamp(6) NOT NULL +) +; +COMMENT ON COLUMN "group_capacity"."id" IS '涓婚敭ID'; +COMMENT ON COLUMN "group_capacity"."group_id" IS 'Group ID锛岀┖瀛楃琛ㄧず鏁翠釜闆嗙兢'; +COMMENT ON COLUMN "group_capacity"."quota" IS '閰嶉锛�0琛ㄧず浣跨敤榛樿鍊�'; +COMMENT ON COLUMN "group_capacity"."usage" IS '浣跨敤閲�'; +COMMENT ON COLUMN "group_capacity"."max_size" IS '鍗曚釜閰嶇疆澶у皬涓婇檺锛屽崟浣嶄负瀛楄妭锛�0琛ㄧず浣跨敤榛樿鍊�'; +COMMENT ON COLUMN "group_capacity"."max_aggr_count" IS '鑱氬悎瀛愰厤缃渶澶т釜鏁帮紝锛�0琛ㄧず浣跨敤榛樿鍊�'; +COMMENT ON COLUMN "group_capacity"."max_aggr_size" IS '鍗曚釜鑱氬悎鏁版嵁鐨勫瓙閰嶇疆澶у皬涓婇檺锛屽崟浣嶄负瀛楄妭锛�0琛ㄧず浣跨敤榛樿鍊�'; +COMMENT ON COLUMN "group_capacity"."max_history_count" IS '鏈�澶у彉鏇村巻鍙叉暟閲�'; +COMMENT ON COLUMN "group_capacity"."gmt_create" IS '鍒涘缓鏃堕棿'; +COMMENT ON COLUMN "group_capacity"."gmt_modified" IS '淇敼鏃堕棿'; +COMMENT ON TABLE "group_capacity" IS '闆嗙兢銆佸悇Group瀹归噺淇℃伅琛�'; + +-- ---------------------------- +-- Records of group_capacity +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for his_config_info +-- ---------------------------- +DROP TABLE IF EXISTS "his_config_info"; +CREATE TABLE "his_config_info" ( + "id" int8 NOT NULL, + "nid" bigserial NOT NULL, + "data_id" varchar(255) NOT NULL, + "group_id" varchar(128) NOT NULL, + "app_name" varchar(128) , + "content" text NOT NULL, + "md5" varchar(32) , + "gmt_create" timestamp(6) NOT NULL DEFAULT '2010-05-05 00:00:00', + "gmt_modified" timestamp(6) NOT NULL, + "src_user" text , + "src_ip" varchar(20) , + "op_type" char(10) , + "tenant_id" varchar(128) , + "encrypted_data_key" text NOT NULL, + "publish_type" varchar(50) DEFAULT 'formal', + "gray_name" varchar(50), + "ext_info" text +) +; +COMMENT ON COLUMN "his_config_info"."app_name" IS 'app_name'; +COMMENT ON COLUMN "his_config_info"."tenant_id" IS '绉熸埛瀛楁'; +COMMENT ON COLUMN "his_config_info"."encrypted_data_key" IS '绉橀挜'; +COMMENT ON TABLE "his_config_info" IS '澶氱鎴锋敼閫�'; +COMMENT ON COLUMN "his_config_info"."publish_type" IS 'publish type gray or formal'; +COMMENT ON COLUMN "his_config_info"."gray_name" IS 'gray name'; +COMMENT ON COLUMN "his_config_info"."ext_info" IS 'ext_info'; + + +-- ---------------------------- +-- Table structure for permissions +-- ---------------------------- +DROP TABLE IF EXISTS "permissions"; +CREATE TABLE "permissions" ( + "role" varchar(50) NOT NULL, + "resource" varchar(512) NOT NULL, + "action" varchar(8) NOT NULL +) +; + +-- ---------------------------- +-- Records of permissions +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for roles +-- ---------------------------- +DROP TABLE IF EXISTS "roles"; +CREATE TABLE "roles" ( + "username" varchar(50) NOT NULL, + "role" varchar(50) NOT NULL +) +; + +-- ---------------------------- +-- Records of roles +-- ---------------------------- +BEGIN; +INSERT INTO "roles" VALUES ('nacos', 'ROLE_ADMIN'); +COMMIT; + +-- ---------------------------- +-- Table structure for tenant_capacity +-- ---------------------------- +DROP TABLE IF EXISTS "tenant_capacity"; +CREATE TABLE "tenant_capacity" ( + "id" bigserial NOT NULL, + "tenant_id" varchar(128) NOT NULL, + "quota" int4 NOT NULL, + "usage" int4 NOT NULL, + "max_size" int4 NOT NULL, + "max_aggr_count" int4 NOT NULL, + "max_aggr_size" int4 NOT NULL, + "max_history_count" int4 NOT NULL, + "gmt_create" timestamp(6) NOT NULL, + "gmt_modified" timestamp(6) NOT NULL +) +; +COMMENT ON COLUMN "tenant_capacity"."id" IS '涓婚敭ID'; +COMMENT ON COLUMN "tenant_capacity"."tenant_id" IS 'Tenant ID'; +COMMENT ON COLUMN "tenant_capacity"."quota" IS '閰嶉锛�0琛ㄧず浣跨敤榛樿鍊�'; +COMMENT ON COLUMN "tenant_capacity"."usage" IS '浣跨敤閲�'; +COMMENT ON COLUMN "tenant_capacity"."max_size" IS '鍗曚釜閰嶇疆澶у皬涓婇檺锛屽崟浣嶄负瀛楄妭锛�0琛ㄧず浣跨敤榛樿鍊�'; +COMMENT ON COLUMN "tenant_capacity"."max_aggr_count" IS '鑱氬悎瀛愰厤缃渶澶т釜鏁�'; +COMMENT ON COLUMN "tenant_capacity"."max_aggr_size" IS '鍗曚釜鑱氬悎鏁版嵁鐨勫瓙閰嶇疆澶у皬涓婇檺锛屽崟浣嶄负瀛楄妭锛�0琛ㄧず浣跨敤榛樿鍊�'; +COMMENT ON COLUMN "tenant_capacity"."max_history_count" IS '鏈�澶у彉鏇村巻鍙叉暟閲�'; +COMMENT ON COLUMN "tenant_capacity"."gmt_create" IS '鍒涘缓鏃堕棿'; +COMMENT ON COLUMN "tenant_capacity"."gmt_modified" IS '淇敼鏃堕棿'; +COMMENT ON TABLE "tenant_capacity" IS '绉熸埛瀹归噺淇℃伅琛�'; + +-- ---------------------------- +-- Records of tenant_capacity +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for tenant_info +-- ---------------------------- +DROP TABLE IF EXISTS "tenant_info"; +CREATE TABLE "tenant_info" ( + "id" bigserial NOT NULL, + "kp" varchar(128) NOT NULL, + "tenant_id" varchar(128) , + "tenant_name" varchar(128) , + "tenant_desc" varchar(256) , + "create_source" varchar(32) , + "gmt_create" int8 NOT NULL, + "gmt_modified" int8 NOT NULL +) +; +COMMENT ON COLUMN "tenant_info"."id" IS 'id'; +COMMENT ON COLUMN "tenant_info"."kp" IS 'kp'; +COMMENT ON COLUMN "tenant_info"."tenant_id" IS 'tenant_id'; +COMMENT ON COLUMN "tenant_info"."tenant_name" IS 'tenant_name'; +COMMENT ON COLUMN "tenant_info"."tenant_desc" IS 'tenant_desc'; +COMMENT ON COLUMN "tenant_info"."create_source" IS 'create_source'; +COMMENT ON COLUMN "tenant_info"."gmt_create" IS '鍒涘缓鏃堕棿'; +COMMENT ON COLUMN "tenant_info"."gmt_modified" IS '淇敼鏃堕棿'; +COMMENT ON TABLE "tenant_info" IS 'tenant_info'; + +-- ---------------------------- +-- Records of tenant_info +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for users +-- ---------------------------- +DROP TABLE IF EXISTS "users"; +CREATE TABLE "users" ( + "username" varchar(50) NOT NULL, + "password" varchar(500) NOT NULL, + "enabled" boolean NOT NULL +) +; + +-- ---------------------------- +-- Records of users > nAcos_!9#_admIn +-- ---------------------------- +BEGIN; +-- INSERT INTO "users" VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE); +INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$LnJDlPeP.XbQnr6iabc65OI6kM4LLS/BRLwPHEtRSERErvnmlKkBu', TRUE); +COMMIT; + +-- ---------------------------- +-- Indexes structure for table config_info +-- ---------------------------- +CREATE UNIQUE INDEX "uk_configinfo_datagrouptenant" ON "config_info" ("data_id","group_id","tenant_id"); + +-- ---------------------------- +-- Primary Key structure for table config_info +-- ---------------------------- +ALTER TABLE "config_info" ADD CONSTRAINT "config_info_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Indexes structure for table config_info_aggr +-- ---------------------------- +CREATE UNIQUE INDEX "uk_configinfoaggr_datagrouptenantdatum" ON "config_info_aggr" USING btree ("data_id","group_id","tenant_id","datum_id"); + +-- ---------------------------- +-- Primary Key structure for table config_info_aggr +-- ---------------------------- +ALTER TABLE "config_info_aggr" ADD CONSTRAINT "config_info_aggr_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Indexes structure for table config_info_beta +-- ---------------------------- +CREATE UNIQUE INDEX "uk_configinfobeta_datagrouptenant" ON "config_info_beta" USING btree ("data_id","group_id","tenant_id"); + +-- ---------------------------- +-- Primary Key structure for table config_info_beta +-- ---------------------------- +ALTER TABLE "config_info_beta" ADD CONSTRAINT "config_info_beta_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Indexes structure for table config_info_tag +-- ---------------------------- +CREATE UNIQUE INDEX "uk_configinfotag_datagrouptenanttag" ON "config_info_tag" USING btree ("data_id","group_id","tenant_id","tag_id"); + +-- ---------------------------- +-- Primary Key structure for table config_info_tag +-- ---------------------------- +ALTER TABLE "config_info_tag" ADD CONSTRAINT "config_info_tag_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Indexes structure for table config_tags_relation +-- ---------------------------- +CREATE INDEX "idx_tenant_id" ON "config_tags_relation" USING btree ( + "tenant_id" +); +CREATE UNIQUE INDEX "uk_configtagrelation_configidtag" ON "config_tags_relation" USING btree ( + "id", + "tag_name", + "tag_type" +); + +-- ---------------------------- +-- Primary Key structure for table config_tags_relation +-- ---------------------------- +ALTER TABLE "config_tags_relation" ADD CONSTRAINT "config_tags_relation_pkey" PRIMARY KEY ("nid"); + +-- ---------------------------- +-- Indexes structure for table group_capacity +-- ---------------------------- +CREATE UNIQUE INDEX "uk_group_id" ON "group_capacity" USING btree ( + "group_id" +); + +-- ---------------------------- +-- Primary Key structure for table group_capacity +-- ---------------------------- +ALTER TABLE "group_capacity" ADD CONSTRAINT "group_capacity_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Indexes structure for table his_config_info +-- ---------------------------- +CREATE INDEX "idx_did" ON "his_config_info" USING btree ( + "data_id" +); +CREATE INDEX "idx_gmt_create" ON "his_config_info" USING btree ( + "gmt_create" +); +CREATE INDEX "idx_gmt_modified" ON "his_config_info" USING btree ( + "gmt_modified" +); + +-- ---------------------------- +-- Primary Key structure for table his_config_info +-- ---------------------------- +ALTER TABLE "his_config_info" ADD CONSTRAINT "his_config_info_pkey" PRIMARY KEY ("nid"); + +-- ---------------------------- +-- Indexes structure for table permissions +-- ---------------------------- +CREATE UNIQUE INDEX "uk_role_permission" ON "permissions" USING btree ( + "role", + "resource", + "action" +); + +-- ---------------------------- +-- Indexes structure for table roles +-- ---------------------------- +CREATE UNIQUE INDEX "uk_username_role" ON "roles" USING btree ( + "username", + "role" +); + +-- ---------------------------- +-- Indexes structure for table tenant_capacity +-- ---------------------------- +CREATE UNIQUE INDEX "uk_tenant_id" ON "tenant_capacity" USING btree ( + "tenant_id" +); + +-- ---------------------------- +-- Primary Key structure for table tenant_capacity +-- ---------------------------- +ALTER TABLE "tenant_capacity" ADD CONSTRAINT "tenant_capacity_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Indexes structure for table tenant_info +-- ---------------------------- +CREATE UNIQUE INDEX "uk_tenant_info_kptenantid" ON "tenant_info" USING btree ( + "kp", + "tenant_id" +); diff --git a/docker/readme.md b/docker/readme.md new file mode 100644 index 0000000..c8f8b74 --- /dev/null +++ b/docker/readme.md @@ -0,0 +1,103 @@ +1. 杩愯 +```bash +docker images | sort -k1 # 鎺掑簭 +docker images | grep -E 'kafka|zook' # 杩囨护 + + +docker run -itd -p 5432:5432 postgis/postgis +psql --version # psql (PostgreSQL) 17.5 (Debian 17.5-1.pgdg110+1) +docker tag postgis/postgis:latest postgis/postgis:17.5 + + +docker run -itd --name nginx nginx +docker exec -it nginx bash +nginx -v # nginx version: nginx/1.29.0 +docker pull nginx:1.29 + + +docker pull bitnami/kafka:3.9 +docker pull zookeeper:3.9 # 鎷夊彇3.9绯诲垪鐨勬渶鏂扮増鏈� + + +docker pull redis:7 +docker run -itd --name redis redis:7 +redis-server --version # Redis server v=7.4.5 + + +docker run -itd --name mysql -e MYSQL_RANDOM_ROOT_PASSWORD=123456 mysql:5.7 +docker exec -it mysql bash +mysql --version # mysql Ver 14.14 Distrib 5.7.44 + +docker run -itd --name mysql -e MYSQL_RANDOM_ROOT_PASSWORD=123456 mysql:8 +docker exec -it mysql bash +mysql --version # mysql Ver 8.4.5 for Linux on x86_64 + + +docker pull mongo:8 +docker run -itd --name mongo -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=123456 mongo:8 +docker exec -it mongodb mongosh +db.version() # 8.0.11 +use admin +db.auth("admin", "123456") +show + + +docker run -itd --name openjdk openjdk:8-jre +docker exec -it openjdk bash +java -version # openjdk version "1.8.0_342" + + +# TmFjb3NfUmFuZG9tX1N0cmluZ18zMl9DaGFyc19Pcl9Mb25nZXI= +echo -n "Nacos_Random_String_32_Chars_Or_Longer" | base64 +docker run -d --name nacos -p 8848:8848 -e MODE=standalone nacos/nacos-server + +docker run -d -p 8848:8848 -e MODE=standalone -e NACOS_AUTH_ENABLE=true -e NACOS_AUTH_TOKEN=TmFjb3NfUmFuZG9tX1N0cmluZ18zMl9DaGFyc19Pcl9Mb25nZXI= -e NACOS_AUTH_IDENTITY_KEY=Authorization -e NACOS_AUTH_IDENTITY_VALUE=token nacos/nacos-server:2.5.1 + +``` + +2.闀滃儚 +``` bash +postgis/postgis:17.5 +nginx:1.29 +nacos/nacos-server:2.5.1 +bitnami/kafka:3.9 +zookeeper:3.9 +redis:7 +openjdk:8-jre +mysql:5.7 +mongo:8 +openjdk8-422-gdal:3.5.2 + +# JVM鍙傛暟 # image: openjdk8-422/gdal:3.5.2 +- JAVA_OPTS=-Xms512m -Xmx1024m -XX:+UseG1GC +healthcheck: + test: ["CMD-SHELL", "curl -f http://localhost:8848/nacos || exit 1"] + +# nacos鎻掍欢涓嬭浇 +https://github.com/wuchubuzai2018/nacos-datasource-extend-plugins +https://blog.csdn.net/lilinhai548/article/details/149198957 + +# Linux鏌ョ湅绔彛鍗犵敤 +netstat -tulnp | grep 8080 +lsof -i :8080 +kill -9 26634 + +# git鍒囨崲鍒嗘敮 +git checkout 3.0.1 + +# OffsetExplorer杩炴帴kafka锛堝甫瀵嗙爜锛� +Security >Type > SASL Plaintext +Advanced: > SASL Mechanism > PLAIN +JAAS: > Config: +org.apache.kafka.common.security.plain.PlainLoginModule required +username="admin" +password="kaFka_12#$56"; + +>> Update >> Connect + +# 鍧忕殑瑙i噴鍣紝娌℃湁閭d釜鏂囦欢鎴栫洰褰� +sed -i 's/\r$//' start.sh + +# 缁熻鏂囦欢澶瑰ぇ灏� +du -sh postgis/pgdata +``` diff --git a/docker/redis/redis.conf b/docker/redis/redis.conf new file mode 100644 index 0000000..f3a9048 --- /dev/null +++ b/docker/redis/redis.conf @@ -0,0 +1 @@ +requirepass Redis_s!E_6.2.6 \ No newline at end of file diff --git a/docker/spring.yml b/docker/spring.yml new file mode 100644 index 0000000..460c660 --- /dev/null +++ b/docker/spring.yml @@ -0,0 +1,59 @@ +version: "3.8" +services: + # zookeeper + zookeeper: + image: zookeeper:3.4 + ports: + - 2181:2181 + - 2888:2888 + - 3888:3888 + volumes: + - ./zookeeper_data:/data + environment: + ZOO_MY_ID: 1 + ZOO_SERVERS: server.1=0.0.0.0:2888:3888 + # ZOO_ENABLE_AUTH: yes + # ZOO_SERVER_USERS: admin + # ZOO_SERVER_PASSWORDS: kaFka_12#$56 + healthcheck: + test: ["CMD-SHELL", "zkServer.sh status"] + interval: 5s + timeout: 2s + retries: 3 + networks: + - network-jhs + # kafka + kafka: + image: bitnami/kafka:3.4 + environment: + KAFKA_BROKER_ID: 1 + # ALLOW_PLAINTEXT_LISTENER: yes + # KAFKA_CFG_LISTENERS: PLAINTEXT://:9092 + # KAFKA_CFG_ZOOKEEPER_CONNECT: zookeeper:2181 + # KAFKA_CFG_ADVERTISED_LISTENERS: PLAINTEXT://192.168.11.203:9092 + KAFKA_CFG_ZOOKEEPER_CONNECT: zookeeper:2181 + KAFKA_CFG_LISTENERS: SASL_PLAINTEXT://:9092 + KAFKA_CFG_ADVERTISED_LISTENERS: SASL_PLAINTEXT://192.168.11.203:9092 + KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL + KAFKA_CFG_INTER_BROKER_LISTENER_NAME: SASL_PLAINTEXT + KAFKA_CFG_SASL_ENABLED_MECHANISMS: PLAIN + KAFKA_CFG_SASL_MECHANISM_INTER_BROKER_PROTOCOL: PLAIN + KAFKA_CLIENT_USERS: admin + KAFKA_CLIENT_PASSWORDS: kaFka_12#$56 + # KAFKA_ZOOKEEPER_USER: admin + # KAFKA_ZOOKEEPER_PASSWORD: kaFka_12#$56 + volumes: + # chmod -R 777 kafka_data/ + - ./kafka_data:/bitnami/kafka + - /var/run/docker.sock:/var/run/docker.sock + ports: + - 9092:9092 + depends_on: + zookeeper: + condition: service_healthy + privileged: true + networks: + - network-jhs +networks: + network-jhs: + driver: bridge diff --git a/docker/start.sh b/docker/start.sh new file mode 100644 index 0000000..dbff50a --- /dev/null +++ b/docker/start.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +cd /data/jhs +rm -rf zookeeper_data/* +rm -rf kafka_data/* + +docker-compose down +docker-compose up -d + +# sed -i 's/\r$//' start.sh +exit 0 diff --git a/docker/system/bootstrap.yml b/docker/system/bootstrap.yml new file mode 100644 index 0000000..24730b9 --- /dev/null +++ b/docker/system/bootstrap.yml @@ -0,0 +1,31 @@ +# Tomcat +server: + port: 8002 + +# Spring +spring: + application: + # 搴旂敤鍚嶇О + name: se-system + profiles: + # 鐜閰嶇疆 + active: dev + cloud: + nacos: + username: nacos + password: nAcos_!9#_admIn + discovery: + # 鏈嶅姟娉ㄥ唽鍦板潃 + server-addr: 127.0.0.1:8848 + config: + group: JHS_GROUP + # 閰嶇疆涓績鍦板潃 + server-addr: 127.0.0.1:8848 + # 閰嶇疆鏂囦欢鏍煎紡 + file-extension: yml + # 鍏变韩閰嶇疆 + shared-configs: + - data-id: application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} + group: JHS_GROUP + # 鍏佽鍒锋柊 + refresh-enabled: true -- Gitblit v1.9.3