reghao 5 days ago
parent
commit
389febd647

+ 7 - 15
build.sh

@@ -24,10 +24,10 @@ create_dirs() {
 ###############################################################################
 clone_proj() {
     cd ${proj_dir}
-    git clone --depth=1 https://github.com/reghao/ik-analyzer-solr.git
-    git clone --depth=1 https://github.com/reghao/jieba-analysis.git
+    # git clone --depth=1 https://github.com/reghao/ik-analyzer-solr.git
+    # git clone --depth=1 https://github.com/reghao/jieba-analysis.git
+    # git clone --depth=1 https://git.reghao.cn/reghao/jutil
 
-    git clone --depth=1 https://git.reghao.cn/reghao/jutil
     git clone --depth=1 https://git.reghao.cn/reghao/tnb
     git clone --depth=1 https://git.reghao.cn/reghao/tnbapp
 }
@@ -55,16 +55,14 @@ build_backend() {
     ###############################################################################
     cd ${proj_dir}/tnb
     mvn clean package -Dmaven.test.skip -P${env}
-    cp eureka/eureka-server/target/tnb-eureka.jar ${bin_dir}
     cp gateway/target/tnb-gateway.jar ${bin_dir}
-    cp account/account-service/target/tnb-account.jar ${bin_dir}
+    cp auth/auth-service/target/tnb-auth.jar ${bin_dir}
     cp user/user-service/target/tnb-user.jar ${bin_dir}
     cp message/message-service/target/tnb-message.jar ${bin_dir}
     cp file/file-service/target/tnb-file.jar ${bin_dir}
     cp content/content-service/target/tnb-content.jar ${bin_dir}
     cp data/data-service/target/tnb-data.jar ${bin_dir}
     cp search/search-service/target/tnb-search.jar ${bin_dir}
-    cp admin/target/tnb-admin.jar ${bin_dir}
 
     ###############################################################################
     # oss-store jar 包
@@ -100,14 +98,11 @@ build_image() {
 #   commit_id=`git rev-parse HEAD | cut -c 1-8`
   docker_prefix='tnb'
 
-  cd ${proj_dir}/tnb/eureka/eureka-server
-  docker build -t ${docker_prefix}/eureka .
-
   cd ${proj_dir}/tnb/gateway/
   docker build -t ${docker_prefix}/gateway .
   
-  cd ${proj_dir}/tnb/account/account-service/
-  docker build -t ${docker_prefix}/account .
+  cd ${proj_dir}/tnb/auth/auth-service/
+  docker build -t ${docker_prefix}/auth .
 
   cd ${proj_dir}/tnb/message/message-service/
   docker build -t ${docker_prefix}/message .
@@ -124,9 +119,6 @@ build_image() {
   cd ${proj_dir}/tnb/search/search-service/
   docker build -t ${docker_prefix}/search .
 
-  cd ${proj_dir}/tnb/admin/
-  docker build -t ${docker_prefix}/admin .
-
   cd ${proj_dir}/tnbapp
   commit_id=`git rev-parse HEAD | cut -c 1-8`
   docker_prefix='tnb'
@@ -140,7 +132,7 @@ echo "clone 项目..."
 clone_proj
 
 echo "构建依赖..."
-build_dependencies
+# build_dependencies
 
 echo "构建后端应用..."
 build_backend

+ 2 - 2
shutdown.sh

@@ -12,7 +12,7 @@ app_name4='tnb-message'
 app_name5='tnb-file'
 app_name6='tnb-content'
 app_name7='tnb-search'
-app_name8='oss-store'
+app_name8='oss-store1'
 app_name9='tnb-admin'
 
 for((i=0; i<=9; i++));
@@ -26,4 +26,4 @@ do
         echo "kill "${app_name}" with pid "${pid}
         kill -15 ${pid}
     fi
-done
+done

+ 0 - 54
srv/init_db.sh

@@ -1,54 +0,0 @@
-#!/bin/bash
-
-set -e
-
-###############################################################################
-# 初始化数据库, 包括创建数据库和初始化数据库表
-###############################################################################
-
-base_dir=`pwd`
-cd ${base_dir}/schema
-
-host='127.0.0.1'
-username='dev'
-password='Dev@123456'
-
-db1='tnb_account_rdb'
-db2='tnb_content_rdb'
-db3='tnb_oss_rdb'
-
-db11='tnb_account_tdb'
-db21='tnb_content_tdb'
-db31='tnb_oss_tdb'
-
-create_db() {
-sql1="CREATE DATABASE ${db1} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;"
-sql2="CREATE DATABASE ${db2} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;"
-sql3="CREATE DATABASE ${db3} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;"
-
-docker exec -i mysql57 mysql -u${username} -p${password} -e "CREATE DATABASE ${db1} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;"
-docker exec -i mysql57 mysql -u${username} -p${password} -e "CREATE DATABASE ${db2} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;"
-docker exec -i mysql57 mysql -u${username} -p${password} -e "CREATE DATABASE ${db3} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;"
-
-# mysql -h${host} -u${username} -p${password} << EOF
-#  ${sql1}
-#  ${sql2}
-#  ${sql3}
-# EOF
-}
-
-init_db() {
-  # 还原整个数据库结构(不包含数据)
-  docker exec -i mysql57 mysql -h${host} -u${username} -p${password} ${db1} < ${db11}.sql
-  docker exec -i mysql57 mysql -h${host} -u${username} -p${password} ${db2} < ${db21}.sql
-  docker exec -i mysql57 mysql -h${host} -u${username} -p${password} ${db3} < ${db31}.sql
-
-  # 还原表数据到数据库
-#  mysql -h${host} -u${username} -p${password} ${db11} < msg_email_account.sql
-}
-
-echo "create db..."
-create_db
-
-echo "init db..."
-init_db

+ 0 - 4
srv/mongo.js

@@ -1,4 +0,0 @@
-var url = "mongodb://admin:Admin_123456@127.0.0.1:27017/"
-var con = new Mongo(url)
-var db = con.getDB("admin")
-db.createUser({user: "dev",pwd: "Dev@123456",roles: [{ role: "readWrite", db: "tnb_content_rdb"}]})

+ 34 - 0
srv/mongodb/docker-compose.yml

@@ -0,0 +1,34 @@
+services:
+  mongodb:
+    image: registry.cn-chengdu.aliyuncs.com/reghao/mongo:4.4.8
+    container_name: mongodb
+    restart: always
+    network_mode: "host"
+    # 环境变量:初始化 root 账号
+    environment:
+      MONGO_INITDB_ROOT_USERNAME: admin
+      MONGO_INITDB_ROOT_PASSWORD: "Admin123456"
+    # 存储卷挂载
+    volumes:
+      - /etc/localtime:/etc/localtime:ro
+      - /opt/docker/mongodb/conf/mongod.conf:/etc/mongod.conf
+      - /opt/docker/mongodb/data:/data/db
+      - /opt/docker/mongodb/log:/var/log/mongodb
+      - /opt/docker/mongodb/init-db.d:/docker-entrypoint-initdb.d:ro
+    # 3. 使用 -f 指定配置文件路径
+    command: ["mongod", "-f", "/etc/mongod.conf"]
+    # 资源限制(MongoDB 比较吃内存,建议根据宿主机情况调整)
+    deploy:
+      resources:
+        limits:
+          cpus: '1.0'        # 限制为 1 核
+          memory: 1024M      # 物理内存上限 1GB
+        reservations:
+          cpus: '0.2'
+          memory: 512M
+    # 日志配置
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "50m"
+        max-file: "3"

+ 27 - 0
srv/mongodb/init_mongodb.sh

@@ -0,0 +1,27 @@
+#!/bin/bash
+
+set -e
+
+###############################################################################
+# 初始化时使用, 只能执行一次
+###############################################################################
+
+echo "init mongodb..."
+
+base_dir="/opt/docker/mongodb"
+if [ -d ${base_dir} ]; then
+    echo ${base_dir}"已存在, 删除后重新创建..."
+    rm -rf ${base_dir}
+fi
+
+# 准备工作
+mkdir -p ${base_dir}/conf
+mkdir ${base_dir}/log
+mkdir ${base_dir}/init-db.d
+
+chmod -R go+w ${base_dir}
+cp mongod.conf ${base_dir}/conf
+cp mongodb_user.js ${base_dir}/init-db.d
+
+# 启动
+docker compose up -d

+ 40 - 0
srv/mongodb/mongod.conf

@@ -0,0 +1,40 @@
+# 存储设置
+storage:
+  dbPath: /data/db  # 必须是容器内的这个路径
+  journal:
+    enabled: true
+  wiredTiger:
+    engineConfig:
+      # 限制缓存,建议设置为宿主机可用内存的 50%
+      cacheSizeGB: 0.25
+
+# 日志设置
+systemLog:
+  destination: file
+  logAppend: true
+  # 必须确保宿主机对应的目录已授权给 UID 999
+  path: /var/log/mongodb/mongod.log
+  logRotate: reopen
+
+# 网络设置
+net:
+  port: 27017
+  # 在 Host 模式或多机环境下,建议监听所有 IP
+  bindIp: 127.0.0.1,0.0.0.0
+
+# 进程管理 - 这是你之前报错的核心点
+processManagement:
+  # Docker 容器内必须为 false,绝对不能开启 fork
+  fork: false
+  # 建议注释掉 pidFilePath,Docker 自身会管理进程 PID
+  # pidFilePath: /var/run/mongodb/mongod.pid
+
+# 安全设置
+# 设置 MONGO_INITDB_ROOT_USERNAME 环境变量后镜像会自动在启动时启用 --auth
+# security:
+#   # 开启鉴权
+#   authorization: enabled
+
+# 逻辑会话设置(解决你之前遇到的 SocketException 警告)
+setParameter:
+  enableLocalhostAuthBypass: true

+ 37 - 0
srv/mongodb/mongodb.md

@@ -0,0 +1,37 @@
+默认帐号密码
+```
+帐号: admin
+密码: Admin_123456
+认证数据库: admin
+
+帐号: my
+密码: My_123456
+认证数据库: my_db
+
+mongo220
+admin
+Admin123456
+```
+> 在哪个数据库下创建的帐号密码, 就用那个数据库作为认证数据库
+
+连接到 mongodb
+```
+docker exec -it mongodb mongo -u admin -p Admin_123456 --authenticationDatabase admin
+
+docker exec -it mongodb mongo -u my -p My_123456 --authenticationDatabase my_db
+```
+
+## 备份和还原
+备份数据
+```
+mongodump --uri="mongodb://admin:Admin123456@192.168.0.220:27017/?authSource=admin" --archive="all_db.gz" --gzip
+```
+> 使用 --archive 配合 --gzip 可以显著节省空间并方便传输
+> > --archive: 将所有库打包成一个单文件
+> >
+> > --gzip: 在线压缩,通常能减少 70%-90% 的体积
+
+还原数据
+```
+mongorestore --uri="mongodb://admin:Admin123456@192.168.0.203:27017/?authSource=admin" --archive="all_db.gz" --gzip
+```

+ 19 - 0
srv/mongodb/mongodb_user.js

@@ -0,0 +1,19 @@
+// 切换到 admin 库(默认就在 admin,但为了保险写一下)
+db = db.getSiblingDB('admin');
+
+// 1. 创建第一个业务数据库和用户
+db = db.getSiblingDB('my_db');
+db.createUser({
+    user: "my",
+    pwd: "My_123456",
+    roles: [
+        // 授予 readWrite 读写数据
+        { role: "readWrite", db: "my_db" },
+        // 授予 dbAdmin 便于索引管理
+        { role: "dbAdmin", db: "my_db" }
+    ]
+});
+// 初始化一个集合(可选,防止库看起来是空的)
+db.createCollection('my_collection');
+
+print('系统提示: 业务数据库与账号初始化脚本执行完毕!');

+ 30 - 0
srv/mysql80/docker-compose.yml

@@ -0,0 +1,30 @@
+services:
+  mysql80:
+    image: registry.cn-chengdu.aliyuncs.com/reghao/mysql:8.0.36
+    container_name: mysql80
+    restart: always
+    # 使用宿主机网络模式
+    network_mode: "host"
+    # 环境变量
+    environment:
+      MYSQL_ROOT_PASSWORD: "Root_123456"
+    # 存储卷挂载
+    volumes:
+      - /etc/localtime:/etc/localtime:ro
+      - /opt/docker/mysql80/conf/my.cnf:/etc/mysql/my.cnf
+      - /opt/docker/mysql80/data:/var/lib/mysql
+      - /opt/docker/mysql80/log:/var/log
+    # 日志配置
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "3"
+    # 资源限制(虽然脚本中未写,建议生产环境加上)
+    deploy:
+      resources:
+        limits:
+          cpus: '2.0'
+          memory: 2G
+        reservations:
+          memory: 1G

+ 26 - 0
srv/mysql80/init_mysql80.sh

@@ -0,0 +1,26 @@
+#!/bin/bash
+
+set -e
+
+###############################################################################
+# 初始化时使用, 只能执行一次
+###############################################################################
+
+echo "init mysql80..."
+
+base_dir="/opt/docker/mysql80"
+if [ -d ${base_dir} ]; then
+    echo ${base_dir}"已存在, 删除后重新创建..."
+    rm -rf ${base_dir}
+fi
+
+# 准备工作
+mkdir -p ${base_dir}/data
+mkdir ${base_dir}/conf
+mkdir ${base_dir}/log
+
+chmod -R go+w ${base_dir}
+cp my.cnf ${base_dir}/conf
+
+# 启动
+docker compose up -d

+ 29 - 0
srv/mysql80/init_user.sh

@@ -0,0 +1,29 @@
+#!/bin/bash
+
+set -e
+
+###############################################################################
+# 创建 mysql 用户, mysql 启动后使用
+###############################################################################
+
+host='127.0.0.1'
+username='root'
+password='Root_123456'
+
+# 创建一个可远程访问的账号
+sql1="create user test@'%' IDENTIFIED BY 'Test_123456';"
+sql2="grant all privileges on *.* to test@'%' with grant option;"
+sql3="flush privileges;"
+
+echo 'create mysql user...'
+#mysql -h${host} -u${username} -p${password} << EOF
+#${sql1}
+#${sql2}
+#${sql3}
+#EOF
+
+# 使用容器内部的 mysql 命令
+# -e (execute) 参数可以直接从宿主机命令行向容器内的 MySQL 发送 SQL 语句
+docker exec -it mysql80 mysql -h127.0.0.1 -u${username} -p${password} -e "${sql1}"
+docker exec -it mysql80 mysql -h127.0.0.1 -u${username} -p${password} -e "${sql2}"
+docker exec -it mysql80 mysql -h127.0.0.1 -u${username} -p${password} -e "${sql3}"

+ 46 - 0
srv/mysql80/my.cnf

@@ -0,0 +1,46 @@
+# For advice on how to change settings please see
+# http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html
+
+[mysqld]
+#
+# Remove leading # and set to the amount of RAM for the most important data
+# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
+# innodb_buffer_pool_size = 128M
+#
+# Remove the leading "# " to disable binary logging
+# Binary logging captures changes between backups and is enabled by
+# default. It's default setting is log_bin=binlog
+# disable_log_bin
+#
+# Remove leading # to set options mainly useful for reporting servers.
+# The server defaults are faster for transactions and fast SELECTs.
+# Adjust sizes as needed, experiment to find the optimal values.
+# join_buffer_size = 128M
+# sort_buffer_size = 2M
+# read_rnd_buffer_size = 2M
+#
+# Remove leading # to revert to previous value for default_authentication_plugin,
+# this will increase compatibility with older clients. For background, see:
+# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin
+# default-authentication-plugin=mysql_native_password
+
+datadir=/var/lib/mysql
+socket=/var/lib/mysql/mysql.sock
+
+log-error=/var/log/mysqld.log
+pid-file=/var/run/mysqld/mysqld.pid
+
+max_connections=1000
+max_connect_errors=10000
+sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
+lower_case_table_names=1
+
+innodb_lock_wait_timeout=3600
+character_set_server=utf8
+max_allowed_packet = 1024M
+
+ngram_token_size = 1
+innodb_ft_min_token_size = 1
+ft_min_word_len = 1
+
+expire_logs_days = 7

+ 30 - 0
srv/mysql80/mysql80.md

@@ -0,0 +1,30 @@
+默认帐号密码
+```
+帐号: root
+密码: Root_123456
+
+帐号: azytest
+密码: Azy_123456
+```
+
+连接到 mysql
+```
+docker exec -it mysql80 mysql -h127.0.0.1 -uroot -pRoot_123456
+```
+
+## 备份和还原
+备份数据
+```
+mysqldump -h192.168.0.220 -uazytest -pAzy@123456 \
+--skip-triggers -d iquizoo_business_dev > iquizoo_business_dev.sql
+
+mysqldump -h192.168.0.220 -uazytest -pAzy@123456 \
+--databases iquizoo_base_dev > iquizoo_base_dev.sql
+```
+> 显式添加 --databases 参数, 表示导出的数据包含 create database 创建数据库语句
+
+还原数据
+```
+mysql -h192.168.0.220 -uazytest -pAzy@123456 \
+iquizoo_base_dev < iquizoo_base_dev.sql
+```

+ 53 - 0
srv/nacos/docker-compose.yml

@@ -0,0 +1,53 @@
+services:
+  nacos:
+    image: registry.cn-chengdu.aliyuncs.com/reghao/nacos_nacos-server:v2.4.1
+    restart: always
+    container_name: nacos
+    network_mode: "host"
+#    ports:
+#      - "8848:8848"                 # 控制台端口 http://localhost:8848/nacos
+#      - "9848:9848"                 # gRPC 客户端连接端口(Nacos 2.x 必需)
+#      - "9849:9849"                 # gRPC 服务端同步端口
+    volumes:
+      - /opt/docker/nacos/logs:/home/nacos/logs
+      - /opt/docker/nacos/data:/home/nacos/data
+    environment:
+      - NACOS_HOME=/home/nacos
+      - NACOS_LOG_PATH=/home/nacos/logs
+      - NACOS_LOG_DIR=/home/nacos/logs
+      - CUSTOM_JVM_OPTS=-Dnacos.logging.path=/home/nacos/logs
+      - NACOS_AUTH_ENABLE=true      # 开启鉴权(建议开启,默认密码 nacos/nacos)
+      - NACOS_AUTH_TOKEN=U2VjcmV0S2V5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDE=
+      - NACOS_AUTH_IDENTITY_KEY=myNacosKey
+      - NACOS_AUTH_IDENTITY_VALUE=myNacosValue
+      - MODE=standalone             # 单机模式
+      - JVM_XMS=1g
+      - JVM_XMX=1g
+      - SPRING_DATASOURCE_PLATFORM=mysql # https://github.com/alibaba/nacos/blob/2.4.1/distribution/conf/mysql-schema.sql
+      - MYSQL_SERVICE_HOST=127.0.0.1
+      - MYSQL_SERVICE_DB_NAME=nacos_config
+      - MYSQL_SERVICE_PORT=3306
+      - MYSQL_SERVICE_USER=test
+      - MYSQL_SERVICE_PASSWORD=Test_123456
+    healthcheck:
+      test: ["CMD", "curl", "-f", "http://localhost:8848/nacos/index.html"]
+      interval: 15s
+      timeout: 5s
+      retries: 3
+      start_period: 60s # Nacos 启动较慢,给足初始化时间
+    # 1. 资源限制 (Deploy 节点)
+    deploy:
+      resources:
+        limits:
+          cpus: '1.0'          # 限制最大占用 1 个 CPU 核心
+          memory: 2G           # 限制最大占用 2GB 内存
+        reservations:
+          memory: 1G           # 容器启动时预留 1GB 内存
+    
+    # 2. 日志限制 (Logging 节点)
+    # 限制单个日志文件大小为 100MB,最多保留 3 个,防止占满磁盘
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "3"

+ 308 - 0
srv/nacos/nacos_config.sql

@@ -0,0 +1,308 @@
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : mysql57-209
+ Source Server Type    : MySQL
+ Source Server Version : 50742
+ Source Host           : 127.0.0.1:3306
+ Source Schema         : nacos_config
+
+ Target Server Type    : MySQL
+ Target Server Version : 50742
+ File Encoding         : 65001
+
+ Date: 04/03/2026 20:57:12
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for config_info
+-- ----------------------------
+DROP TABLE IF EXISTS `config_info`;
+CREATE TABLE `config_info` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
+  `data_id` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'data_id',
+  `group_id` varchar(128) COLLATE utf8_bin DEFAULT NULL COMMENT 'group_id',
+  `content` longtext COLLATE utf8_bin NOT NULL COMMENT 'content',
+  `md5` varchar(32) COLLATE utf8_bin 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 COLLATE utf8_bin COMMENT 'source user',
+  `src_ip` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT 'source ip',
+  `app_name` varchar(128) COLLATE utf8_bin DEFAULT NULL COMMENT 'app_name',
+  `tenant_id` varchar(128) COLLATE utf8_bin DEFAULT '' COMMENT '租户字段',
+  `c_desc` varchar(256) COLLATE utf8_bin DEFAULT NULL COMMENT 'configuration description',
+  `c_use` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT 'configuration usage',
+  `effect` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '配置生效的描述',
+  `type` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '配置的类型',
+  `c_schema` text COLLATE utf8_bin COMMENT '配置的模式',
+  `encrypted_data_key` varchar(1024) COLLATE utf8_bin 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';
+
+-- ----------------------------
+-- Records of config_info
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for config_info_aggr
+-- ----------------------------
+DROP TABLE IF EXISTS `config_info_aggr`;
+CREATE TABLE `config_info_aggr` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
+  `data_id` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'data_id',
+  `group_id` varchar(128) COLLATE utf8_bin NOT NULL COMMENT 'group_id',
+  `datum_id` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'datum_id',
+  `content` longtext COLLATE utf8_bin NOT NULL COMMENT '内容',
+  `gmt_modified` datetime NOT NULL COMMENT '修改时间',
+  `app_name` varchar(128) COLLATE utf8_bin DEFAULT NULL COMMENT 'app_name',
+  `tenant_id` varchar(128) COLLATE utf8_bin DEFAULT '' COMMENT '租户字段',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='增加租户字段';
+
+-- ----------------------------
+-- 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` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
+  `data_id` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'data_id',
+  `group_id` varchar(128) COLLATE utf8_bin NOT NULL COMMENT 'group_id',
+  `app_name` varchar(128) COLLATE utf8_bin DEFAULT NULL COMMENT 'app_name',
+  `content` longtext COLLATE utf8_bin NOT NULL COMMENT 'content',
+  `beta_ips` varchar(1024) COLLATE utf8_bin DEFAULT NULL COMMENT 'betaIps',
+  `md5` varchar(32) COLLATE utf8_bin 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 COLLATE utf8_bin COMMENT 'source user',
+  `src_ip` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT 'source ip',
+  `tenant_id` varchar(128) COLLATE utf8_bin DEFAULT '' COMMENT '租户字段',
+  `encrypted_data_key` varchar(1024) COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '密钥',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='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` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
+  `data_id` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'data_id',
+  `group_id` varchar(128) COLLATE utf8_bin NOT NULL COMMENT 'group_id',
+  `tenant_id` varchar(128) COLLATE utf8_bin DEFAULT '' COMMENT 'tenant_id',
+  `tag_id` varchar(128) COLLATE utf8_bin NOT NULL COMMENT 'tag_id',
+  `app_name` varchar(128) COLLATE utf8_bin DEFAULT NULL COMMENT 'app_name',
+  `content` longtext COLLATE utf8_bin NOT NULL COMMENT 'content',
+  `md5` varchar(32) COLLATE utf8_bin 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 COLLATE utf8_bin COMMENT 'source user',
+  `src_ip` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT 'source ip',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='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` bigint(20) NOT NULL COMMENT 'id',
+  `tag_name` varchar(128) COLLATE utf8_bin NOT NULL COMMENT 'tag_name',
+  `tag_type` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT 'tag_type',
+  `data_id` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'data_id',
+  `group_id` varchar(128) COLLATE utf8_bin NOT NULL COMMENT 'group_id',
+  `tenant_id` varchar(128) COLLATE utf8_bin 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';
+
+-- ----------------------------
+-- Records of config_tags_relation
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for group_capacity
+-- ----------------------------
+DROP TABLE IF EXISTS `group_capacity`;
+CREATE TABLE `group_capacity` (
+  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+  `group_id` varchar(128) COLLATE utf8_bin 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容量信息表';
+
+-- ----------------------------
+-- 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` bigint(20) unsigned NOT NULL COMMENT 'id',
+  `nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增标识',
+  `data_id` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'data_id',
+  `group_id` varchar(128) COLLATE utf8_bin NOT NULL COMMENT 'group_id',
+  `app_name` varchar(128) COLLATE utf8_bin DEFAULT NULL COMMENT 'app_name',
+  `content` longtext COLLATE utf8_bin NOT NULL COMMENT 'content',
+  `md5` varchar(32) COLLATE utf8_bin 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 COLLATE utf8_bin COMMENT 'source user',
+  `src_ip` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT 'source ip',
+  `op_type` char(10) COLLATE utf8_bin DEFAULT NULL COMMENT 'operation type',
+  `tenant_id` varchar(128) COLLATE utf8_bin DEFAULT '' COMMENT '租户字段',
+  `encrypted_data_key` varchar(1024) COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '密钥',
+  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='多租户改造';
+
+-- ----------------------------
+-- Records of his_config_info
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for permissions
+-- ----------------------------
+DROP TABLE IF EXISTS `permissions`;
+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 KEY `uk_role_permission` (`role`,`resource`,`action`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Records of permissions
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for roles
+-- ----------------------------
+DROP TABLE IF EXISTS `roles`;
+CREATE TABLE `roles` (
+  `username` varchar(50) NOT NULL COMMENT 'username',
+  `role` varchar(50) NOT NULL COMMENT 'role',
+  UNIQUE KEY `idx_user_role` (`username`,`role`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Records of roles
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for tenant_capacity
+-- ----------------------------
+DROP TABLE IF EXISTS `tenant_capacity`;
+CREATE TABLE `tenant_capacity` (
+  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+  `tenant_id` varchar(128) COLLATE utf8_bin 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='租户容量信息表';
+
+-- ----------------------------
+-- Records of tenant_capacity
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for tenant_info
+-- ----------------------------
+DROP TABLE IF EXISTS `tenant_info`;
+CREATE TABLE `tenant_info` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
+  `kp` varchar(128) COLLATE utf8_bin NOT NULL COMMENT 'kp',
+  `tenant_id` varchar(128) COLLATE utf8_bin DEFAULT '' COMMENT 'tenant_id',
+  `tenant_name` varchar(128) COLLATE utf8_bin DEFAULT '' COMMENT 'tenant_name',
+  `tenant_desc` varchar(256) COLLATE utf8_bin DEFAULT NULL COMMENT 'tenant_desc',
+  `create_source` varchar(32) COLLATE utf8_bin 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';
+
+-- ----------------------------
+-- Records of tenant_info
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for users
+-- ----------------------------
+DROP TABLE IF EXISTS `users`;
+CREATE TABLE `users` (
+  `username` varchar(50) NOT NULL COMMENT 'username',
+  `password` varchar(500) NOT NULL COMMENT 'password',
+  `enabled` tinyint(1) NOT NULL COMMENT 'enabled',
+  PRIMARY KEY (`username`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Records of users
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+SET FOREIGN_KEY_CHECKS = 1;

+ 0 - 17
srv/nginx/conf.d/oss.reghao.cn.conf

@@ -1,17 +0,0 @@
-################################################################################
-# oss.reghao.cn
-################################################################################
-server {
-   listen 80;
-   server_name oss.reghao.cn;
-   access_log /var/log/nginx/oss.reghao.cn.access.log main;
-
-   location / {
-      proxy_set_header HOST $host;
-      proxy_set_header X-Real-IP $remote_addr;
-      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-      proxy_set_header X-Forwarded-Proto $scheme;
-
-      proxy_pass http://127.0.0.1:4010;
-   }
-}

+ 0 - 61
srv/nginx/conf.d/reghao.cn.conf

@@ -1,61 +0,0 @@
-server {
-   listen 80;
-   server_name reghao.cn;
-   access_log /var/log/nginx/reghao.cn.access.log main;
-
-   location /api {
-      proxy_set_header HOST $host;
-      proxy_set_header X-Real-IP $remote_addr;
-      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-      proxy_set_header X-Forwarded-Proto $scheme;
-      proxy_send_timeout 600;
-      proxy_read_timeout 600;
-      proxy_connect_timeout 600;
-
-      proxy_pass http://tnb_be;
-   }
-   location /file {
-      proxy_set_header HOST $host;
-      proxy_set_header X-Real-IP $remote_addr;
-      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-      proxy_set_header X-Forwarded-Proto $scheme;
-      proxy_send_timeout 600;
-      proxy_read_timeout 600;
-      proxy_connect_timeout 600;
-
-      proxy_pass http://tnb_file;
-   }
-
-   # websocket
-   location /ws {
-      proxy_set_header Upgrade $http_upgrade;
-      proxy_set_header Connection $connection_upgrade;
-      proxy_cache off;
-      proxy_http_version 1.1;
-      proxy_buffering off;
-      proxy_read_timeout 100s;
-      proxy_set_header Host $host;
-      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-      proxy_set_header X-Forwarded-Proto $scheme;
-
-      proxy_pass http://tnb_be;
-   }
-   location / {
-      proxy_set_header HOST $host;
-      proxy_set_header X-Real-IP $remote_addr;
-      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-      proxy_set_header X-Forwarded-Proto $scheme;
-
-      proxy_pass http://tnb_fe;
-   }
-}
-
-upstream tnb_be {
-    server 127.0.0.1:6000 weight=1;
-}
-upstream tnb_file {
-    server 127.0.0.1:6000 weight=1;
-}
-upstream tnb_fe {
-    server 127.0.0.1:4040 weight=1;
-}

+ 0 - 26
srv/nginx/fastcgi.conf

@@ -1,26 +0,0 @@
-
-fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
-fastcgi_param  QUERY_STRING       $query_string;
-fastcgi_param  REQUEST_METHOD     $request_method;
-fastcgi_param  CONTENT_TYPE       $content_type;
-fastcgi_param  CONTENT_LENGTH     $content_length;
-
-fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
-fastcgi_param  REQUEST_URI        $request_uri;
-fastcgi_param  DOCUMENT_URI       $document_uri;
-fastcgi_param  DOCUMENT_ROOT      $document_root;
-fastcgi_param  SERVER_PROTOCOL    $server_protocol;
-fastcgi_param  REQUEST_SCHEME     $scheme;
-fastcgi_param  HTTPS              $https if_not_empty;
-
-fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
-fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;
-
-fastcgi_param  REMOTE_ADDR        $remote_addr;
-fastcgi_param  REMOTE_PORT        $remote_port;
-fastcgi_param  SERVER_ADDR        $server_addr;
-fastcgi_param  SERVER_PORT        $server_port;
-fastcgi_param  SERVER_NAME        $server_name;
-
-# PHP only, required if PHP was built with --enable-force-cgi-redirect
-fastcgi_param  REDIRECT_STATUS    200;

+ 0 - 25
srv/nginx/fastcgi_params

@@ -1,25 +0,0 @@
-
-fastcgi_param  QUERY_STRING       $query_string;
-fastcgi_param  REQUEST_METHOD     $request_method;
-fastcgi_param  CONTENT_TYPE       $content_type;
-fastcgi_param  CONTENT_LENGTH     $content_length;
-
-fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
-fastcgi_param  REQUEST_URI        $request_uri;
-fastcgi_param  DOCUMENT_URI       $document_uri;
-fastcgi_param  DOCUMENT_ROOT      $document_root;
-fastcgi_param  SERVER_PROTOCOL    $server_protocol;
-fastcgi_param  REQUEST_SCHEME     $scheme;
-fastcgi_param  HTTPS              $https if_not_empty;
-
-fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
-fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;
-
-fastcgi_param  REMOTE_ADDR        $remote_addr;
-fastcgi_param  REMOTE_PORT        $remote_port;
-fastcgi_param  SERVER_ADDR        $server_addr;
-fastcgi_param  SERVER_PORT        $server_port;
-fastcgi_param  SERVER_NAME        $server_name;
-
-# PHP only, required if PHP was built with --enable-force-cgi-redirect
-fastcgi_param  REDIRECT_STATUS    200;

+ 0 - 109
srv/nginx/koi-utf

@@ -1,109 +0,0 @@
-
-# This map is not a full koi8-r <> utf8 map: it does not contain
-# box-drawing and some other characters.  Besides this map contains
-# several koi8-u and Byelorussian letters which are not in koi8-r.
-# If you need a full and standard map, use contrib/unicode2nginx/koi-utf
-# map instead.
-
-charset_map  koi8-r  utf-8 {
-
-    80  E282AC ; # euro
-
-    95  E280A2 ; # bullet
-
-    9A  C2A0 ;   # &nbsp;
-
-    9E  C2B7 ;   # &middot;
-
-    A3  D191 ;   # small yo
-    A4  D194 ;   # small Ukrainian ye
-
-    A6  D196 ;   # small Ukrainian i
-    A7  D197 ;   # small Ukrainian yi
-
-    AD  D291 ;   # small Ukrainian soft g
-    AE  D19E ;   # small Byelorussian short u
-
-    B0  C2B0 ;   # &deg;
-
-    B3  D081 ;   # capital YO
-    B4  D084 ;   # capital Ukrainian YE
-
-    B6  D086 ;   # capital Ukrainian I
-    B7  D087 ;   # capital Ukrainian YI
-
-    B9  E28496 ; # numero sign
-
-    BD  D290 ;   # capital Ukrainian soft G
-    BE  D18E ;   # capital Byelorussian short U
-
-    BF  C2A9 ;   # (C)
-
-    C0  D18E ;   # small yu
-    C1  D0B0 ;   # small a
-    C2  D0B1 ;   # small b
-    C3  D186 ;   # small ts
-    C4  D0B4 ;   # small d
-    C5  D0B5 ;   # small ye
-    C6  D184 ;   # small f
-    C7  D0B3 ;   # small g
-    C8  D185 ;   # small kh
-    C9  D0B8 ;   # small i
-    CA  D0B9 ;   # small j
-    CB  D0BA ;   # small k
-    CC  D0BB ;   # small l
-    CD  D0BC ;   # small m
-    CE  D0BD ;   # small n
-    CF  D0BE ;   # small o
-
-    D0  D0BF ;   # small p
-    D1  D18F ;   # small ya
-    D2  D180 ;   # small r
-    D3  D181 ;   # small s
-    D4  D182 ;   # small t
-    D5  D183 ;   # small u
-    D6  D0B6 ;   # small zh
-    D7  D0B2 ;   # small v
-    D8  D18C ;   # small soft sign
-    D9  D18B ;   # small y
-    DA  D0B7 ;   # small z
-    DB  D188 ;   # small sh
-    DC  D18D ;   # small e
-    DD  D189 ;   # small shch
-    DE  D187 ;   # small ch
-    DF  D18A ;   # small hard sign
-
-    E0  D0AE ;   # capital YU
-    E1  D090 ;   # capital A
-    E2  D091 ;   # capital B
-    E3  D0A6 ;   # capital TS
-    E4  D094 ;   # capital D
-    E5  D095 ;   # capital YE
-    E6  D0A4 ;   # capital F
-    E7  D093 ;   # capital G
-    E8  D0A5 ;   # capital KH
-    E9  D098 ;   # capital I
-    EA  D099 ;   # capital J
-    EB  D09A ;   # capital K
-    EC  D09B ;   # capital L
-    ED  D09C ;   # capital M
-    EE  D09D ;   # capital N
-    EF  D09E ;   # capital O
-
-    F0  D09F ;   # capital P
-    F1  D0AF ;   # capital YA
-    F2  D0A0 ;   # capital R
-    F3  D0A1 ;   # capital S
-    F4  D0A2 ;   # capital T
-    F5  D0A3 ;   # capital U
-    F6  D096 ;   # capital ZH
-    F7  D092 ;   # capital V
-    F8  D0AC ;   # capital soft sign
-    F9  D0AB ;   # capital Y
-    FA  D097 ;   # capital Z
-    FB  D0A8 ;   # capital SH
-    FC  D0AD ;   # capital E
-    FD  D0A9 ;   # capital SHCH
-    FE  D0A7 ;   # capital CH
-    FF  D0AA ;   # capital hard sign
-}

+ 0 - 103
srv/nginx/koi-win

@@ -1,103 +0,0 @@
-
-charset_map  koi8-r  windows-1251 {
-
-    80  88 ; # euro
-
-    95  95 ; # bullet
-
-    9A  A0 ; # &nbsp;
-
-    9E  B7 ; # &middot;
-
-    A3  B8 ; # small yo
-    A4  BA ; # small Ukrainian ye
-
-    A6  B3 ; # small Ukrainian i
-    A7  BF ; # small Ukrainian yi
-
-    AD  B4 ; # small Ukrainian soft g
-    AE  A2 ; # small Byelorussian short u
-
-    B0  B0 ; # &deg;
-
-    B3  A8 ; # capital YO
-    B4  AA ; # capital Ukrainian YE
-
-    B6  B2 ; # capital Ukrainian I
-    B7  AF ; # capital Ukrainian YI
-
-    B9  B9 ; # numero sign
-
-    BD  A5 ; # capital Ukrainian soft G
-    BE  A1 ; # capital Byelorussian short U
-
-    BF  A9 ; # (C)
-
-    C0  FE ; # small yu
-    C1  E0 ; # small a
-    C2  E1 ; # small b
-    C3  F6 ; # small ts
-    C4  E4 ; # small d
-    C5  E5 ; # small ye
-    C6  F4 ; # small f
-    C7  E3 ; # small g
-    C8  F5 ; # small kh
-    C9  E8 ; # small i
-    CA  E9 ; # small j
-    CB  EA ; # small k
-    CC  EB ; # small l
-    CD  EC ; # small m
-    CE  ED ; # small n
-    CF  EE ; # small o
-
-    D0  EF ; # small p
-    D1  FF ; # small ya
-    D2  F0 ; # small r
-    D3  F1 ; # small s
-    D4  F2 ; # small t
-    D5  F3 ; # small u
-    D6  E6 ; # small zh
-    D7  E2 ; # small v
-    D8  FC ; # small soft sign
-    D9  FB ; # small y
-    DA  E7 ; # small z
-    DB  F8 ; # small sh
-    DC  FD ; # small e
-    DD  F9 ; # small shch
-    DE  F7 ; # small ch
-    DF  FA ; # small hard sign
-
-    E0  DE ; # capital YU
-    E1  C0 ; # capital A
-    E2  C1 ; # capital B
-    E3  D6 ; # capital TS
-    E4  C4 ; # capital D
-    E5  C5 ; # capital YE
-    E6  D4 ; # capital F
-    E7  C3 ; # capital G
-    E8  D5 ; # capital KH
-    E9  C8 ; # capital I
-    EA  C9 ; # capital J
-    EB  CA ; # capital K
-    EC  CB ; # capital L
-    ED  CC ; # capital M
-    EE  CD ; # capital N
-    EF  CE ; # capital O
-
-    F0  CF ; # capital P
-    F1  DF ; # capital YA
-    F2  D0 ; # capital R
-    F3  D1 ; # capital S
-    F4  D2 ; # capital T
-    F5  D3 ; # capital U
-    F6  C6 ; # capital ZH
-    F7  C2 ; # capital V
-    F8  DC ; # capital soft sign
-    F9  DB ; # capital Y
-    FA  C7 ; # capital Z
-    FB  D8 ; # capital SH
-    FC  DD ; # capital E
-    FD  D9 ; # capital SHCH
-    FE  D7 ; # capital CH
-    FF  DA ; # capital hard sign
-}

+ 0 - 1080
srv/nginx/mime.types

@@ -1,1080 +0,0 @@
-types {
-application/A2L					a2l;
-application/AML					aml;
-application/andrew-inset			ez;
-application/ATF					atf;
-application/ATFX				atfx;
-application/ATXML				atxml;
-application/atom+xml				atom;
-application/atomcat+xml				atomcat;
-application/atomdeleted+xml			atomdeleted;
-application/atomsvc+xml				atomsvc;
-application/atsc-dwd+xml			dwd;
-application/atsc-held+xml			held;
-application/atsc-rsat+xml			rsat;
-application/auth-policy+xml			apxml;
-application/automationml-amlx+zip   amlx;
-application/bacnet-xdd+zip			xdd;
-application/calendar+xml			xcs;
-application/cbor				cbor;
-application/cccex				c3ex;
-application/ccmp+xml				ccmp;
-application/ccxml+xml				ccxml;
-application/CDFX+XML				cdfx;
-application/cdmi-capability			cdmia;
-application/cdmi-container			cdmic;
-application/cdmi-domain				cdmid;
-application/cdmi-object				cdmio;
-application/cdmi-queue				cdmiq;
-application/CEA					cea;
-application/cellml+xml				cellml cml;
-application/clr                     1clr;
-application/clue_info+xml			clue;
-application/cms					cmsc;
-application/cpl+xml				cpl;
-application/csrattrs				csrattrs;
-application/cwl                     cwl;
-application/cwl+json                cwl.json;
-application/dash+xml				mpd;
-application/dashdelta				mpdd;
-application/davmount+xml			davmount;
-application/DCD					dcd;
-application/dicom				dcm;
-application/DII					dii;
-application/DIT					dit;
-application/dskpp+xml				xmls;
-application/dssc+der				dssc;
-application/dssc+xml				xdssc;
-application/dvcs				dvc;
-application/ecmascript				es;
-application/efi					efi;
-application/emma+xml				emma;
-application/emotionml+xml			emotionml;
-application/epub+zip				epub;
-application/exi					exi;
-application/express             exp;
-application/fastinfoset				finf;
-application/fdt+xml				fdt;
-application/font-tdpfr				pfr;
-application/geo+json				geojson;
-application/geopackage+sqlite3			gpkg;
-application/gltf-buffer				glbin glbuf;
-application/gml+xml				gml;
-application/gzip				gz tgz;
-application/hyperstudio				stk;
-application/inkml+xml				ink inkml;
-application/ipfix				ipfix;
-application/its+xml				its;
-application/java-archive        jar;
-application/jrd+json				jrd;
-application/json				json;
-application/json-patch+json			json-patch;
-application/ld+json				jsonld;
-application/lgr+xml				lgr;
-application/link-format				wlnk;
-application/lost+xml				lostxml;
-application/lostsync+xml			lostsyncxml;
-application/lpf+zip				lpf;
-application/LXF					lxf;
-application/mac-binhex40			hqx;
-application/mads+xml				mads;
-application/manifest+json       webmanifest;
-application/marc				mrc;
-application/marcxml+xml				mrcx;
-application/mathematica				nb ma mb;
-application/mathml+xml				mml;
-application/mbox				mbox;
-application/metalink4+xml			meta4;
-application/mets+xml				mets;
-application/MF4					mf4;
-application/mipc                h5;
-application/mmt-aei+xml				maei;
-application/mmt-usd+xml				musd;
-application/mods+xml				mods;
-application/mp21				m21 mp21;
-application/msword				doc;
-application/mxf					mxf;
-application/n-quads				nq;
-application/n-triples				nt;
-application/ocsp-request			orq;
-application/ocsp-response			ors;
-application/octet-stream		bin lha lzh exe class so dll img iso;
-application/ODA					oda;
-application/ODX					odx;
-application/oebps-package+xml			opf;
-application/ogg					ogx;
-application/opc-nodeset+xml     ;
-application/oxps				oxps;
-application/p21                 p21 stp step stpnc 210 ifc;
-application/p21+zip             stpz;
-application/p2p-overlay+xml			relo;
-application/pdf					pdf;
-application/PDX					pdx;
-application/pem-certificate-chain		pem;
-application/pgp-encrypted			pgp;
-application/pgp-signature			sig;
-application/pkcs10				p10;
-application/pkcs12				p12 pfx;
-application/pkcs7-mime				p7m p7c;
-application/pkcs7-signature			p7s;
-application/pkcs8				p8;
-application/pkcs8-encrypted			p8e;
-application/pkix-cert				cer;
-application/pkix-crl				crl;
-application/pkix-pkipath			pkipath;
-application/pkixcmp				pki;
-application/pls+xml				pls;
-application/postscript				ps eps ai;
-application/provenance+xml			provx;
-application/prs.cww				cw cww;
-application/prs.hpub+zip			hpub;
-application/prs.nprend				rnd rct;
-application/prs.rdf-xml-crypt			rdf-crypt;
-application/prs.xsf+xml				xsf;
-application/pskc+xml				pskcxml;
-application/rdf+xml				rdf;
-application/route-apd+xml			rapd;
-application/route-s-tsid+xml			sls;
-application/route-usd+xml			rusd;
-application/reginfo+xml				rif;
-application/relax-ng-compact-syntax		rnc;
-application/resource-lists-diff+xml		rld;
-application/resource-lists+xml			rl;
-application/rfc+xml				rfcxml;
-application/rls-services+xml			rs;
-application/rpki-ghostbusters			gbr;
-application/rpki-manifest			mft;
-application/rpki-roa				roa;
-application/rtf					rtf;
-application/sarif-external-properties+json sarif-external-properties sarif-external-properties.json;
-application/sarif+json          sarif sarif.json;
-application/scim+json				scim;
-application/scvp-cv-request			scq;
-application/scvp-cv-response			scs;
-application/scvp-vp-request			spq;
-application/scvp-vp-response			spp;
-application/sdp					sdp;
-application/senml-etch+cbor			senml-etchc;
-application/senml-etch+json			senml-etchj;
-application/senml+cbor				senmlc;
-application/senml+json				senml;
-application/senml+xml				senmlx;
-application/senml-exi				senmle;
-application/sensml+cbor				sensmlc;
-application/sensml+json				sensml;
-application/sensml+xml				sensmlx;
-application/sensml-exi				sensmle;
-application/sgml-open-catalog			soc;
-application/shf+xml				shf;
-application/sieve				siv sieve;
-application/simple-filter+xml			cl;
-application/smil+xml				smil smi sml;
-application/sparql-query			rq;
-application/spdx+json                   spdx.json;
-application/sparql-results+xml			srx;
-application/sql					sql;
-application/srgs				gram;
-application/srgs+xml				grxml;
-application/sru+xml				sru;
-application/ssml+xml				ssml;
-application/stix+json				stix;
-application/swid+cbor               coswid;
-application/swid+xml				swidtag;
-application/tamp-apex-update			tau;
-application/tamp-apex-update-confirm		auc;
-application/tamp-community-update		tcu;
-application/tamp-community-update-confirm	cuc;
-application/td+json				jsontd;
-application/tamp-error				ter;
-application/tamp-sequence-adjust		tsa;
-application/tamp-sequence-adjust-confirm	sac;
-application/tamp-update				tur;
-application/tamp-update-confirm			tuc;
-application/tei+xml				tei teiCorpus odd;
-application/thraud+xml				tfi;
-application/timestamp-query			tsq;
-application/timestamp-reply			tsr;
-application/timestamped-data			tsd;
-application/tm+json                 jsontm tm.json tm.jsonld;
-application/trig				trig;
-application/ttml+xml				ttml;
-application/urc-grpsheet+xml			gsheet;
-application/urc-ressheet+xml			rsheet;
-application/urc-targetdesc+xml			td;
-application/urc-uisocketdesc+xml		uis;
-application/vnd.1000minds.decision-model+xml	1km;
-application/vnd.1ob                                 ob;
-application/vnd.3gpp.5gnas              ;
-application/vnd.3gpp.pic-bw-large		plb;
-application/vnd.3gpp.pic-bw-small		psb;
-application/vnd.3gpp.pic-bw-var			pvb;
-application/vnd.3gpp2.sms			sms;
-application/vnd.3gpp2.tcap			tcap;
-application/vnd.3lightssoftware.imagescal	imgcal;
-application/vnd.3M.Post-it-Notes		pwn;
-application/vnd.accpac.simply.aso		aso;
-application/vnd.accpac.simply.imp		imp;
-application/vnd.acucobol			acu;
-application/vnd.acucorp				atc acutc;
-application/vnd.adobe.flash.movie		swf;
-application/vnd.adobe.formscentral.fcdt		fcdt;
-application/vnd.adobe.fxp			fxp fxpl;
-application/vnd.adobe.xdp+xml			xdp;
-application/vnd.afpc.modca			list3820 listafp afp pseg3820;
-application/vnd.afpc.modca-overlay		ovl;
-application/vnd.afpc.modca-pagesegment		psg;
-application/vnd.age                 age;
-application/vnd.ahead.space			ahead;
-application/vnd.airzip.filesecure.azf		azf;
-application/vnd.airzip.filesecure.azs		azs;
-application/vnd.amazon.mobi8-ebook		azw3;
-application/vnd.americandynamics.acc		acc;
-application/vnd.amiga.ami			ami;
-application/vnd.android.ota			ota;
-application/vnd.anki				apkg;
-application/vnd.anser-web-certificate-issue-initiation	cii;
-application/vnd.anser-web-funds-transfer-initiation	fti;
-application/vnd.apache.arrow.file   arrow;
-application/vnd.apache.arrow.stream     arrows;
-application/vnd.apexlang        apexland apex axdl;
-application/vnd.apple.installer+xml		dist distz pkg mpkg;
-application/vnd.apple.keynote			keynote;
-application/vnd.apple.mpegurl			m3u8;
-application/vnd.apple.numbers			numbers;
-application/vnd.apple.pages			pages;
-application/vnd.aristanetworks.swi		swi;
-application/vnd.artisan+json			artisan;
-application/vnd.astraea-software.iota		iota;
-application/vnd.audiograph			aep;
-application/vnd.autopackage			package;
-application/vnd.balsamiq.bmml+xml		bmml;
-application/vnd.banana-accounting		ac2;
-application/vnd.balsamiq.bmpr			bmpr;
-application/vnd.belightsoft.lhzd+zip    lhzd;
-application/vnd.belightsoft.lhzl+zip    lhzl;
-application/vnd.blueice.multipass		mpm;
-application/vnd.bluetooth.ep.oob		ep;
-application/vnd.bluetooth.le.oob		le;
-application/vnd.bmi				bmi;
-application/vnd.businessobjects			rep;
-application/vnd.cendio.thinlinc.clientconf	tlclient;
-application/vnd.chemdraw+xml			cdxml;
-application/vnd.chess-pgn			pgn;
-application/vnd.chipnuts.karaoke-mmd		mmd;
-application/vnd.cinderella			cdy;
-application/vnd.citationstyles.style+xml	csl;
-application/vnd.claymore			cla;
-application/vnd.cloanto.rp9			rp9;
-application/vnd.clonk.c4group			c4g c4d c4f c4p c4u;
-application/vnd.cluetrust.cartomobile-config	c11amc;
-application/vnd.cluetrust.cartomobile-config-pkg	c11amz;
-application/vnd.coffeescript			coffee;
-application/vnd.collabio.xodocuments.document	xodt;
-application/vnd.collabio.xodocuments.document-template	xott;
-application/vnd.collabio.xodocuments.presentation	xodp;
-application/vnd.collabio.xodocuments.presentation-template	xotp;
-application/vnd.collabio.xodocuments.spreadsheet	xods;
-application/vnd.collabio.xodocuments.spreadsheet-template	xots;
-application/vnd.comicbook-rar			cbr;
-application/vnd.comicbook+zip			cbz;
-application/vnd.commerce-battelle	ica icf icd ic0 ic1 ic2 ic3 ic4 ic5 ic6 ic7 ic8;
-application/vnd.commonspace			csp cst;
-application/vnd.contact.cmsg			cdbcmsg;
-application/vnd.coreos.ignition+json		ign ignition;
-application/vnd.cosmocaller			cmc;
-application/vnd.crick.clicker			clkx;
-application/vnd.crick.clicker.keyboard		clkk;
-application/vnd.crick.clicker.palette		clkp;
-application/vnd.crick.clicker.template		clkt;
-application/vnd.crick.clicker.wordbank		clkw;
-application/vnd.criticaltools.wbs+xml		wbs;
-application/vnd.crypto-shade-file		ssvc;
-application/vnd.cryptomator.encrypted   c9r c9s;
-application/vnd.cryptomator.vault       cryptomator;
-application/vnd.ctc-posml			pml;
-application/vnd.cups-ppd			ppd;
-application/vnd.curl				curl;
-application/vnd.dart				dart;
-application/vnd.data-vision.rdz			rdz;
-application/vnd.datalog                 dl;
-application/vnd.dbf				dbf;
-application/vnd.debian.binary-package		deb udeb;
-application/vnd.dece.data			uvf uvvf uvd uvvd;
-application/vnd.dece.ttml+xml			uvt uvvt;
-application/vnd.dece.unspecified		uvx uvvx;
-application/vnd.dece.zip			uvz uvvz;
-application/vnd.denovo.fcselayout-link		fe_launch;
-application/vnd.desmume.movie			dsm;
-application/vnd.dna				dna;
-application/vnd.document+json			docjson;
-application/vnd.doremir.scorecloud-binary-document	scld;
-application/vnd.dpgraph				dpg mwc dpgraph;
-application/vnd.dreamfactory			dfac;
-application/vnd.dtg.local.flash			fla;
-application/vnd.dvb.ait				ait;
-application/vnd.dvb.service			svc;
-application/vnd.dynageo				geo;
-application/vnd.dzr				dzr;
-application/vnd.ecowin.chart			mag;
-application/vnd.eln+zip             eln;
-application/vnd.enliven				nml;
-application/vnd.epson.esf			esf;
-application/vnd.epson.msf			msf;
-application/vnd.epson.quickanime		qam;
-application/vnd.epson.salt			slt;
-application/vnd.epson.ssf			ssf;
-application/vnd.ericsson.quickcall		qcall qca;
-application/vnd.espass-espass+zip		espass;
-application/vnd.eszigno3+xml			es3 et3;
-application/vnd.etsi.asic-e+zip			asice sce;
-application/vnd.etsi.asic-s+zip			asics;
-application/vnd.etsi.timestamp-token		tst;
-application/vnd.eu.kasparian.car+json       carjson;
-application/vnd.exstream-empower+zip		mpw;
-application/vnd.exstream-package		pub;
-application/vnd.evolv.ecig.profile		ecigprofile;
-application/vnd.evolv.ecig.settings		ecig;
-application/vnd.evolv.ecig.theme		ecigtheme;
-application/vnd.ezpix-album			ez2;
-application/vnd.ezpix-package			ez3;
-application/vnd.fastcopy-disk-image		dim;
-application/vnd.familysearch.gedcom+zip     gdz;
-application/vnd.fdf				fdf;
-application/vnd.fdsn.mseed			msd mseed;
-application/vnd.fdsn.seed			seed dataless;
-application/vnd.ficlab.flb+zip			flb;
-application/vnd.filmit.zfc			zfc;
-application/vnd.FloGraphIt			gph;
-application/vnd.fluxtime.clip			ftc;
-application/vnd.font-fontforge-sfd		sfd;
-application/vnd.framemaker			fm;
-application/vnd.frogans.fnc			fnc;
-application/vnd.frogans.ltf			ltf;
-application/vnd.fsc.weblaunch			fsc;
-application/vnd.fujitsu.oasys			oas;
-application/vnd.fujitsu.oasys2			oa2;
-application/vnd.fujitsu.oasys3			oa3;
-application/vnd.fujitsu.oasysgp			fg5;
-application/vnd.fujitsu.oasysprs		bh2;
-application/vnd.fujixerox.ddd			ddd;
-application/vnd.fujixerox.docuworks     xdw;
-application/vnd.fujixerox.docuworks.binder      xbd;
-application/vnd.fujixerox.docuworks.container       xct;
-application/vnd.fuzzysheet			fzs;
-application/vnd.genomatix.tuxedo		txd;
-application/vnd.genozip                 genozip;
-application/vnd.gentoo.ebuild           ebuild;
-application/vnd.gentoo.eclass           eclass;
-application/vnd.gentoo.gpkg             gpkg.tar;
-application/vnd.gentoo.xpak             tbz2 xpak;
-application/vnd.geocube+xml			g3 g³;
-application/vnd.geogebra.file			ggb;
-application/vnd.geogebra.slides         ggs;
-application/vnd.geogebra.tool			ggt;
-application/vnd.geometry-explorer		gex gre;
-application/vnd.geonext				gxt;
-application/vnd.geoplan				g2w;
-application/vnd.geospace			g3w;
-application/vnd.gmx				gmx;
-application/vnd.google-earth.kml+xml		kml;
-application/vnd.google-earth.kmz		kmz;
-application/vnd.grafeq				gqf gqs;
-application/vnd.groove-account			gac;
-application/vnd.groove-help			ghf;
-application/vnd.groove-identity-message		gim;
-application/vnd.groove-injector			grv;
-application/vnd.groove-tool-message		gtm;
-application/vnd.groove-tool-template		tpl;
-application/vnd.groove-vcard			vcg;
-application/vnd.hal+xml				hal;
-application/vnd.HandHeld-Entertainment+xml	zmm;
-application/vnd.hbci				hbci hbc kom upa pkd bpd;
-application/vnd.hdt				hdt;
-application/vnd.hhe.lesson-player		les;
-application/vnd.hp-HPGL				hpgl;
-application/vnd.hp-hpid				hpi hpid;
-application/vnd.hp-hps				hps;
-application/vnd.hp-jlyt				jlt;
-application/vnd.hp-PCL				pcl;
-application/vnd.hsl                 hsl;
-application/vnd.hydrostatix.sof-data		sfd-hdstx;
-application/vnd.hzn-3d-crossword		x3d;
-application/vnd.ibm.electronic-media		emm;
-application/vnd.ibm.MiniPay			mpy;
-application/vnd.ibm.rights-management		irm;
-application/vnd.ibm.secure-container		sc;
-application/vnd.iccprofile			icc icm;
-application/vnd.ieee.1905			1905.1;
-application/vnd.igloader			igl;
-application/vnd.imagemeter.folder+zip		imf;
-application/vnd.imagemeter.image+zip		imi;
-application/vnd.immervision-ivp			ivp;
-application/vnd.immervision-ivu			ivu;
-application/vnd.ims.imsccv1p1			imscc;
-application/vnd.insors.igm			igm;
-application/vnd.intercon.formnet		xpw xpx;
-application/vnd.intergeo			i2g;
-application/vnd.intu.qbo			qbo;
-application/vnd.intu.qfx			qfx;
-application/vnd.ipld.car            car;
-application/vnd.ipunplugged.rcprofile		rcprofile;
-application/vnd.irepository.package+xml		irp;
-application/vnd.is-xpr				xpr;
-application/vnd.isac.fcs			fcs;
-application/vnd.jam				jam;
-application/vnd.jcp.javame.midlet-rms		rms;
-application/vnd.jisp				jisp;
-application/vnd.joost.joda-archive		joda;
-application/vnd.kahootz				ktz ktr;
-application/vnd.kde.karbon			karbon;
-application/vnd.kde.kchart			chrt;
-application/vnd.kde.kformula			kfo;
-application/vnd.kde.kivio			flw;
-application/vnd.kde.kontour			kon;
-application/vnd.kde.kpresenter			kpr kpt;
-application/vnd.kde.kspread			ksp;
-application/vnd.kde.kword			kwd kwt;
-application/vnd.kenameaapp			htke;
-application/vnd.kidspiration			kia;
-application/vnd.Kinar				kne knp sdf;
-application/vnd.koan				skp skd skm skt;
-application/vnd.kodak-descriptor		sse;
-application/vnd.las                 las;
-application/vnd.las.las+json			lasjson;
-application/vnd.las.las+xml			lasxml;
-application/vnd.llamagraphics.life-balance.desktop	lbd;
-application/vnd.llamagraphics.life-balance.exchange+xml	lbe;
-application/vnd.logipipe.circuit+zip		lcs lca;
-application/vnd.loom				loom;
-application/vnd.lotus-1-2-3			123 wk4 wk3 wk1;
-application/vnd.lotus-approach			apr vew;
-application/vnd.lotus-freelance			prz pre;
-application/vnd.lotus-notes			nsf ntf ndl ns4 ns3 ns2 nsh nsg;
-application/vnd.lotus-organizer			or3 or2 org;
-application/vnd.lotus-screencam			scm;
-application/vnd.lotus-wordpro			lwp sam;
-application/vnd.macports.portpkg		portpkg;
-application/vnd.mapbox-vector-tile		mvt;
-application/vnd.marlin.drm.mdcf			mdc;
-application/vnd.maxar.archive.3tz+zip   3tz;
-application/vnd.maxmind.maxmind-db		mmdb;
-application/vnd.mcd				mcd;
-application/vnd.mdl             mdl;
-application/vnd.mdl-mbsdf       mbsdf;
-application/vnd.medcalcdata			mc1;
-application/vnd.mediastation.cdkey		cdkey;
-application/vnd.medicalholodeck.recordxr    rxr;
-application/vnd.MFER				mwf;
-application/vnd.mfmp				mfm;
-application/vnd.micrografx.flo			flo;
-application/vnd.micrografx.igx			igx;
-application/vnd.mif				mif;
-application/vnd.Mobius.DAF			daf;
-application/vnd.Mobius.DIS			dis;
-application/vnd.Mobius.MBK			mbk;
-application/vnd.Mobius.MQY			mqy;
-application/vnd.Mobius.MSL			msl;
-application/vnd.Mobius.PLC			plc;
-application/vnd.Mobius.TXF			txf;
-application/vnd.modl                modl;
-application/vnd.mophun.application		mpn;
-application/vnd.mophun.certificate		mpc;
-application/vnd.mozilla.xul+xml			xul;
-application/vnd.ms-3mfdocument			3mf;
-application/vnd.ms-artgalry			cil;
-application/vnd.ms-asf				asf;
-application/vnd.ms-cab-compressed		cab;
-application/vnd.ms-excel			xls xlm xla xlc xlt xlw;
-application/vnd.ms-excel.template.macroEnabled.12	xltm;
-application/vnd.ms-excel.addin.macroEnabled.12	xlam;
-application/vnd.ms-excel.sheet.binary.macroEnabled.12	xlsb;
-application/vnd.ms-excel.sheet.macroEnabled.12	xlsm;
-application/vnd.ms-fontobject			eot;
-application/vnd.ms-htmlhelp			chm;
-application/vnd.ms-ims				ims;
-application/vnd.ms-lrm				lrm;
-application/vnd.ms-officetheme			thmx;
-application/vnd.ms-powerpoint			ppt pps pot;
-application/vnd.ms-powerpoint.addin.macroEnabled.12	ppam;
-application/vnd.ms-powerpoint.presentation.macroEnabled.12	pptm;
-application/vnd.ms-powerpoint.slide.macroEnabled.12	sldm;
-application/vnd.ms-powerpoint.slideshow.macroEnabled.12	ppsm;
-application/vnd.ms-powerpoint.template.macroEnabled.12	potm;
-application/vnd.ms-project			mpp mpt;
-application/vnd.ms-tnef				tnef tnf;
-application/vnd.ms-word.document.macroEnabled.12	docm;
-application/vnd.ms-word.template.macroEnabled.12	dotm;
-application/vnd.ms-works			wcm wdb wks wps;
-application/vnd.ms-wpl				wpl;
-application/vnd.ms-xpsdocument			xps;
-application/vnd.msa-disk-image			msa;
-application/vnd.mseq				mseq;
-application/vnd.multiad.creator			crtr;
-application/vnd.multiad.creator.cif		cif;
-application/vnd.musician			mus;
-application/vnd.muvee.style			msty;
-application/vnd.mynfc				taglet;
-application/vnd.nebumind.line       nebul line;
-application/vnd.nervana				entity request bkm kcm;
-application/vnd.nimn				nimn;
-application/vnd.nitf				nitf;
-application/vnd.neurolanguage.nlu		nlu;
-application/vnd.nintendo.nitro.rom		nds;
-application/vnd.nintendo.snes.rom		sfc smc;
-application/vnd.noblenet-directory		nnd;
-application/vnd.noblenet-sealer			nns;
-application/vnd.noblenet-web			nnw;
-application/vnd.nokia.n-gage.ac+xml		ac;
-application/vnd.nokia.n-gage.data		ngdat;
-application/vnd.nokia.n-gage.symbian.install	n-gage;
-application/vnd.nokia.radio-preset		rpst;
-application/vnd.nokia.radio-presets		rpss;
-application/vnd.novadigm.EDM			edm;
-application/vnd.novadigm.EDX			edx;
-application/vnd.novadigm.EXT			ext;
-application/vnd.oasis.opendocument.base             odb;
-application/vnd.oasis.opendocument.chart			odc;
-application/vnd.oasis.opendocument.chart-template		otc;
-application/vnd.oasis.opendocument.formula			odf;
-application/vnd.oasis.opendocument.graphics			odg;
-application/vnd.oasis.opendocument.graphics-template		otg;
-application/vnd.oasis.opendocument.image			odi;
-application/vnd.oasis.opendocument.image-template		oti;
-application/vnd.oasis.opendocument.presentation			odp;
-application/vnd.oasis.opendocument.presentation-template	otp;
-application/vnd.oasis.opendocument.spreadsheet			ods;
-application/vnd.oasis.opendocument.spreadsheet-template		ots;
-application/vnd.oasis.opendocument.text				odt;
-application/vnd.oasis.opendocument.text-master			odm;
-application/vnd.oasis.opendocument.text-master-template otm;
-application/vnd.oasis.opendocument.text-template		ott;
-application/vnd.oasis.opendocument.text-web			oth;
-application/vnd.olpc-sugar			xo;
-application/vnd.oma.dd2+xml			dd2;
-application/vnd.onepager			tam;
-application/vnd.onepagertamp			tamp;
-application/vnd.onepagertamx			tamx;
-application/vnd.onepagertat			tat;
-application/vnd.onepagertatp			tatp;
-application/vnd.onepagertatx			tatx;
-application/vnd.openblox.game+xml		obgx;
-application/vnd.openblox.game-binary		obg;
-application/vnd.openeye.oeb			oeb;
-application/vnd.openofficeorg.extension		oxt;
-application/vnd.openstreetmap.data+xml		osm;
-application/vnd.openxmlformats-officedocument.presentationml.presentation pptx;
-application/vnd.openxmlformats-officedocument.presentationml.slide	sldx;
-application/vnd.openxmlformats-officedocument.presentationml.slideshow	ppsx;
-application/vnd.openxmlformats-officedocument.presentationml.template	potx;
-application/vnd.openxmlformats-officedocument.spreadsheetml.sheet	xlsx;
-application/vnd.openxmlformats-officedocument.spreadsheetml.template	xltx;
-application/vnd.openxmlformats-officedocument.wordprocessingml.document	docx;
-application/vnd.openxmlformats-officedocument.wordprocessingml.template	dotx;
-application/vnd.osa.netdeploy			ndc;
-application/vnd.osgeo.mapguide.package		mgp;
-application/vnd.osgi.dp				dp;
-application/vnd.osgi.subsystem			esa;
-application/vnd.oxli.countgraph			oxlicg;
-application/vnd.palm				prc pdb pqa oprc;
-application/vnd.panoply				plp;
-application/vnd.patentdive			dive;
-application/vnd.pawaafile			paw;
-application/vnd.pg.format		    	str;
-application/vnd.pg.osasli			ei6;
-application/vnd.piaccess.application-licence	pil;
-application/vnd.picsel				efif;
-application/vnd.pmi.widget			wg;
-application/vnd.pocketlearn			plf;
-application/vnd.powerbuilder6			pbd;
-application/vnd.preminet			preminet;
-application/vnd.previewsystems.box		box vbox;
-application/vnd.proteus.magazine		mgz;
-application/vnd.psfs				psfs;
-application/vnd.publishare-delta-tree		qps;
-application/vnd.pvi.ptid1			ptid;
-application/vnd.qualcomm.brew-app-res		bar;
-application/vnd.Quark.QuarkXPress		qxd qxt qwd qwt qxl qxb;
-application/vnd.quobject-quoxdocument		quox quiz;
-application/vnd.rainstor.data			tree;
-application/vnd.rar				rar;
-application/vnd.realvnc.bed			bed;
-application/vnd.recordare.musicxml		mxl;
-application/vnd.resilient.logic         rlm reload;
-application/vnd.rig.cryptonote			cryptonote;
-application/vnd.route66.link66+xml		link66;
-application/vnd.sailingtracker.track		st;
-application/vnd.sar				SAR;
-application/vnd.scribus				scd sla slaz;
-application/vnd.sealed.3df			s3df;
-application/vnd.sealed.csf			scsf;
-application/vnd.sealed.doc			sdoc sdo s1w;
-application/vnd.sealed.eml			seml sem;
-application/vnd.sealed.mht			smht smh;
-application/vnd.sealed.ppt			sppt s1p;
-application/vnd.sealed.tiff			stif;
-application/vnd.sealed.xls			sxls sxl s1e;
-application/vnd.sealedmedia.softseal.html	stml s1h;
-application/vnd.sealedmedia.softseal.pdf	spdf spd s1a;
-application/vnd.seemail				see;
-application/vnd.sema				sema;
-application/vnd.semd				semd;
-application/vnd.semf				semf;
-application/vnd.shade-save-file			ssv;
-application/vnd.shana.informed.formdata		ifm;
-application/vnd.shana.informed.formtemplate	itp;
-application/vnd.shana.informed.interchange	iif;
-application/vnd.shana.informed.package		ipk;
-application/vnd.shp				shp;
-application/vnd.shx				shx;
-application/vnd.sigrok.session			sr;
-application/vnd.SimTech-MindMapper		twd twds;
-application/vnd.smaf				mmf;
-application/vnd.smart.notebook			notebook;
-application/vnd.smart.teacher			teacher;
-application/vnd.smintio.portals.archive sipa;
-application/vnd.snesdev-page-table		ptrom pt;
-application/vnd.software602.filler.form+xml	fo;
-application/vnd.software602.filler.form-xml-zip	zfo;
-application/vnd.solent.sdkm+xml			sdkm sdkd;
-application/vnd.spotfire.dxp			dxp;
-application/vnd.spotfire.sfs			sfs;
-application/vnd.sqlite3				sqlite sqlite3;
-application/vnd.stepmania.package		smzip;
-application/vnd.stepmania.stepchart		sm;
-application/vnd.sun.wadl+xml			wadl;
-application/vnd.sus-calendar			sus susp;
-application/vnd.sybyl.mol2          ml2 mol2 sy2;
-application/vnd.sycle+xml           scl;
-application/vnd.syft+json           syft.json;
-application/vnd.syncml+xml			xsm;
-application/vnd.syncml.dm+wbxml			bdm;
-application/vnd.syncml.dm+xml			xdm;
-application/vnd.syncml.dmddf+xml		ddf;
-application/vnd.tao.intent-module-archive	tao;
-application/vnd.tcpdump.pcap			pcap cap dmp;
-application/vnd.theqvd				qvd;
-application/vnd.think-cell.ppttc+json		ppttc;
-application/vnd.tml				vfr viaframe;
-application/vnd.tmobile-livetv			tmo;
-application/vnd.trid.tpt			tpt;
-application/vnd.triscape.mxs			mxs;
-application/vnd.trueapp				tra;
-application/vnd.ufdl				ufdl ufd frm;
-application/vnd.uiq.theme			utz;
-application/vnd.umajin				umj;
-application/vnd.unity				unityweb;
-application/vnd.uoml+xml			uoml uo;
-application/vnd.uri-map				urim urimap;
-application/vnd.valve.source.material		vmt;
-application/vnd.vcx				vcx;
-application/vnd.vd-study			mxi study-inter model-inter;
-application/vnd.vectorworks			vwx;
-application/vnd.veritone.aion+json  aion vtnstd;
-application/vnd.veryant.thin			istc isws;
-application/vnd.ves.encrypted			VES;
-application/vnd.vidsoft.vidconference		vsc;
-application/vnd.visio				vsd vst vsw vss;
-application/vnd.visionary			vis;
-application/vnd.vsf				vsf;
-application/vnd.wap.sic				sic;
-application/vnd.wap.slc				slc;
-application/vnd.wap.wbxml			wbxml;
-application/vnd.wap.wmlc			wmlc;
-application/vnd.wap.wmlscriptc			wmlsc;
-application/vnd.wasmflow.wafl       wafl;
-application/vnd.webturbo			wtb;
-application/vnd.wfa.p2p				p2p;
-application/vnd.wfa.wsc				wsc;
-application/vnd.wmc				wmc;
-application/vnd.wolfram.mathematica.package	m;
-application/vnd.wolfram.player			nbp;
-application/vnd.wordperfect			wpd;
-application/vnd.wqd				wqd;
-application/vnd.wt.stf				stf;
-application/vnd.wv.csp+wbxml			wv;
-application/vnd.xara				xar;
-application/vnd.xfdl				xfdl xfd;
-application/vnd.xmpie.cpkg			cpkg;
-application/vnd.xmpie.dpkg			dpkg;
-application/vnd.xmpie.ppkg			ppkg;
-application/vnd.xmpie.xlim			xlim;
-application/vnd.yamaha.hv-dic			hvd;
-application/vnd.yamaha.hv-script		hvs;
-application/vnd.yamaha.hv-voice			hvp;
-application/vnd.yamaha.openscoreformat		osf;
-application/vnd.yamaha.smaf-audio		saf;
-application/vnd.yamaha.smaf-phrase		spf;
-application/vnd.yaoweme				yme;
-application/vnd.yellowriver-custom-menu		cmp;
-application/vnd.zul				zir zirz;
-application/vnd.zzazz.deck+xml			zaz;
-application/voicexml+xml			vxml;
-application/voucher-cms+json			vcj;
-application/wasm                    wasm;
-application/watcherinfo+xml			wif;
-application/widget				wgt;
-application/wsdl+xml				wsdl;
-application/wspolicy+xml			wspolicy;
-application/xcap-att+xml			xav;
-application/xcap-caps+xml			xca;
-application/xcap-diff+xml			xdf;
-application/xcap-el+xml				xel;
-application/xcap-error+xml			xer;
-application/xcap-ns+xml				xns;
-application/xfdf                    xfdf;
-application/xhtml+xml				xhtml xhtm xht;
-application/xliff+xml				xlf;
-application/xml-dtd				dtd;
-application/xop+xml				xop;
-application/xslt+xml				xsl xslt;
-application/xv+xml				mxml xhvml xvml xvm;
-application/yang				yang;
-application/yin+xml				yin;
-application/zip					zip;
-application/zstd				zst;
-audio/32kadpcm					726;
-audio/aac					adts aac ass;
-audio/ac3					ac3;
-audio/AMR					amr;
-audio/AMR-WB					awb;
-audio/asc					acn;
-audio/ATRAC-ADVANCED-LOSSLESS			aal;
-audio/ATRAC-X					atx;
-audio/ATRAC3					at3 aa3 omg;
-audio/basic					au snd;
-audio/dls					dls;
-audio/EVRC					evc;
-audio/EVRCB					evb;
-audio/EVRCNW					enw;
-audio/EVRCWB					evw;
-audio/iLBC					lbc;
-audio/L16					l16;
-audio/mhas					mhas;
-audio/mobile-xmf				mxmf;
-audio/mp4					m4a;
-audio/mpeg					mp3 mpga mp1 mp2;
-audio/ogg					oga ogg opus spx;
-audio/prs.sid					sid psid;
-audio/QCELP					qcp;
-audio/SMV					smv;
-audio/sofa                  sofa;
-audio/usac					loas xhe;
-audio/vnd.audiokoz				koz;
-audio/vnd.dece.audio				uva uvva;
-audio/vnd.digital-winds				eol;
-audio/vnd.dolby.mlp				mlp;
-audio/vnd.dts					dts;
-audio/vnd.dts.hd				dtshd;
-audio/vnd.everad.plj				plj;
-audio/vnd.lucent.voice				lvp;
-audio/vnd.ms-playready.media.pya		pya;
-audio/vnd.nortel.vbk				vbk;
-audio/vnd.nuera.ecelp4800			ecelp4800;
-audio/vnd.nuera.ecelp7470			ecelp7470;
-audio/vnd.nuera.ecelp9600			ecelp9600;
-audio/vnd.presonus.multitrack			multitrack;
-audio/vnd.rip					rip;
-audio/vnd.sealedmedia.softseal.mpeg		smp3 smp s1m;
-font/collection					ttc;
-font/otf					otf;
-font/ttf					ttf;
-font/woff					woff;
-font/woff2					woff2;
-image/aces					exr;
-image/avci					avci;
-image/avcs					avcs;
-image/avif                  avif hif;
-image/bmp					bmp dib;
-image/cgm					cgm;
-image/dicom-rle					drle;
-image/dpx                   dpx;
-image/emf					emf;
-image/fits					fits fit fts;
-image/heic					heic;
-image/heic-sequence				heics;
-image/heif					heif;
-image/heif-sequence				heifs;
-image/hej2k					hej2;
-image/hsj2					hsj2;
-image/gif					gif;
-image/ief					ief;
-image/jls					jls;
-image/jp2					jp2 jpg2;
-image/jph					jph;
-image/jphc					jhc;
-image/jpeg					jpg jpeg jpe jfif;
-image/jpm					jpm jpgm;
-image/jpx					jpx jpf;
-image/jxl                   jxl;
-image/jxr					jxr;
-image/jxrA					jxra;
-image/jxrS					jxrs;
-image/jxs					jxs;
-image/jxsc					jxsc;
-image/jxsi					jxsi;
-image/jxss					jxss;
-image/ktx					ktx;
-image/ktx2                  ktx2;
-image/png					png;
-image/prs.btif					btif btf;
-image/prs.pti					pti;
-image/svg+xml					svg svgz;
-image/t38					t38;
-image/tiff					tiff tif;
-image/tiff-fx					tfx;
-image/vnd.adobe.photoshop			psd;
-image/vnd.airzip.accelerator.azv		azv;
-image/vnd.dece.graphic				uvi uvvi uvg uvvg;
-image/vnd.djvu					djvu djv;
-image/vnd.dwg					dwg;
-image/vnd.dxf					dxf;
-image/vnd.fastbidsheet				fbs;
-image/vnd.fpx					fpx;
-image/vnd.fst					fst;
-image/vnd.fujixerox.edmics-mmr			mmr;
-image/vnd.fujixerox.edmics-rlc			rlc;
-image/vnd.globalgraphics.pgb			pgb;
-image/vnd.microsoft.icon			ico;
-image/vnd.mozilla.apng				apng;
-image/vnd.ms-modi				mdi;
-image/vnd.pco.b16               b16;
-image/vnd.radiance				hdr rgbe xyze;
-image/vnd.sealed.png				spng spn s1n;
-image/vnd.sealedmedia.softseal.gif		sgif sgi s1g;
-image/vnd.sealedmedia.softseal.jpg		sjpg sjp s1j;
-image/vnd.tencent.tap				tap;
-image/vnd.valve.source.texture			vtf;
-image/vnd.wap.wbmp				wbmp;
-image/vnd.xiff					xif;
-image/vnd.zbrush.pcx				pcx;
-image/wmf					wmf;
-message/global					u8msg;
-message/global-delivery-status			u8dsn;
-message/global-disposition-notification		u8mdn;
-message/global-headers				u8hdr;
-message/rfc822					eml mail art;
-model/gltf-binary				glb;
-model/gltf+json					gltf;
-model/JT                        jt;
-model/iges					igs iges;
-model/mesh					msh mesh silo;
-model/mtl					mtl;
-model/obj					obj;
-model/step+xml              stpx;
-model/step-xml+zip          stpxz;
-model/stl					stl;
-model/u3d                   u3d;
-model/vnd.bary              bary;
-model/vnd.cld               cld;
-model/vnd.collada+xml				dae;
-model/vnd.dwf					dwf;
-model/vnd.gdl					gdl gsm win dor lmp rsm msm ism;
-model/vnd.gtw					gtw;
-model/vnd.moml+xml				moml;
-model/vnd.mts					mts;
-model/vnd.opengex				ogex;
-model/vnd.parasolid.transmit.binary		x_b xmt_bin;
-model/vnd.parasolid.transmit.text		x_t xmt_txt;
-model/vnd.pytha.pyox            pyo pyox;
-model/vnd.sap.vds               vds;
-model/vnd.usda                  usda;
-model/vnd.usdz+zip				usdz;
-model/vnd.valve.source.compiled-map		bsp;
-model/vnd.vtu					vtu;
-model/vrml					wrl vrml;
-model/x3d+xml					x3db;
-model/x3d-vrml					x3dv x3dvz;
-multipart/vnd.bint.med-plus			bmed;
-multipart/voice-message				vpm;
-text/cache-manifest				appcache manifest;
-text/calendar					ics ifb;
-text/cql                    CQL;
-text/css					css;
-text/csv					csv;
-text/csv-schema					csvs;
-text/dns					soa zone;
-text/gff3                   gff3;
-text/html					html htm;
-text/javascript                 js mjs;
-text/jcr-cnd					cnd;
-text/markdown					markdown md;
-text/mizar					miz;
-text/n3						n3;
-text/plain		txt asc text pm el c h cc hh cxx hxx f90 conf log;
-text/provenance-notation			provn;
-text/prs.fallenstein.rst			rst;
-text/prs.lines.tag				tag dsc;
-text/richtext					rtx;
-text/SGML					sgml sgm;
-text/shaclc                 shaclc shc;
-text/shex                   shex;
-text/spdx                   spdx;
-text/tab-separated-values			tsv;
-text/troff					t tr roff;
-text/turtle					ttl;
-text/uri-list					uris uri;
-text/vcard					vcf vcard;
-text/vnd.a					a;
-text/vnd.abc					abc;
-text/vnd.ascii-art				ascii;
-text/vnd.debian.copyright			copyright;
-text/vnd.DMClientScript				dms;
-text/vnd.dvb.subtitle				sub;
-text/vnd.esmertec.theme-descriptor		jtd;
-text/vnd.exchangeable           vfk;
-text/vnd.familysearch.gedcom    ged;
-text/vnd.ficlab.flt				flt;
-text/vnd.fly					fly;
-text/vnd.fmi.flexstor				flx;
-text/vnd.graphviz				gv dot;
-text/vnd.hans                   hans;
-text/vnd.hgl					hgl;
-text/vnd.in3d.3dml				3dml 3dm;
-text/vnd.in3d.spot				spot spo;
-text/vnd.ms-mediapackage			mpf;
-text/vnd.net2phone.commcenter.command		ccc;
-text/vnd.senx.warpscript			mc2;
-text/vnd.si.uricatalogue			uric;
-text/vnd.sun.j2me.app-descriptor		jad;
-text/vnd.sosi					sos;
-text/vnd.trolltech.linguist			ts;
-text/vnd.wap.si					si;
-text/vnd.wap.sl					sl;
-text/vnd.wap.wml				wml;
-text/vnd.wap.wmlscript				wmls;
-text/vtt					vtt;
-text/wgsl                   wgsl;
-text/xml					xml xsd rng;
-text/xml-external-parsed-entity			ent;
-video/3gpp					3gp 3gpp;
-video/3gpp2					3g2 3gpp2;
-video/iso.segment				m4s;
-video/mj2					mj2 mjp2;
-video/mp4					mp4 mpg4 m4v;
-video/mpeg					mpeg mpg mpe m1v m2v;
-video/ogg					ogv;
-video/quicktime					mov qt;
-video/vnd.dece.hd				uvh uvvh;
-video/vnd.dece.mobile				uvm uvvm;
-video/vnd.dece.mp4				uvu uvvu;
-video/vnd.dece.pd				uvp uvvp;
-video/vnd.dece.sd				uvs uvvs;
-video/vnd.dece.video				uvv uvvv;
-video/vnd.dvb.file				dvb;
-video/vnd.fvt					fvt;
-video/vnd.mpegurl				mxu m4u;
-video/vnd.ms-playready.media.pyv		pyv;
-video/vnd.nokia.interleaved-multimedia		nim;
-video/vnd.radgamettools.bink			bik bk2;
-video/vnd.radgamettools.smacker			smk;
-video/vnd.sealed.mpeg1				smpg s11;
-video/vnd.sealed.mpeg4				s14;
-video/vnd.sealed.swf				sswf ssw;
-video/vnd.sealedmedia.softseal.mov		smov smo s1q;
-video/vnd.youtube.yt				yt;
-video/vnd.vivo					viv;
-application/mac-compactpro			cpt;
-application/metalink+xml			metalink;
-application/owl+xml				owx;
-application/rss+xml				rss;
-application/vnd.android.package-archive		apk;
-application/vnd.oma.dd+xml			dd;
-application/vnd.oma.drm.content			dcf;
-application/vnd.oma.drm.dcf			o4a o4v;
-application/vnd.oma.drm.message			dm;
-application/vnd.oma.drm.rights+wbxml		drc;
-application/vnd.oma.drm.rights+xml		dr;
-application/vnd.sun.xml.calc			sxc;
-application/vnd.sun.xml.calc.template		stc;
-application/vnd.sun.xml.draw			sxd;
-application/vnd.sun.xml.draw.template		std;
-application/vnd.sun.xml.impress			sxi;
-application/vnd.sun.xml.impress.template	sti;
-application/vnd.sun.xml.math			sxm;
-application/vnd.sun.xml.writer			sxw;
-application/vnd.sun.xml.writer.global		sxg;
-application/vnd.sun.xml.writer.template		stw;
-application/vnd.symbian.install			sis;
-application/vnd.wap.mms-message			mms;
-application/x-annodex				anx;
-application/x-bcpio				bcpio;
-application/x-bittorrent			torrent;
-application/x-bzip2				bz2;
-application/x-cdlink				vcd;
-application/x-chrome-extension			crx;
-application/x-cpio				cpio;
-application/x-csh				csh;
-application/x-director				dcr dir dxr;
-application/x-dvi				dvi;
-application/x-futuresplash			spl;
-application/x-gtar				gtar;
-application/x-hdf				hdf;
-application/x-java-jnlp-file			jnlp;
-application/x-java-pack200			pack;
-application/x-killustrator			kil;
-application/x-latex				latex;
-application/x-netcdf				nc cdf;
-application/x-perl				pl;
-application/x-rpm				rpm;
-application/x-sh				sh;
-application/x-shar				shar;
-application/x-stuffit				sit;
-application/x-sv4cpio				sv4cpio;
-application/x-sv4crc				sv4crc;
-application/x-tar				tar;
-application/x-tcl				tcl;
-application/x-tex				tex;
-application/x-texinfo				texinfo texi;
-application/x-troff-man				man 1 2 3 4 5 6 7 8;
-application/x-troff-me				me;
-application/x-troff-ms				ms;
-application/x-ustar				ustar;
-application/x-wais-source			src;
-application/x-xpinstall				xpi;
-application/x-xspf+xml				xspf;
-application/x-xz				xz;
-audio/midi					mid midi kar;
-audio/x-aiff					aif aiff aifc;
-audio/x-annodex					axa;
-audio/x-flac					flac;
-audio/x-matroska				mka;
-audio/x-mod					mod ult uni m15 mtm 669 med;
-audio/x-mpegurl					m3u;
-audio/x-ms-wax					wax;
-audio/x-ms-wma					wma;
-audio/x-pn-realaudio				ram rm;
-audio/x-realaudio				ra;
-audio/x-s3m					s3m;
-audio/x-stm					stm;
-audio/x-wav					wav;
-chemical/x-xyz					xyz;
-image/webp					webp;
-image/x-cmu-raster				ras;
-image/x-portable-anymap				pnm;
-image/x-portable-bitmap				pbm;
-image/x-portable-graymap			pgm;
-image/x-portable-pixmap				ppm;
-image/x-rgb					rgb;
-image/x-targa					tga;
-image/x-xbitmap					xbm;
-image/x-xpixmap					xpm;
-image/x-xwindowdump				xwd;
-text/html-sandboxed				sandboxed;
-text/x-pod					pod;
-text/x-setext					etx;
-video/webm					webm;
-video/x-annodex					axv;
-video/x-flv					flv;
-video/x-javafx					fxm;
-video/x-matroska				mkv;
-video/x-matroska-3d				mk3d;
-video/x-ms-asf					asx;
-video/x-ms-wm					wm;
-video/x-ms-wmv					wmv;
-video/x-ms-wmx					wmx;
-video/x-ms-wvx					wvx;
-video/x-msvideo					avi;
-video/x-sgi-movie				movie;
-x-conference/x-cooltalk				ice;
-x-epoc/x-sisx-app				sisx;
-}

+ 0 - 55
srv/nginx/nginx.conf

@@ -1,55 +0,0 @@
-user root root;
-worker_processes 1;
-worker_rlimit_nofile 20000;
-error_log  /var/log/nginx/error.log  notice;
-
-events {
-    use epoll;
-    worker_connections 20000;
-    multi_accept on;
-}
-
-http {
-    include mime.types;
-    default_type application/octet-stream;
-    
-    log_format main
-	    	 '{"time_iso8601":"$time_iso8601",'
-                 '"remote_addr":"$remote_addr",'
-                 '"request":"$request",'
-                 '"status":$status,'
-                 '"request_method": "$request_method",'
-                 '"body_bytes_sent":$body_bytes_sent,'
-                 '"request_time":$request_time,'
-                 '"upstream_response_time":$upstream_response_time,'
-                 '"upstream_addr":"$upstream_addr",'
-                 '"host":"$host",'
-                 '"url":"$uri",'
-                 '"http_x_forwarded_for":"$http_x_forwarded_for",'
-                 '"http_referer":"$http_referer",'
-                 '"http_user_agent":"$http_user_agent"}';
-
-    
-    sendfile on;
-    tcp_nopush on;
-    tcp_nodelay on;
-    server_tokens off;
-    types_hash_max_size 4096;
-    server_names_hash_bucket_size 128;
-    
-    keepalive_timeout 0;
-    client_max_body_size 0;
-
-    gzip on;
-    gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png application/vnd.ms-fontobject font/ttf font/opentype font/x-woff image/svg+xml;
-    gzip_min_length 1k;
-    gzip_comp_level 1;
-    gzip_buffers 32 4k;
-
-    map $http_connection $connection_upgrade {
-        "~*Upgrade" $http_connection;
-        default keep-alive;
-    }
-
-    include conf.d/*.conf;
-}

+ 0 - 17
srv/nginx/scgi_params

@@ -1,17 +0,0 @@
-
-scgi_param  REQUEST_METHOD     $request_method;
-scgi_param  REQUEST_URI        $request_uri;
-scgi_param  QUERY_STRING       $query_string;
-scgi_param  CONTENT_TYPE       $content_type;
-
-scgi_param  DOCUMENT_URI       $document_uri;
-scgi_param  DOCUMENT_ROOT      $document_root;
-scgi_param  SCGI               1;
-scgi_param  SERVER_PROTOCOL    $server_protocol;
-scgi_param  REQUEST_SCHEME     $scheme;
-scgi_param  HTTPS              $https if_not_empty;
-
-scgi_param  REMOTE_ADDR        $remote_addr;
-scgi_param  REMOTE_PORT        $remote_port;
-scgi_param  SERVER_PORT        $server_port;
-scgi_param  SERVER_NAME        $server_name;

+ 0 - 17
srv/nginx/uwsgi_params

@@ -1,17 +0,0 @@
-
-uwsgi_param  QUERY_STRING       $query_string;
-uwsgi_param  REQUEST_METHOD     $request_method;
-uwsgi_param  CONTENT_TYPE       $content_type;
-uwsgi_param  CONTENT_LENGTH     $content_length;
-
-uwsgi_param  REQUEST_URI        $request_uri;
-uwsgi_param  PATH_INFO          $document_uri;
-uwsgi_param  DOCUMENT_ROOT      $document_root;
-uwsgi_param  SERVER_PROTOCOL    $server_protocol;
-uwsgi_param  REQUEST_SCHEME     $scheme;
-uwsgi_param  HTTPS              $https if_not_empty;
-
-uwsgi_param  REMOTE_ADDR        $remote_addr;
-uwsgi_param  REMOTE_PORT        $remote_port;
-uwsgi_param  SERVER_PORT        $server_port;
-uwsgi_param  SERVER_NAME        $server_name;

+ 0 - 126
srv/nginx/win-utf

@@ -1,126 +0,0 @@
-
-# This map is not a full windows-1251 <> utf8 map: it does not
-# contain Serbian and Macedonian letters.  If you need a full map,
-# use contrib/unicode2nginx/win-utf map instead.
-
-charset_map  windows-1251  utf-8 {
-
-    82  E2809A ; # single low-9 quotation mark
-
-    84  E2809E ; # double low-9 quotation mark
-    85  E280A6 ; # ellipsis
-    86  E280A0 ; # dagger
-    87  E280A1 ; # double dagger
-    88  E282AC ; # euro
-    89  E280B0 ; # per mille
-
-    91  E28098 ; # left single quotation mark
-    92  E28099 ; # right single quotation mark
-    93  E2809C ; # left double quotation mark
-    94  E2809D ; # right double quotation mark
-    95  E280A2 ; # bullet
-    96  E28093 ; # en dash
-    97  E28094 ; # em dash
-
-    99  E284A2 ; # trade mark sign
-
-    A0  C2A0 ;   # &nbsp;
-    A1  D18E ;   # capital Byelorussian short U
-    A2  D19E ;   # small Byelorussian short u
-
-    A4  C2A4 ;   # currency sign
-    A5  D290 ;   # capital Ukrainian soft G
-    A6  C2A6 ;   # borken bar
-    A7  C2A7 ;   # section sign
-    A8  D081 ;   # capital YO
-    A9  C2A9 ;   # (C)
-    AA  D084 ;   # capital Ukrainian YE
-    AB  C2AB ;   # left-pointing double angle quotation mark
-    AC  C2AC ;   # not sign
-    AD  C2AD ;   # soft hyphen
-    AE  C2AE ;   # (R)
-    AF  D087 ;   # capital Ukrainian YI
-
-    B0  C2B0 ;   # &deg;
-    B1  C2B1 ;   # plus-minus sign
-    B2  D086 ;   # capital Ukrainian I
-    B3  D196 ;   # small Ukrainian i
-    B4  D291 ;   # small Ukrainian soft g
-    B5  C2B5 ;   # micro sign
-    B6  C2B6 ;   # pilcrow sign
-    B7  C2B7 ;   # &middot;
-    B8  D191 ;   # small yo
-    B9  E28496 ; # numero sign
-    BA  D194 ;   # small Ukrainian ye
-    BB  C2BB ;   # right-pointing double angle quotation mark
-
-    BF  D197 ;   # small Ukrainian yi
-
-    C0  D090 ;   # capital A
-    C1  D091 ;   # capital B
-    C2  D092 ;   # capital V
-    C3  D093 ;   # capital G
-    C4  D094 ;   # capital D
-    C5  D095 ;   # capital YE
-    C6  D096 ;   # capital ZH
-    C7  D097 ;   # capital Z
-    C8  D098 ;   # capital I
-    C9  D099 ;   # capital J
-    CA  D09A ;   # capital K
-    CB  D09B ;   # capital L
-    CC  D09C ;   # capital M
-    CD  D09D ;   # capital N
-    CE  D09E ;   # capital O
-    CF  D09F ;   # capital P
-
-    D0  D0A0 ;   # capital R
-    D1  D0A1 ;   # capital S
-    D2  D0A2 ;   # capital T
-    D3  D0A3 ;   # capital U
-    D4  D0A4 ;   # capital F
-    D5  D0A5 ;   # capital KH
-    D6  D0A6 ;   # capital TS
-    D7  D0A7 ;   # capital CH
-    D8  D0A8 ;   # capital SH
-    D9  D0A9 ;   # capital SHCH
-    DA  D0AA ;   # capital hard sign
-    DB  D0AB ;   # capital Y
-    DC  D0AC ;   # capital soft sign
-    DD  D0AD ;   # capital E
-    DE  D0AE ;   # capital YU
-    DF  D0AF ;   # capital YA
-
-    E0  D0B0 ;   # small a
-    E1  D0B1 ;   # small b
-    E2  D0B2 ;   # small v
-    E3  D0B3 ;   # small g
-    E4  D0B4 ;   # small d
-    E5  D0B5 ;   # small ye
-    E6  D0B6 ;   # small zh
-    E7  D0B7 ;   # small z
-    E8  D0B8 ;   # small i
-    E9  D0B9 ;   # small j
-    EA  D0BA ;   # small k
-    EB  D0BB ;   # small l
-    EC  D0BC ;   # small m
-    ED  D0BD ;   # small n
-    EE  D0BE ;   # small o
-    EF  D0BF ;   # small p
-
-    F0  D180 ;   # small r
-    F1  D181 ;   # small s
-    F2  D182 ;   # small t
-    F3  D183 ;   # small u
-    F4  D184 ;   # small f
-    F5  D185 ;   # small kh
-    F6  D186 ;   # small ts
-    F7  D187 ;   # small ch
-    F8  D188 ;   # small sh
-    F9  D189 ;   # small shch
-    FA  D18A ;   # small hard sign
-    FB  D18B ;   # small y
-    FC  D18C ;   # small soft sign
-    FD  D18D ;   # small e
-    FE  D18E ;   # small yu
-    FF  D18F ;   # small ya
-}

+ 36 - 0
srv/rabbitmq/docker-compose.yml

@@ -0,0 +1,36 @@
+services:
+  rabbitmq:
+    image: registry.cn-chengdu.aliyuncs.com/reghao/rabbitmq:3.13.7-management-alpine
+    container_name: rabbitmq
+    restart: always
+    volumes:
+      - /etc/localtime:/etc/localtime:ro
+      # 将当前目录下的 data 文件夹映射到容器
+      - /opt/docker/rabbitmq/data:/var/lib/rabbitmq
+      - /opt/docker/rabbitmq/log:/var/log/rabbitmq
+    environment:
+      # 指定账号密码
+      - RABBITMQ_DEFAULT_USER=test
+      - RABBITMQ_DEFAULT_PASS=Test_123456
+      # 重点:设置内存高水位线。
+      # 0.4 表示当 RabbitMQ 使用超过总内存(1GB)的 40% 时,将触发流动控制。
+      # 在 1G 环境下,建议设为 0.4 (400MB),留出空间给 Erlang VM 和 OS 缓存。
+      - RABBITMQ_VM_MEMORY_HIGH_WATERMARK_RELATIVE=0.4
+      # 磁盘报警:剩余空间小于 2GB 时阻塞
+      - RABBITMQ_DISK_FREE_ABSOLUTE_LIMIT=2GB
+    ports:
+      - "5672:5672"
+      - "15672:15672"
+    deploy:
+      resources:
+        limits:
+          cpus: '1.0'
+          memory: 1024M
+        reservations:
+          cpus: '0.1'
+          memory: 512M
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"   # 单个日志文件最大 100MB
+        max-file: "3"      # 最多保留 3 个归档文件(总共约 300MB)

+ 13 - 0
srv/rabbitmq/init_rabbitmq.sh

@@ -0,0 +1,13 @@
+#!/bin/bash
+
+echo "init rabbitmq..."
+base_dir='/opt/docker/rabbitmq'
+if [ -d ${base_dir} ]; then
+    echo ${base_dir}"已存在, 删除后重新创建..."
+    rm -rf ${base_dir}
+fi
+
+mkdir -p ${base_dir}
+chmod -R go+w ${base_dir}
+
+docker compose up -d

+ 11 - 0
srv/rabbitmq/rabbitmq.md

@@ -0,0 +1,11 @@
+默认帐号密码
+```
+帐号: azy
+密码: 12345678
+```
+
+启动 rabbitmq
+```
+docker compose up -d
+```
+> 默认使用 docker-compose.yml 配置文件

+ 0 - 11
srv/redis.conf

@@ -1,11 +0,0 @@
-port 6379
-bind 0.0.0.0
-requirepass Dev@123456
-
-save 900 1
-save 300 10
-save 60 10000
-stop-writes-on-bgsave-error yes
-rdbcompression yes
-rdbchecksum yes
-dbfilename dump.rdb

+ 36 - 0
srv/redis/docker-compose.yml

@@ -0,0 +1,36 @@
+services:
+  redis:
+    image: registry.cn-chengdu.aliyuncs.com/reghao/redis:6.0.16-bullseye
+    container_name: redis-server
+    restart: always
+    command: >
+      redis-server
+      --requirepass Test_123456
+      --notify-keyspace-events KEA
+      --maxmemory 768mb
+      --maxmemory-policy allkeys-lru
+      --appendonly yes
+      --save 900 1
+      --save 300 10
+    ports:
+      - "6379:6379"
+    volumes:
+      - /etc/localtime:/etc/localtime:ro
+      - /opt/docker/redis/data:/data
+    # 资源限制策略
+    deploy:
+      resources:
+        limits:
+          cpus: '1.0'
+          memory: 1024M
+        reservations:
+          cpus: '0.1'
+          memory: 256M
+    # 网络优化:增加最大连接数
+    sysctls:
+      net.core.somaxconn: 1024
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"   # 单个日志文件最大 100MB
+        max-file: "3"      # 最多保留 3 个归档文件(总共约 300MB)

+ 13 - 0
srv/redis/init_redis.sh

@@ -0,0 +1,13 @@
+#!/bin/bash
+
+echo "init redis..."
+base_dir='/opt/docker/redis'
+if [ -d ${base_dir} ]; then
+    echo ${base_dir}"已存在, 删除后重新创建..."
+    rm -rf ${base_dir}
+fi
+
+mkdir -p ${base_dir}
+chmod -R go+w ${base_dir}
+
+docker compose up -d

+ 10 - 0
srv/redis/redis.md

@@ -0,0 +1,10 @@
+默认帐号密码
+```
+密码: Azy_123456
+```
+
+启动 redis
+```
+docker compose up -d
+```
+> 默认使用 docker-compose.yml 配置文件

+ 0 - 273
srv/schema/tnb_account_tdb.sql

@@ -1,273 +0,0 @@
-/*
- Navicat Premium Data Transfer
-
- Source Server         : mysql-210
- Source Server Type    : MySQL
- Source Server Version : 50732
- Source Host           : 192.168.0.149:3306
- Source Schema         : tnb_account_rdb
-
- Target Server Type    : MySQL
- Target Server Version : 50732
- File Encoding         : 65001
-
- Date: 15/01/2026 15:44:29
-*/
-
-SET NAMES utf8mb4;
-SET FOREIGN_KEY_CHECKS = 0;
-
--- ----------------------------
--- Table structure for account_user_account
--- ----------------------------
-DROP TABLE IF EXISTS `account_user_account`;
-CREATE TABLE `account_user_account` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `user_id` bigint(20) NOT NULL COMMENT '用户 ID, 全局唯一',
-  `username` varchar(255) NOT NULL COMMENT '用户名, 全局唯一',
-  `mobile` varchar(13) DEFAULT NULL COMMENT '手机号, 全局唯一',
-  `encoded_password` varchar(255) NOT NULL,
-  `salt` varchar(255) NOT NULL,
-  `create_at` datetime(6) NOT NULL COMMENT '帐号创建时间',
-  `enabled` bit(1) NOT NULL COMMENT 'spring-security 字段',
-  `locked` bit(1) NOT NULL COMMENT 'spring-security 字段',
-  `screen_name` varchar(255) NOT NULL,
-  `avatar_url` varchar(255) NOT NULL,
-  `email` varchar(255) NOT NULL COMMENT '邮箱, 全局唯一',
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `user_id` (`user_id`) USING BTREE,
-  UNIQUE KEY `username` (`username`) USING BTREE,
-  UNIQUE KEY `index_screen_name` (`screen_name`),
-  UNIQUE KEY `email` (`email`) USING BTREE,
-  UNIQUE KEY `mobile` (`mobile`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户帐号';
-
--- ----------------------------
--- Table structure for account_user_login
--- ----------------------------
-DROP TABLE IF EXISTS `account_user_login`;
-CREATE TABLE `account_user_login` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `login_id` varchar(255) NOT NULL,
-  `user_id` bigint(20) NOT NULL,
-  `login_type` int(11) NOT NULL,
-  `user_agent` text NOT NULL,
-  `login_ip` varchar(255) NOT NULL,
-  `login_at` bigint(20) NOT NULL COMMENT 'ms 时间戳',
-  `plat` int(11) NOT NULL,
-  `remember_me` tinyint(1) NOT NULL,
-  `success` tinyint(1) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `login_id` (`login_id`),
-  KEY `user_id` (`user_id`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户登录记录';
-
--- ----------------------------
--- Table structure for account_user_registry
--- ----------------------------
-DROP TABLE IF EXISTS `account_user_registry`;
-CREATE TABLE `account_user_registry` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `enabled` bit(1) NOT NULL COMMENT '是否开放注册',
-  `captcha_code` varchar(255) NOT NULL,
-  `enable_captcha` bit(1) NOT NULL,
-  `verify_code` varchar(255) NOT NULL,
-  `enable_verify` bit(1) NOT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='帐号开放注册规则';
-
--- ----------------------------
--- Table structure for account_user_role
--- ----------------------------
-DROP TABLE IF EXISTS `account_user_role`;
-CREATE TABLE `account_user_role` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `user_id` bigint(20) NOT NULL,
-  `name` varchar(255) NOT NULL,
-  PRIMARY KEY (`id`) USING BTREE,
-  UNIQUE KEY `user_id_2` (`user_id`,`name`),
-  KEY `name` (`name`) USING BTREE,
-  KEY `user_id` (`user_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户帐号拥有的角色';
-
--- ----------------------------
--- Table structure for message_email_account
--- ----------------------------
-DROP TABLE IF EXISTS `message_email_account`;
-CREATE TABLE `message_email_account` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `smtp` varchar(255) NOT NULL,
-  `username` varchar(255) NOT NULL,
-  `password` varchar(255) NOT NULL,
-  `personal` varchar(255) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `username` (`username`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-
--- ----------------------------
--- Table structure for message_user_message
--- ----------------------------
-DROP TABLE IF EXISTS `message_user_message`;
-CREATE TABLE `message_user_message` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `msg_type` int(11) NOT NULL,
-  `message_id` bigint(20) NOT NULL,
-  `title` varchar(255) NOT NULL,
-  `content` varchar(255) NOT NULL,
-  `unread` bit(1) NOT NULL,
-  `user_id` bigint(20) NOT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户消息';
-
--- ----------------------------
--- Table structure for message_webhook
--- ----------------------------
-DROP TABLE IF EXISTS `message_webhook`;
-CREATE TABLE `message_webhook` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `create_time` datetime(6) NOT NULL,
-  `deleted` bit(1) NOT NULL,
-  `update_time` datetime(6) NOT NULL,
-  `name` varchar(255) NOT NULL,
-  `url` varchar(255) NOT NULL,
-  `sign` varchar(255) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `UK_gpaf6ryyim70bbv5jfnopn2i7` (`name`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='webhook 通知';
-
--- ----------------------------
--- Table structure for user_contact
--- ----------------------------
-DROP TABLE IF EXISTS `user_contact`;
-CREATE TABLE `user_contact` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `friend_id` bigint(20) NOT NULL,
-  `remark_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '备注名',
-  `status` int(10) NOT NULL COMMENT '关系状态',
-  `owner` bigint(20) NOT NULL,
-  PRIMARY KEY (`id`),
-  KEY `user_id` (`owner`) USING BTREE,
-  KEY `friend_id` (`friend_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='联系人';
-
--- ----------------------------
--- Table structure for user_contact_record
--- ----------------------------
-DROP TABLE IF EXISTS `user_contact_record`;
-CREATE TABLE `user_contact_record` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `apply_id` bigint(20) NOT NULL,
-  `apply_user` bigint(20) NOT NULL,
-  `applied_user` bigint(20) NOT NULL,
-  `friend_status` int(10) NOT NULL,
-  `apply_status` int(10) NOT NULL,
-  `remark` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
-  PRIMARY KEY (`id`),
-  KEY `user_id` (`apply_user`) USING BTREE,
-  KEY `friend_id` (`applied_user`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='联系人申请记录';
-
--- ----------------------------
--- Table structure for user_profile
--- ----------------------------
-DROP TABLE IF EXISTS `user_profile`;
-CREATE TABLE `user_profile` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `user_id` bigint(20) NOT NULL,
-  `gender` varchar(255) NOT NULL,
-  `signature` varchar(255) NOT NULL COMMENT '用户自我介绍',
-  `following` int(11) NOT NULL,
-  `follower` int(11) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `user_id` (`user_id`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户信息';
-
--- ----------------------------
--- Table structure for user_relation
--- ----------------------------
-DROP TABLE IF EXISTS `user_relation`;
-CREATE TABLE `user_relation` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL,
-  `create_time` datetime(6) NOT NULL ON UPDATE CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL ON UPDATE CURRENT_TIMESTAMP(6),
-  `user_id` bigint(20) NOT NULL,
-  `following_id` bigint(20) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `user_id` (`user_id`,`following_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户关系';
-
--- ----------------------------
--- Table structure for user_vip
--- ----------------------------
-DROP TABLE IF EXISTS `user_vip`;
-CREATE TABLE `user_vip` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `user_id` bigint(20) NOT NULL COMMENT '用户 ID',
-  `expire_at` bigint(20) NOT NULL COMMENT 'VIP 用户过期时间',
-  `rcmd_mode` int(11) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `user_id` (`user_id`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='小会员用户';
-
--- ----------------------------
--- Table structure for user_wallet_bill
--- ----------------------------
-DROP TABLE IF EXISTS `user_wallet_bill`;
-CREATE TABLE `user_wallet_bill` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `type` int(11) NOT NULL COMMENT '1 - 收入, 2 - 支出',
-  `quantity` double NOT NULL,
-  `create_at` datetime(6) NOT NULL,
-  `owner` bigint(20) NOT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户钱包账单';
-
--- ----------------------------
--- Table structure for user_wallet_charge
--- ----------------------------
-DROP TABLE IF EXISTS `user_wallet_charge`;
-CREATE TABLE `user_wallet_charge` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `charge_id` bigint(20) NOT NULL,
-  `quantity` double NOT NULL,
-  `owner` bigint(20) NOT NULL,
-  `status` int(11) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `owner` (`charge_id`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户钱包充值';
-
-SET FOREIGN_KEY_CHECKS = 1;

+ 0 - 770
srv/schema/tnb_content_tdb.sql

@@ -1,770 +0,0 @@
-/*
- Navicat Premium Data Transfer
-
- Source Server         : mysql-210
- Source Server Type    : MySQL
- Source Server Version : 50732
- Source Host           : 192.168.0.149:3306
- Source Schema         : tnb_content_rdb
-
- Target Server Type    : MySQL
- Target Server Version : 50732
- File Encoding         : 65001
-
- Date: 15/01/2026 15:44:39
-*/
-
-SET NAMES utf8mb4;
-SET FOREIGN_KEY_CHECKS = 0;
-
--- ----------------------------
--- Table structure for blog_about_view
--- ----------------------------
-DROP TABLE IF EXISTS `blog_about_view`;
-CREATE TABLE `blog_about_view` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `create_time` datetime(6) NOT NULL,
-  `deleted` bit(1) NOT NULL,
-  `update_time` datetime(6) NOT NULL,
-  `content` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
-  `title` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
-
--- ----------------------------
--- Table structure for blog_article
--- ----------------------------
-DROP TABLE IF EXISTS `blog_article`;
-CREATE TABLE `blog_article` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `create_time` datetime(6) NOT NULL,
-  `deleted` bit(1) NOT NULL,
-  `update_time` datetime(6) NOT NULL,
-  `article_id` varchar(255) NOT NULL,
-  `category_id` int(11) NOT NULL,
-  `content` text NOT NULL,
-  `editor` varchar(255) NOT NULL,
-  `excerpt` varchar(255) NOT NULL,
-  `publish_at` datetime(6) NOT NULL,
-  `published` bit(1) NOT NULL,
-  `title` varchar(255) NOT NULL,
-  `owner` bigint(20) DEFAULT NULL,
-  `owner_id` int(11) DEFAULT NULL,
-  `weight` int(11) DEFAULT NULL,
-  `post_type` int(11) DEFAULT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `UK_7a346qtf7s4mi59cq6eq3bgoe` (`article_id`),
-  KEY `FKnji2jikxh7lkxhgoadgesxpct` (`owner_id`),
-  CONSTRAINT `FKnji2jikxh7lkxhgoadgesxpct` FOREIGN KEY (`owner_id`) REFERENCES `sys_user` (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-
--- ----------------------------
--- Table structure for blog_article_tag
--- ----------------------------
-DROP TABLE IF EXISTS `blog_article_tag`;
-CREATE TABLE `blog_article_tag` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `create_time` datetime(6) NOT NULL,
-  `deleted` bit(1) NOT NULL,
-  `update_time` datetime(6) NOT NULL,
-  `article_id` varchar(255) NOT NULL,
-  `tag_id` int(11) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `article_id` (`article_id`,`tag_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-
--- ----------------------------
--- Table structure for blog_article_view
--- ----------------------------
-DROP TABLE IF EXISTS `blog_article_view`;
-CREATE TABLE `blog_article_view` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `create_time` datetime(6) NOT NULL,
-  `deleted` bit(1) NOT NULL,
-  `update_time` datetime(6) NOT NULL,
-  `article_id` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
-  `request_id` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
-  `session_id` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
-
--- ----------------------------
--- Table structure for blog_category
--- ----------------------------
-DROP TABLE IF EXISTS `blog_category`;
-CREATE TABLE `blog_category` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `create_time` datetime(6) NOT NULL,
-  `deleted` bit(1) NOT NULL,
-  `update_time` datetime(6) NOT NULL,
-  `name` varchar(255) NOT NULL,
-  `type` int(11) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `UK_46ccwnsi9409t36lurvtyljak` (`name`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-
--- ----------------------------
--- Table structure for blog_question
--- ----------------------------
-DROP TABLE IF EXISTS `blog_question`;
-CREATE TABLE `blog_question` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `create_time` datetime(6) NOT NULL,
-  `deleted` bit(1) NOT NULL,
-  `update_time` datetime(6) NOT NULL,
-  `category_id` int(11) NOT NULL,
-  `content` text COLLATE utf8mb4_bin,
-  `owner` bigint(20) DEFAULT NULL,
-  `publish_at` datetime(6) NOT NULL,
-  `question_id` varchar(255) COLLATE utf8mb4_bin NOT NULL,
-  `tag` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
-  `title` varchar(255) COLLATE utf8mb4_bin NOT NULL,
-  `weight` int(11) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `UK_4r5x0ds8h0pv2hxoy7bbe0miq` (`question_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
-
--- ----------------------------
--- Table structure for blog_question1
--- ----------------------------
-DROP TABLE IF EXISTS `blog_question1`;
-CREATE TABLE `blog_question1` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `create_time` datetime(6) NOT NULL,
-  `deleted` bit(1) NOT NULL,
-  `update_time` datetime(6) NOT NULL,
-  `category_id` int(11) NOT NULL,
-  `content` text,
-  `publish_at` datetime(6) NOT NULL,
-  `question_id` varchar(255) NOT NULL,
-  `tag` varchar(255) DEFAULT NULL,
-  `title` varchar(255) NOT NULL,
-  `owner` bigint(20) DEFAULT NULL,
-  `owner_id` int(11) DEFAULT NULL,
-  `weight` int(11) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `UK_488pr2mfs6ye2bjlwf0pbcynf` (`question_id`),
-  KEY `FKruq0rciiv2u9do75lmxrniv2c` (`owner_id`),
-  CONSTRAINT `FKruq0rciiv2u9do75lmxrniv2c` FOREIGN KEY (`owner_id`) REFERENCES `sys_user` (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-
--- ----------------------------
--- Table structure for disk_album
--- ----------------------------
-DROP TABLE IF EXISTS `disk_album`;
-CREATE TABLE `disk_album` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` tinyint(1) NOT NULL DEFAULT '0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `album_id` bigint(20) NOT NULL,
-  `album_name` varchar(255) NOT NULL,
-  `file_type` int(11) NOT NULL,
-  `cover_file_id` varchar(255) NOT NULL,
-  `num` int(11) NOT NULL,
-  `create_at` bigint(20) NOT NULL,
-  `create_by` bigint(20) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `UK_rfuvf3osnlaakifjdao0a8e2x` (`album_id`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='网盘相册';
-
--- ----------------------------
--- Table structure for disk_album_file
--- ----------------------------
-DROP TABLE IF EXISTS `disk_album_file`;
-CREATE TABLE `disk_album_file` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `album_id` bigint(20) NOT NULL,
-  `sha256sum` varchar(255) NOT NULL,
-  `pos` int(11) NOT NULL,
-  PRIMARY KEY (`id`),
-  KEY `album_id` (`album_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='网盘相册中的文件';
-
--- ----------------------------
--- Table structure for disk_cam_device
--- ----------------------------
-DROP TABLE IF EXISTS `disk_cam_device`;
-CREATE TABLE `disk_cam_device` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `cam_id` bigint(20) NOT NULL,
-  `cam_name` varchar(255) NOT NULL,
-  `state` int(11) NOT NULL,
-  `add_at` datetime(6) NOT NULL,
-  `add_by` bigint(20) NOT NULL,
-  `push_url` varchar(255) DEFAULT NULL,
-  `pull_url` varchar(255) DEFAULT NULL,
-  `device_id` varchar(255) DEFAULT NULL,
-  `online` bit(1) DEFAULT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `favlist_id` (`cam_id`),
-  UNIQUE KEY `UK_s2qsleagsnky42h7gomb5lmf9` (`device_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='摄像头';
-
--- ----------------------------
--- Table structure for disk_cam_record
--- ----------------------------
-DROP TABLE IF EXISTS `disk_cam_record`;
-CREATE TABLE `disk_cam_record` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `cam_id` bigint(20) NOT NULL,
-  `record_id` bigint(20) NOT NULL,
-  `video_file_id` varchar(255) NOT NULL COMMENT 'object_id',
-  `cover_url` varchar(255) DEFAULT NULL,
-  `start_at` datetime(6) NOT NULL,
-  `duration` int(11) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `record_id` (`record_id`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='摄像头录像记录';
-
--- ----------------------------
--- Table structure for disk_file
--- ----------------------------
-DROP TABLE IF EXISTS `disk_file`;
-CREATE TABLE `disk_file` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `channel_code` int(11) NOT NULL,
-  `file_id` varchar(255) NOT NULL COMMENT 'oss 的 object_id',
-  `pid` varchar(255) NOT NULL,
-  `path` varchar(255) NOT NULL,
-  `filename` varchar(255) NOT NULL,
-  `file_type` int(11) NOT NULL,
-  `sha256sum` varchar(255) NOT NULL,
-  `size` bigint(20) NOT NULL,
-  `owner` bigint(20) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `UK_db0vg67wc61jnlo7nesm0ulbg` (`file_id`) USING BTREE,
-  KEY `path` (`path`),
-  KEY `sha256sum` (`sha256sum`),
-  KEY `owner` (`owner`),
-  KEY `file_type` (`file_type`),
-  KEY `pid` (`pid`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='网盘文件';
-
--- ----------------------------
--- Table structure for disk_share
--- ----------------------------
-DROP TABLE IF EXISTS `disk_share`;
-CREATE TABLE `disk_share` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` tinyint(1) NOT NULL DEFAULT '0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `share_id` bigint(20) NOT NULL,
-  `album_type` int(11) NOT NULL,
-  `album_id` bigint(20) NOT NULL,
-  `create_at` bigint(20) NOT NULL,
-  `create_by` bigint(20) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `UK_rfuvf3osnlaakifjdao0a8e2x` (`share_id`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='网盘分享';
-
--- ----------------------------
--- Table structure for disk_share_to
--- ----------------------------
-DROP TABLE IF EXISTS `disk_share_to`;
-CREATE TABLE `disk_share_to` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `share_id` bigint(20) NOT NULL,
-  `user_id` bigint(20) NOT NULL,
-  PRIMARY KEY (`id`),
-  KEY `UK_rfuvf3osnlaakifjdao0a8e2x` (`share_id`) USING BTREE,
-  KEY `user_id` (`user_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='网盘被分享用户';
-
--- ----------------------------
--- Table structure for disk_user_activity
--- ----------------------------
-DROP TABLE IF EXISTS `disk_user_activity`;
-CREATE TABLE `disk_user_activity` (
-  `id` varchar(255) COLLATE utf8mb4_bin NOT NULL,
-  `activity` int(11) DEFAULT NULL,
-  `create_time` datetime(6) DEFAULT NULL,
-  `create_by` int(11) DEFAULT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='用户活动';
-
--- ----------------------------
--- Table structure for file_job_detail
--- ----------------------------
-DROP TABLE IF EXISTS `file_job_detail`;
-CREATE TABLE `file_job_detail` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `job_id` bigint(20) NOT NULL,
-  `job_name` varchar(255) NOT NULL,
-  `status` int(11) NOT NULL,
-  `start_at` datetime(6) NOT NULL,
-  `end_at` datetime(6) DEFAULT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `oss_type` (`job_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='任务详情';
-
--- ----------------------------
--- Table structure for file_local_file
--- ----------------------------
-DROP TABLE IF EXISTS `file_local_file`;
-CREATE TABLE `file_local_file` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL,
-  `create_time` datetime(6) NOT NULL,
-  `update_time` datetime(6) NOT NULL,
-  `object_name` varchar(255) NOT NULL,
-  `object_id` varchar(255) NOT NULL,
-  `absolute_path` varchar(255) NOT NULL,
-  `sha256sum` varchar(255) NOT NULL,
-  `filename` varchar(255) NOT NULL,
-  `content_type` varchar(255) NOT NULL,
-  `file_type` int(11) NOT NULL,
-  `size` bigint(20) NOT NULL,
-  `owner` int(11) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `UK_db0vg67wc61jnlo7nesm0ulbg` (`object_id`),
-  UNIQUE KEY `UK_iyqdutum15wj3lc4u15dakbs2` (`object_name`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-
--- ----------------------------
--- Table structure for file_store_node
--- ----------------------------
-DROP TABLE IF EXISTS `file_store_node`;
-CREATE TABLE `file_store_node` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `node_addr` varchar(255) NOT NULL,
-  `http_port` int(11) NOT NULL,
-  `rpc_port` int(11) NOT NULL,
-  `enabled` bit(1) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `UK_1wxd94v6bxoaaxci2c9plth54` (`node_addr`,`http_port`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-
--- ----------------------------
--- Table structure for file_store_volume
--- ----------------------------
-DROP TABLE IF EXISTS `file_store_volume`;
-CREATE TABLE `file_store_volume` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `store_dir` varchar(255) NOT NULL,
-  `store_node_id` int(11) NOT NULL,
-  `name` varchar(255) NOT NULL,
-  `volume` varchar(255) NOT NULL,
-  `mount_point` varchar(255) NOT NULL,
-  `fs_type` varchar(255) NOT NULL,
-  `block_id` varchar(255) NOT NULL,
-  `total_space` bigint(20) NOT NULL,
-  `avail_space` bigint(20) NOT NULL,
-  `total_inode` bigint(20) NOT NULL,
-  `avail_inode` bigint(20) NOT NULL,
-  PRIMARY KEY (`id`),
-  KEY `FK1kcrqmowoyk62q46kslo9bh9f` (`store_node_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-
--- ----------------------------
--- Table structure for file_upload_channel
--- ----------------------------
-DROP TABLE IF EXISTS `file_upload_channel`;
-CREATE TABLE `file_upload_channel` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `user_node_id` int(11) NOT NULL,
-  `channel_code` int(11) NOT NULL,
-  `name` varchar(255) NOT NULL,
-  `prefix` varchar(255) NOT NULL,
-  `max_size` bigint(20) NOT NULL,
-  `file_type` int(11) NOT NULL,
-  `scope` int(11) NOT NULL,
-  `set_url` bit(1) NOT NULL,
-  `set_callback` bit(1) NOT NULL,
-  `enabled` bit(1) NOT NULL,
-  `create_by` int(11) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `prefix` (`prefix`,`user_node_id`) USING BTREE,
-  UNIQUE KEY `user_node_id` (`user_node_id`,`channel_code`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-
--- ----------------------------
--- Table structure for file_user_key
--- ----------------------------
-DROP TABLE IF EXISTS `file_user_key`;
-CREATE TABLE `file_user_key` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `access_key_id` varchar(255) NOT NULL,
-  `access_key_secret` varchar(255) NOT NULL,
-  `create_by` int(11) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `UK_b19uph22ddqmlfck521k6yao5` (`access_key_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-
--- ----------------------------
--- Table structure for file_user_node
--- ----------------------------
-DROP TABLE IF EXISTS `file_user_node`;
-CREATE TABLE `file_user_node` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `store_node_id` int(11) NOT NULL,
-  `domain` varchar(255) NOT NULL,
-  `protocol` varchar(255) NOT NULL,
-  `referer` varchar(255) NOT NULL,
-  `secret_key` varchar(255) NOT NULL,
-  `create_by` int(11) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `domain` (`domain`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-
--- ----------------------------
--- Table structure for search_wenshu_doc
--- ----------------------------
-DROP TABLE IF EXISTS `search_wenshu_doc`;
-CREATE TABLE `search_wenshu_doc` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `create_time` datetime(6) NOT NULL,
-  `deleted` bit(1) NOT NULL,
-  `update_time` datetime(6) NOT NULL,
-  `case_id` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
-  `case_name` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
-  `case_type` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
-  `case_type_id` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
-  `cause` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
-  `court` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
-  `judgment_date` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
-  `original_url` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
-  `parties` text COLLATE utf8mb4_bin,
-  `procedures` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
-  `public_date` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
-  `region` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
-  `wenshu_id` bigint(20) DEFAULT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `UK_63xcr8vbrobc2wpauyptej0d` (`wenshu_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
-
--- ----------------------------
--- Table structure for search_wenshu_legals
--- ----------------------------
-DROP TABLE IF EXISTS `search_wenshu_legals`;
-CREATE TABLE `search_wenshu_legals` (
-  `wenshu_doc_id` int(11) NOT NULL,
-  `legal_basis` text COLLATE utf8mb4_bin,
-  KEY `FK3j21a8x2jltc4obypgjcblgox` (`wenshu_doc_id`),
-  CONSTRAINT `FK3j21a8x2jltc4obypgjcblgox` FOREIGN KEY (`wenshu_doc_id`) REFERENCES `search_wenshu_doc` (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
-
--- ----------------------------
--- Table structure for vod_banner_video
--- ----------------------------
-DROP TABLE IF EXISTS `vod_banner_video`;
-CREATE TABLE `vod_banner_video` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `create_at` bigint(20) NOT NULL,
-  `video_id` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
-  `title` varchar(255) COLLATE utf8mb4_bin NOT NULL,
-  `cover_url` varchar(255) COLLATE utf8mb4_bin NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `UK_rfuvf3osnlaakifjdao0a8e2x` (`cover_url`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
-
--- ----------------------------
--- Table structure for vod_play_complete
--- ----------------------------
-DROP TABLE IF EXISTS `vod_play_complete`;
-CREATE TABLE `vod_play_complete` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `video_id` varchar(255) NOT NULL,
-  `user_id` bigint(20) NOT NULL,
-  `create_at` bigint(20) NOT NULL,
-  PRIMARY KEY (`id`),
-  KEY `user_id` (`user_id`),
-  KEY `video_id` (`video_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='视频播放完成记录';
-
--- ----------------------------
--- Table structure for vod_play_record
--- ----------------------------
-DROP TABLE IF EXISTS `vod_play_record`;
-CREATE TABLE `vod_play_record` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `video_id` varchar(255) NOT NULL,
-  `user_id` bigint(20) NOT NULL,
-  `current_time` double NOT NULL,
-  `create_at` bigint(20) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `uk_user_id_video_id` (`user_id`,`video_id`) USING BTREE,
-  KEY `user_id` (`user_id`),
-  KEY `video_id` (`video_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='视频播放记录';
-
--- ----------------------------
--- Table structure for vod_post_album
--- ----------------------------
-DROP TABLE IF EXISTS `vod_post_album`;
-CREATE TABLE `vod_post_album` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `album_id` bigint(20) NOT NULL,
-  `album_name` varchar(255) NOT NULL,
-  `channel_code` int(11) NOT NULL,
-  `cover_url` varchar(255) NOT NULL,
-  `post_type` int(11) NOT NULL,
-  `total` int(11) NOT NULL,
-  `scope` int(11) NOT NULL,
-  `create_at` bigint(20) NOT NULL,
-  `create_by` bigint(20) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `favlist_id` (`album_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='稿件合集';
-
--- ----------------------------
--- Table structure for vod_post_category
--- ----------------------------
-DROP TABLE IF EXISTS `vod_post_category`;
-CREATE TABLE `vod_post_category` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
-  `pid` int(11) NOT NULL COMMENT '分区级别【1 一级分区, 2 二级分区】',
-  `name` varchar(255) NOT NULL COMMENT '分区名',
-  `sort` int(11) NOT NULL DEFAULT '0' COMMENT '排序',
-  `vip` bit(1) NOT NULL,
-  PRIMARY KEY (`id`) USING BTREE,
-  KEY `name` (`name`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='视频分类';
-
--- ----------------------------
--- Table structure for vod_post_item
--- ----------------------------
-DROP TABLE IF EXISTS `vod_post_item`;
-CREATE TABLE `vod_post_item` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `album_id` bigint(20) NOT NULL,
-  `post_id` varchar(255) NOT NULL,
-  `pos` int(11) NOT NULL,
-  `channel_code` int(11) NOT NULL,
-  `object_id` varchar(255) NOT NULL,
-  `format` varchar(255) NOT NULL,
-  `url` varchar(255) NOT NULL,
-  `width` int(11) NOT NULL,
-  `height` int(11) NOT NULL,
-  `horizontal` tinyint(1) NOT NULL,
-  PRIMARY KEY (`id`),
-  KEY `favlist_id` (`album_id`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='稿件合集包含的稿件';
-
--- ----------------------------
--- Table structure for vod_post_tag
--- ----------------------------
-DROP TABLE IF EXISTS `vod_post_tag`;
-CREATE TABLE `vod_post_tag` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `tag_id` varchar(255) NOT NULL,
-  `tag_name` varchar(255) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `tag_id` (`tag_id`),
-  UNIQUE KEY `tag_name` (`tag_name`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='视频标签';
-
--- ----------------------------
--- Table structure for vod_search_record
--- ----------------------------
-DROP TABLE IF EXISTS `vod_search_record`;
-CREATE TABLE `vod_search_record` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `keyword` varchar(255) NOT NULL,
-  `search_by` bigint(20) NOT NULL,
-  `search_at` datetime NOT NULL,
-  PRIMARY KEY (`id`),
-  KEY `user_id` (`search_by`),
-  KEY `keyword` (`keyword`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='搜索记录';
-
--- ----------------------------
--- Table structure for vod_site_notice
--- ----------------------------
-DROP TABLE IF EXISTS `vod_site_notice`;
-CREATE TABLE `vod_site_notice` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `content` text NOT NULL,
-  `create_by` bigint(20) NOT NULL,
-  PRIMARY KEY (`id`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='站点公告';
-
--- ----------------------------
--- Table structure for vod_video_category_post
--- ----------------------------
-DROP TABLE IF EXISTS `vod_video_category_post`;
-CREATE TABLE `vod_video_category_post` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `video_id` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
-  `category_pid` int(11) NOT NULL,
-  `category_id` int(11) NOT NULL,
-  `duration` int(11) NOT NULL,
-  `horizontal` bit(1) NOT NULL,
-  `scope` int(11) NOT NULL COMMENT '视频可见范围',
-  `publish_at` datetime NOT NULL,
-  `publish_by` bigint(20) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `UK_rfuvf3osnlaakifjdao0a8e2x` (`category_id`,`publish_by`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='视频分区稿件';
-
--- ----------------------------
--- Table structure for vod_video_error
--- ----------------------------
-DROP TABLE IF EXISTS `vod_video_error`;
-CREATE TABLE `vod_video_error` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL,
-  `create_time` datetime(6) NOT NULL,
-  `update_time` datetime(6) NOT NULL,
-  `video_id` varchar(255) NOT NULL,
-  `error_code` int(11) NOT NULL,
-  `error_info` varchar(255) NOT NULL,
-  `solved` bit(1) NOT NULL,
-  PRIMARY KEY (`id`) USING BTREE,
-  KEY `name` (`video_id`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='视频稿件错误';
-
--- ----------------------------
--- Table structure for vod_video_file
--- ----------------------------
-DROP TABLE IF EXISTS `vod_video_file`;
-CREATE TABLE `vod_video_file` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `video_id` varchar(255) NOT NULL,
-  `object_id` varchar(255) NOT NULL,
-  `channel_code` varchar(255) NOT NULL,
-  `video_codec` varchar(255) NOT NULL,
-  `vbit_rate` bigint(20) NOT NULL,
-  `audio_codec` varchar(255) NOT NULL,
-  `abit_rate` bigint(20) NOT NULL,
-  `url_type` varchar(255) NOT NULL,
-  `url` varchar(255) NOT NULL,
-  `format_name` varchar(255) NOT NULL,
-  `quality` varchar(255) NOT NULL,
-  `width` int(11) NOT NULL,
-  `height` int(11) NOT NULL,
-  `horizontal` bit(1) NOT NULL,
-  `duration` int(11) NOT NULL,
-  `size` bigint(20) NOT NULL,
-  `video_file_id` varchar(255) DEFAULT NULL COMMENT '待删除',
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `object_id` (`object_id`) USING BTREE,
-  UNIQUE KEY `video_file_id` (`video_file_id`) USING BTREE,
-  KEY `video_id` (`video_id`),
-  KEY `size` (`size`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='视频文件';
-
--- ----------------------------
--- Table structure for vod_video_post
--- ----------------------------
-DROP TABLE IF EXISTS `vod_video_post`;
-CREATE TABLE `vod_video_post` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `video_id` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
-  `title` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
-  `description` text CHARACTER SET utf8mb4,
-  `category_pid` int(11) DEFAULT NULL,
-  `category_id` int(11) DEFAULT NULL,
-  `duration` int(11) NOT NULL,
-  `horizontal` bit(1) NOT NULL,
-  `cover_url` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL,
-  `scope` int(11) NOT NULL COMMENT '视频可见范围',
-  `status` int(11) NOT NULL COMMENT '视频贴状态',
-  `publish_at` datetime DEFAULT NULL,
-  `publish_by` bigint(20) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `UK_rfuvf3osnlaakifjdao0a8e2x` (`video_id`) USING BTREE,
-  KEY `user_id` (`publish_by`) USING BTREE,
-  KEY `status` (`status`),
-  KEY `scope` (`scope`),
-  KEY `category_pid` (`category_pid`),
-  KEY `category_id` (`category_id`),
-  KEY `duration` (`duration`),
-  KEY `pub_date` (`publish_at`),
-  KEY `query_max` (`category_pid`,`category_id`,`scope`,`status`) USING BTREE,
-  KEY `deleted` (`deleted`),
-  FULLTEXT KEY `index_title` (`title`) /*!50100 WITH PARSER `ngram` */ 
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='视频稿件';
-
--- ----------------------------
--- Table structure for vod_video_statistic
--- ----------------------------
-DROP TABLE IF EXISTS `vod_video_statistic`;
-CREATE TABLE `vod_video_statistic` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `video_id` varchar(255) NOT NULL,
-  `view` int(11) NOT NULL,
-  `danmaku` int(11) NOT NULL,
-  `comment` int(11) NOT NULL,
-  `favorite` int(11) NOT NULL,
-  `share` int(11) NOT NULL,
-  `thumb_up` int(11) NOT NULL,
-  `thumb_down` int(11) NOT NULL,
-  `coin` int(11) NOT NULL COMMENT 'bilibili 硬币',
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `UK_rfuvf3osnlaakifjdao0a8e2x` (`video_id`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='视频稿件数据';
-
--- ----------------------------
--- Table structure for vod_video_tag
--- ----------------------------
-DROP TABLE IF EXISTS `vod_video_tag`;
-CREATE TABLE `vod_video_tag` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `video_id` varchar(255) NOT NULL,
-  `tag_id` varchar(255) NOT NULL,
-  `scope` int(11) NOT NULL,
-  PRIMARY KEY (`id`),
-  KEY `tag_id` (`tag_id`),
-  KEY `video_id` (`video_id`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='视频稿件包含的标签';
-
-SET FOREIGN_KEY_CHECKS = 1;

+ 0 - 110
srv/schema/tnb_oss_tdb.sql

@@ -1,110 +0,0 @@
-/*
- Navicat Premium Data Transfer
-
- Source Server         : mysql-210
- Source Server Type    : MySQL
- Source Server Version : 50732
- Source Host           : 192.168.0.149:3306
- Source Schema         : tnb_oss_rdb
-
- Target Server Type    : MySQL
- Target Server Version : 50732
- File Encoding         : 65001
-
- Date: 15/01/2026 15:44:46
-*/
-
-SET NAMES utf8mb4;
-SET FOREIGN_KEY_CHECKS = 0;
-
--- ----------------------------
--- Table structure for data_block
--- ----------------------------
-DROP TABLE IF EXISTS `data_block`;
-CREATE TABLE `data_block` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `content_id` varchar(255) NOT NULL,
-  `block_id` varchar(255) NOT NULL,
-  `host` varchar(255) NOT NULL,
-  `absolute_path` varchar(255) NOT NULL COMMENT '本地文件绝对路径',
-  `size` bigint(20) NOT NULL,
-  `replica` int(11) DEFAULT '0',
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `content_id` (`content_id`) USING BTREE,
-  KEY `absolute_path` (`absolute_path`),
-  KEY `size` (`size`),
-  KEY `deleted` (`deleted`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='对象数据块';
-
--- ----------------------------
--- Table structure for file_meta
--- ----------------------------
-DROP TABLE IF EXISTS `file_meta`;
-CREATE TABLE `file_meta` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `object_name` varchar(255) NOT NULL,
-  `object_id` varchar(255) NOT NULL,
-  `pid` varchar(255) NOT NULL,
-  `content_id` varchar(255) NOT NULL,
-  `sha256sum` varchar(255) NOT NULL COMMENT '文件的 sha256sum 值',
-  `filename` varchar(255) NOT NULL,
-  `size` bigint(20) NOT NULL,
-  `file_type` int(11) NOT NULL,
-  `content_type` varchar(255) NOT NULL COMMENT 'http content-type',
-  `scope` int(11) NOT NULL,
-  `upload_by` varchar(255) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `UK_rfuvf3osnlaakifjdao0a8e2x` (`object_name`) USING BTREE,
-  UNIQUE KEY `object_id` (`object_id`) USING BTREE,
-  KEY `sha256sum` (`sha256sum`) USING BTREE,
-  KEY `file_type` (`file_type`),
-  KEY `pid` (`pid`),
-  KEY `filename` (`filename`),
-  KEY `acl` (`scope`),
-  KEY `content_id` (`content_id`),
-  KEY `upload_by` (`upload_by`),
-  KEY `deleted` (`deleted`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='对象元数据';
-
--- ----------------------------
--- Table structure for file_multipart
--- ----------------------------
-DROP TABLE IF EXISTS `file_multipart`;
-CREATE TABLE `file_multipart` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `deleted` bit(1) NOT NULL DEFAULT b'0',
-  `create_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `update_time` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
-  `content_id` varchar(255) NOT NULL,
-  `absolute_path` varchar(255) NOT NULL,
-  `sha256sum` varchar(255) NOT NULL COMMENT '文件的 sha256sum 值',
-  `total_size` bigint(20) NOT NULL,
-  `chunk_size` int(11) NOT NULL,
-  `total_chunks` int(11) NOT NULL,
-  `uploaded` bit(1) NOT NULL,
-  `upload_by` int(11) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `sha256sum_uploadby` (`sha256sum`,`upload_by`) USING BTREE,
-  UNIQUE KEY `content_id` (`content_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='分片文件';
-
--- ----------------------------
--- Table structure for file_part
--- ----------------------------
-DROP TABLE IF EXISTS `file_part`;
-CREATE TABLE `file_part` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `content_id` varchar(255) NOT NULL,
-  `chunk_number` int(11) NOT NULL,
-  `current_chunk_size` int(11) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `sha256sum` (`content_id`,`chunk_number`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='分片文件';
-
-SET FOREIGN_KEY_CHECKS = 1;

+ 0 - 83
srv/start_thirdparty.sh

@@ -1,83 +0,0 @@
-#!/bin/bash
-
-###############################################################################
-# 第三方依赖 docker 镜像
-###############################################################################
-
-dir=`pwd`
-
-image='registry.cn-chengdu.aliyuncs.com/reghao/nginx:1.28.1-alpine'
-docker run -d --name=nginx --network=host --restart=always \
-    -v /etc/localtime:/etc/localtime:ro \
-    -v ${dir}/nginx:/etc/nginx \
-    ${image}
-
-# root 密码 Root@123456
-image='registry.cn-chengdu.aliyuncs.com/reghao/mysql:5.7.32'
-docker run -d --name=mysql57 --network=host --restart=always \
-    -v /etc/localtime:/etc/localtime:ro \
-    -e MYSQL_ROOT_PASSWORD=Root@123456 \
-    ${image}
-
-# admin 密码 Admin@123456
-image='registry.cn-chengdu.aliyuncs.com/reghao/mongo:4.4.8-focal'
-docker run -d --name=mongodb --network=host --restart=always \
-    -v /etc/localtime:/etc/localtime:ro \
-    -e MONGO_INITDB_ROOT_USERNAME=admin \
-	-e MONGO_INITDB_ROOT_PASSWORD=Admin_123456 \
-    ${image}
-
-# 密码在 redis.conf 配置文件中设置
-image='registry.cn-chengdu.aliyuncs.com/reghao/redis:6.0.16-bullseye'
-docker run -d --name=redis --network=host --restart=always \
-    -v /etc/localtime:/etc/localtime:ro \
-    -v ${dir}/redis.conf:/etc/redis.conf \
-    -d ${image} redis-server /etc/redis.conf --appendonly yes
-
-# 帐号密码 dev 和 Dev@123456
-image='registry.cn-chengdu.aliyuncs.com/reghao/rabbitmq:3.8.9-management-alpine'
-docker run -d --name=rabbitmq --network=host --restart=always \
-    -v /etc/localtime:/etc/localtime:ro \
-    -e RABBITMQ_DEFAULT_USER=dev \
-    -e RABBITMQ_DEFAULT_PASS=Dev@123456 \
-    ${image}
-
-image='registry.cn-chengdu.aliyuncs.com/reghao/zookeeper:3.8.4'
-docker run -d --name=zookeeper --network=host --restart=always \
-    -v /etc/localtime:/etc/localtime:ro \
-    ${image}
-
-image='registry.cn-chengdu.aliyuncs.com/reghao/nacos_nacos-server:v2.4.1'
-# nacos-standalone-derby
-# bH3NaBbCDSK0mAI5k6T9BjVqPl2con36 -base64-> YkgzTmFCYkNEU0swbUFJNWs2VDlCalZxUGwyY29uMzYK
-docker run -d --name=nacos --network=host --restart=always \
-    -v /etc/localtime:/etc/localtime:ro \
-    -e MODE=standalone \
-    -e NACOS_AUTH_ENABLE=true \
-    -e NACOS_AUTH_TOKEN=YkgzTmFCYkNEU0swbUFJNWs2VDlCalZxUGwyY29uMzYK \
-    -e NACOS_AUTH_IDENTITY_KEY=nacos_auth_key \
-    -e NACOS_AUTH_IDENTITY_VALUE=nacos_auth_value \
-    ${image}
-
-image='registry.cn-chengdu.aliyuncs.com/reghao/elasticsearch:7.17.18'
-# docker run -d --name=elasticsearch --network=host \
-#     -v /etc/localtime:/etc/localtime:ro \
-#     -e "discovery.type=single-node" \
-#     ${image}
-
-echo "sleep 60s to wait service started..."
-sleep 60
-
-echo "set mysql account..."
-# mysql 帐号密码 dev 和 Dev@123456
-docker exec -i mysql57 mysql -uroot -pRoot@123456 -e "create user dev@'%' IDENTIFIED WITH mysql_native_password BY 'Dev@123456';"
-docker exec -i mysql57 mysql -uroot -pRoot@123456 -e "grant all privileges on *.* to dev@'%' with grant option;"
-docker exec -i mysql57 mysql -uroot -pRoot@123456 -e "flush privileges;"
-
-echo "set mongodb account..."
-docker cp mongo.js mongodb:/root
-docker exec -it mongodb mongo /root/mongo.js
-
-echo "set nacos account..."
-# 帐号密码 nacos 和 E4B2M7W8Dx
-curl -X POST 'http://localhost:8848/nacos/v1/auth/users/admin' -d 'password=E4B2M7W8Dx'

+ 46 - 0
srv/zookeeper/docker-compose.yml

@@ -0,0 +1,46 @@
+services:
+  zookeeper:
+    image: registry.cn-chengdu.aliyuncs.com/reghao/zookeeper:3.8.4 # 生产环境建议锁定具体版本
+    restart: always
+    container_name: zookeeper
+    ports:
+      - "2181:2181"
+    volumes:
+      - /opt/docker/zookeeper/data:/data
+      - /opt/docker/zookeeper/datalog:/datalog
+      - /opt/docker/zookeeper/logs:/logs
+    environment:
+      ZOO_MY_ID: 1
+      # 1. 自动清理快照和事务日志 (Data & DataLog)
+      ZOO_AUTOPURGE_PURGEINTERVAL: 24
+      ZOO_AUTOPURGE_SNAPRETAINCOUNT: 5
+      # 2. 限制运行日志 (zookeeper.log) 的大小和数量
+      # 格式: [日志级别], [Appender]
+      # RollingFile: 滚动文件模式
+      ZOO_LOG4J_PROP: "INFO, ROLLINGFILE"
+      # 每个日志文件最大 100MB
+      ZOO_LOG_MAXFILESIZE: "100MB"
+      # 最多保留 10 个历史日志文件
+      ZOO_LOG_MAXBACKUPINDEX: 10
+      # 3. 资源配额与内存
+      JVMFLAGS: "-Xms512m -Xmx512m"
+      ZOO_MAX_CLIENT_CNXNS: 60
+    deploy:
+      resources:
+        limits:
+          cpus: '1.0'
+          memory: 1G
+        reservations:
+          cpus: '0.5'
+          memory: 512M
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "3"
+    healthcheck:
+      # 使用官方提供的 zkServer.sh 状态检查工具
+      test: ["CMD", "zkServer.sh", "status"]
+      interval: 10s
+      timeout: 5s
+      retries: 3

+ 3 - 7
start.sh

@@ -7,18 +7,14 @@ cd tmp/bin/
 ###############################################################################
 # 启动 tnb 项目应用
 ###############################################################################
-nohup java -jar tnb-eureka.jar > tnb-eureka.log 2>&1 &
-echo 'sleep 10s to wait EurekaServer started...'
-sleep 10
-
 nohup java -jar tnb-gateway.jar > tnb-gateway.log 2>&1 &
-nohup java -jar tnb-account.jar > tnb-account.log 2>&1 &
+nohup java -jar tnb-auth.jar > tnb-auth.log 2>&1 &
 nohup java -jar tnb-user.jar > tnb-user.log 2>&1 &
 
 nohup java -jar tnb-file.jar > tnb-file.log 2>&1 &
 nohup java -jar tnb-content.jar > tnb-content.log 2>&1 &
 nohup java -jar tnb-search.jar > tnb-search.log 2>&1 &
-nohup java -jar tnb-admin.jar > tnb-admin.log 2>&1 &
+#nohup java -jar tnb-admin.jar > tnb-admin.log 2>&1 &
 
 export NODE_ADDRESS=127.0.0.1
 nohup java -jar tnb-message.jar > tnb-message.log 2>&1 &
@@ -27,4 +23,4 @@ nohup java -jar tnb-message.jar > tnb-message.log 2>&1 &
 # 启动 oss-store 应用
 ###############################################################################
 cd oss-store
-bash start.sh
+#bash start.sh