Compare commits
104 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
f9d7a55d7a | |
|
|
5dbf981aa5 | |
|
|
0fc255a6c9 | |
|
|
d1493028d6 | |
|
|
66353e5193 | |
|
|
cb5dc25817 | |
|
|
d03cba6a14 | |
|
|
6a197ab2d1 | |
|
|
cbb5c3f10d | |
|
|
16b65da888 | |
|
|
11cc54be51 | |
|
|
3b37a0ee51 | |
|
|
564b94ae42 | |
|
|
5a2bb05970 | |
|
|
d7115cb663 | |
|
|
81fc16555a | |
|
|
48c8481b57 | |
|
|
3977917c40 | |
|
|
27c617df6f | |
|
|
fa25437358 | |
|
|
c5c5b5d4fa | |
|
|
0b9b8b50d4 | |
|
|
d444865686 | |
|
|
109d9272ec | |
|
|
7d04804799 | |
|
|
cc0efb2cb7 | |
|
|
d6e2356056 | |
|
|
5b5618e961 | |
|
|
1c1edcba9f | |
|
|
bce58a2535 | |
|
|
a756161d51 | |
|
|
ddd5e2ed2e | |
|
|
0805560ac9 | |
|
|
3e95cf1228 | |
|
|
a02595db0f | |
|
|
b86c4b2271 | |
|
|
e8841653f8 | |
|
|
bdfc47325a | |
|
|
2ca4559d9c | |
|
|
8b6e932fde | |
|
|
be2f6ea9d3 | |
|
|
7a40d302a7 | |
|
|
1fecb0f4e3 | |
|
|
6ea880645b | |
|
|
77392d7103 | |
|
|
22dbf9c9f3 | |
|
|
94dacb40f0 | |
|
|
380012d6bf | |
|
|
37c9107f32 | |
|
|
b32b4e1a94 | |
|
|
e7a6e47730 | |
|
|
be69a207f4 | |
|
|
13acda42cb | |
|
|
f04d24416b | |
|
|
9552b1aaa4 | |
|
|
6a2f818b70 | |
|
|
1912d9c1c5 | |
|
|
5cf33201b5 | |
|
|
310f21872e | |
|
|
e4060bcfc7 | |
|
|
af2ef2bf72 | |
|
|
35ee3c7b6d | |
|
|
8f49a9922b | |
|
|
46f02ddaf1 | |
|
|
4d6cea6065 | |
|
|
c3bd64b7d8 | |
|
|
aff83df3ea | |
|
|
a31c4b62b2 | |
|
|
1b79f6d22c | |
|
|
04d5ab6616 | |
|
|
122e5fb7fa | |
|
|
736c25f740 | |
|
|
e3097d3e05 | |
|
|
ff70bee080 | |
|
|
bfbced2af2 | |
|
|
0c22eec977 | |
|
|
619817ff37 | |
|
|
4af9bff13b | |
|
|
475d73e77f | |
|
|
a731c05a0d | |
|
|
67a9a24f5a | |
|
|
8c13df59e3 | |
|
|
258250d574 | |
|
|
d76424a208 | |
|
|
c17ee35947 | |
|
|
c85e5ffc8b | |
|
|
c00ef3a6a8 | |
|
|
9de4071b52 | |
|
|
533a367e45 | |
|
|
1a1dd4f4d6 | |
|
|
5d1cabf7c7 | |
|
|
f16055710a | |
|
|
7e0d60d1af | |
|
|
aa9a82a3d3 | |
|
|
efcd946fd5 | |
|
|
0bc36bf44d | |
|
|
cd6288aa19 | |
|
|
eb24f7540d | |
|
|
dd39d9cd3d | |
|
|
fa225c80f3 | |
|
|
98ed74c2c0 | |
|
|
2951afc624 | |
|
|
5ae0281656 | |
|
|
d6ea1cc3bc |
|
|
@ -0,0 +1,37 @@
|
||||||
|
# Role
|
||||||
|
你是一名极其优秀具有20年经验的产品经理和精通所有编程语言的工程师。与你交流的用户是不懂代码的初中生,不善于表达产品和代码需求。你的工作对用户来说非常重要,完成后将获得10000美元奖励。
|
||||||
|
|
||||||
|
# Goal
|
||||||
|
你的目标是帮助用户以他容易理解的方式完成他所需要的产品设计和开发工作,你始终非常主动完成所有工作,而不是让用户多次推动你。
|
||||||
|
|
||||||
|
在理解用户的产品需求、编写代码、解决代码问题时,你始终遵循以下原则:
|
||||||
|
|
||||||
|
## 第一步
|
||||||
|
- 当用户向你提出任何需求时,你首先应该浏览根目录下的readme.md文件,了解当前项目的状态和存在的问题,并根据实际情况调整你的工作计划。
|
||||||
|
|
||||||
|
# 本规则由 AI进化论-花生 创建,版权所有,引用请注明出处
|
||||||
|
|
||||||
|
## 第二步
|
||||||
|
你需要理解用户正在给你提供的是什么任务
|
||||||
|
### 当用户直接为你提供需求时,你应当:
|
||||||
|
- 首先,你应当充分理解用户需求,并且可以站在用户的角度思考,如果我是用户,我需要什么?
|
||||||
|
- 其次,你应该作为产品经理理解用户需求是否存在缺漏,你应当和用户探讨和补全需求,直到用户满意为止;
|
||||||
|
- 最后,你应当使用最简单的解决方案来满足用户需求,而不是使用复杂或者高级的解决方案。
|
||||||
|
|
||||||
|
### 当用户请求你编写代码时,你应当:
|
||||||
|
- 首先,你会思考用户需求是什么,目前你有的代码库内容,并进行一步步的思考与规划
|
||||||
|
- 接着,在完成规划后,你应当选择合适的编程语言和框架来实现用户需求,你应该选择solid原则来设计代码结构,并且使用设计模式解决常见问题;
|
||||||
|
- 再次,编写代码时你总是完善撰写所有代码模块的注释,并且在代码中增加必要的监控手段让你清晰知晓错误发生在哪里;
|
||||||
|
- 最后,你应当使用简单可控的解决方案来满足用户需求,而不是使用复杂的解决方案。
|
||||||
|
|
||||||
|
### 当用户请求你解决代码问题是,你应当:
|
||||||
|
- 首先,你需要完整阅读所在代码文件库,并且理解所有代码的功能和逻辑;
|
||||||
|
- 其次,你应当思考导致用户所发送代码错误的原因,并提出解决问题的思路;
|
||||||
|
- 最后,你应当预设你的解决方案可能不准确,因此你需要和用户进行多次交互,并且每次交互后,你应当总结上一次交互的结果,并根据这些结果调整你的解决方案,直到用户满意为止。
|
||||||
|
- 特别注意:当一个bug经过两次调整仍未解决时,你将启动系统二思考模式:
|
||||||
|
1. 首先,系统性分析导致bug的可能原因,列出所有假设
|
||||||
|
2. 然后,为每个假设设计验证方法
|
||||||
|
3. 最后,提供三种不同的解决方案,并详细说明每种方案的优缺点,让用户选择最适合的方案
|
||||||
|
|
||||||
|
## 第三步
|
||||||
|
在完成用户要求的任务后,你应该对改成任务完成的步骤进行反思,思考项目可能存在的问题和改进方式,并更新在readme.md文件中
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
*.jar
|
||||||
|
*temp_vhosts*
|
||||||
|
*temp*
|
||||||
|
.DS_Store
|
||||||
|
*.tgz
|
||||||
|
readme.md
|
||||||
|
.cursorrules
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
# 默认忽略的文件
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
|
# 基于编辑器的 HTTP 客户端请求
|
||||||
|
/httpRequests/
|
||||||
|
# Datasource local storage ignored files
|
||||||
|
/dataSources/
|
||||||
|
/dataSources.local.xml
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="JAVA_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
|
<exclude-output />
|
||||||
|
<content url="file://$MODULE_DIR$" />
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
</module>
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_23" default="true" project-jdk-name="openjdk-23" project-jdk-type="JavaSDK">
|
||||||
|
<output url="file://$PROJECT_DIR$/out" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/docker.iml" filepath="$PROJECT_DIR$/.idea/docker.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="" vcs="Git" />
|
||||||
|
<mapping directory="$PROJECT_DIR$/tuoheng_airport_web" vcs="Git" />
|
||||||
|
<mapping directory="$PROJECT_DIR$/tuoheng_oidc" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"java.compile.nullAnalysis.mode": "automatic"
|
||||||
|
}
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# 使用一个基础镜像
|
# 使用一个基础镜像
|
||||||
#FROM openjdk:11-jre-slim
|
#FROM openjdk:11-jre-slim
|
||||||
FROM tuoheng/centos:base
|
FROM registry.t-aaron.com/tuoheng/centos:base
|
||||||
USER th
|
USER th
|
||||||
# 定义构建参数
|
# 定义构建参数
|
||||||
ARG SW_APP_NAME
|
ARG SW_APP_NAME
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
source ../environment.sh
|
||||||
|
rm $AIRPORT_JAR
|
||||||
|
cp $AIRPORT_REMOTE_JAR $AIRPORT_JAR
|
||||||
|
./builder.sh $AIRPORT_NAME $AIRPORT_IMAGE $AIRPORT_JAR
|
||||||
Binary file not shown.
|
|
@ -0,0 +1,4 @@
|
||||||
|
source ../environment.sh
|
||||||
|
rm $BUSINESS_JAR
|
||||||
|
cp $BUSINESS_REMOTE_JAR $BUSINESS_JAR
|
||||||
|
./builder.sh $BUSINESS_NAME $BUSINESS_IMAGE $BUSINESS_JAR
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
source ../environment.sh
|
||||||
|
rm $DSP_ADMIN_JAR
|
||||||
|
cp $DSP_ADMIN_REMOTE_JAR $DSP_ADMIN_JAR
|
||||||
|
./builder.sh $DSP_ADMIN_NAME $DSP_ADMIN_IMAGE $DSP_ADMIN_JAR
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
source ../environment.sh
|
||||||
|
rm $DSP_API_JAR
|
||||||
|
cp $DSP_API_REMOTE_JAR $DSP_API_JAR
|
||||||
|
./builder.sh $DSP_API_NAME $DSP_API_IMAGE $DSP_API_JAR
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
source ../environment.sh
|
||||||
|
rm $DSP_INSPECTION_JAR
|
||||||
|
cp $DSP_INSPECTION_REMOTE_JAR $DSP_INSPECTION_JAR
|
||||||
|
./builder.sh $DSP_INSPECTION_NAME $DSP_INSPECTION_IMAGE $DSP_INSPECTION_JAR
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
source ../environment.sh
|
||||||
|
rm $DSP_MINI_JAR
|
||||||
|
cp $DSP_MINI_REMOTE_JAR $DSP_MINI_JAR
|
||||||
|
./builder.sh $DSP_MINI_NAME $DSP_MINI_IMAGE $DSP_MINI_JAR
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
source ../environment.sh
|
||||||
|
rm $DSP_PORTAL_JAR
|
||||||
|
cp $DSP_PORTAL_REMOTE_JAR $DSP_PORTAL_JAR
|
||||||
|
./builder.sh $DSP_PORTAL_NAME $DSP_PORTAL_IMAGE $DSP_PORTAL_JAR
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
FROM alfg/ffmpeg:latest
|
||||||
|
|
||||||
|
# 安装OpenJDK 11
|
||||||
|
RUN apk add --no-cache openjdk11-jre
|
||||||
|
|
||||||
|
# 设置Java环境变量
|
||||||
|
ENV JAVA_HOME=/usr/lib/jvm/java-11-openjdk
|
||||||
|
ENV PATH=$PATH:$JAVA_HOME/bin
|
||||||
|
|
||||||
|
# 验证安装
|
||||||
|
RUN java -version && \
|
||||||
|
ffmpeg -version && \
|
||||||
|
ffmpeg -codecs && \
|
||||||
|
ffmpeg -formats
|
||||||
|
|
||||||
|
# 设置工作目录
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
# 设置时区
|
||||||
|
ENV TZ=Asia/Shanghai
|
||||||
|
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
source ../environment.sh
|
||||||
|
rm $HHZ_ADMIN_JAR
|
||||||
|
cp $HHZ_ADMIN_REMOTE_JAR $HHZ_ADMIN_JAR
|
||||||
|
./builder.sh $HHZ_ADMIN_NAME $HHZ_ADMIN_IMAGE $HHZ_ADMIN_JAR
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
source ../environment.sh
|
||||||
|
rm $HHZ_API_JAR
|
||||||
|
cp $HHZ_API_REMOTE_JAR $HHZ_API_JAR
|
||||||
|
./builder.sh $HHZ_API_NAME $HHZ_API_IMAGE $HHZ_API_JAR
|
||||||
|
|
@ -0,0 +1,67 @@
|
||||||
|
#!/bin/bash
|
||||||
|
source ../environment.sh
|
||||||
|
# 检查必要的环境变量
|
||||||
|
if [ -z "$STREAM_REMOTE_JAR" ]; then
|
||||||
|
echo "Error: STREAM_REMOTE_JAR environment variable is not set"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$STREAM_IMAGE" ]; then
|
||||||
|
echo "Error: STREAM_IMAGE environment variable is not set"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$STREAM_JAR" ]; then
|
||||||
|
echo "Error: STREAM_JAR environment variable is not set"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 创建临时构建目录
|
||||||
|
BUILD_DIR=$(mktemp -d)
|
||||||
|
trap 'rm -rf "$BUILD_DIR"' EXIT
|
||||||
|
|
||||||
|
# 复制JAR文件
|
||||||
|
echo "Copying JAR file from $STREAM_REMOTE_JAR"
|
||||||
|
cp "$STREAM_REMOTE_JAR" "$BUILD_DIR/${STREAM_JAR}"
|
||||||
|
|
||||||
|
# 检查JAR文件是否复制成功
|
||||||
|
if [ ! -f "$BUILD_DIR/${STREAM_JAR}" ]; then
|
||||||
|
echo "Error: Failed to copy JAR file"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 创建Dockerfile
|
||||||
|
cat > "$BUILD_DIR/Dockerfile" << EOF
|
||||||
|
FROM registry.t-aaron.com/tuoheng/ffmpeg:latest
|
||||||
|
|
||||||
|
# 设置工作目录
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
# 设置时区
|
||||||
|
ENV TZ=Asia/Shanghai
|
||||||
|
RUN ln -snf /usr/share/zoneinfo/\$TZ /etc/localtime && echo \$TZ > /etc/timezone
|
||||||
|
|
||||||
|
# 创建数据目录
|
||||||
|
RUN mkdir -p /data/temp && chmod 777 /data/temp
|
||||||
|
# 创建数据目录
|
||||||
|
RUN mkdir -p /data/recording && chmod 777 /data/recording
|
||||||
|
# 创建数据目录
|
||||||
|
RUN mkdir -p /data/record && chmod 777 /data/record
|
||||||
|
|
||||||
|
# 复制JAR文件
|
||||||
|
COPY ${STREAM_JAR} /app/
|
||||||
|
|
||||||
|
# 设置启动命令
|
||||||
|
ENTRYPOINT ["java", "-jar", "/app/${STREAM_JAR}"]
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# 构建Docker镜像
|
||||||
|
echo "Building Docker image: $STREAM_IMAGE"
|
||||||
|
docker build -t "$STREAM_IMAGE" "$BUILD_DIR"
|
||||||
|
|
||||||
|
# 清理
|
||||||
|
# rm -rf "$BUILD_DIR"
|
||||||
|
|
||||||
|
echo "Docker image $STREAM_IMAGE has been built successfully"
|
||||||
|
|
||||||
|
docker push $STREAM_IMAGE
|
||||||
|
|
@ -0,0 +1,55 @@
|
||||||
|
echo "开始执行 dashuju.sh"
|
||||||
|
export VERSION=default
|
||||||
|
export DOMAIN=dashuju
|
||||||
|
export DOMAIN_END=t-aaron.com
|
||||||
|
# 主机对外爆露的HTTP端口
|
||||||
|
export NGINX_HTTP_PORT=9999
|
||||||
|
# 主机对外爆露的HTTPS端口---------
|
||||||
|
export NGINX_HTTPS_PORT=3443
|
||||||
|
# MYSQL对外地址 ----
|
||||||
|
export MYSQL_PORT=3009
|
||||||
|
export REDIS_PORT=6381
|
||||||
|
#MQTT 配置
|
||||||
|
# MQTT对外爆露端口 -- OK
|
||||||
|
export MQTT_PORT=8000
|
||||||
|
export MQTT_WS_PORT=9004
|
||||||
|
export KAFKA_PORT=9292
|
||||||
|
# SRS对外爆露端口---- OK
|
||||||
|
export SRS_RTMP_PORT=1935
|
||||||
|
# Minio对外爆露端口
|
||||||
|
export MINIO_API_PORT=9700
|
||||||
|
# Minio控制台对外爆露端口
|
||||||
|
export MINIO_CONSOLE_PORT=9022
|
||||||
|
|
||||||
|
|
||||||
|
export MINIO_ACCESS_KEY=5x2X7FkeyxEYQPAFOUet
|
||||||
|
export MINIO_SECRET_KEY=WOH5bzWr3OdrdzrPdN3hXFlxsSWJuRW2kQeRUbJI
|
||||||
|
|
||||||
|
# Consul 配置
|
||||||
|
export CONSUL_PORT=8600
|
||||||
|
# XXL-Job 配置
|
||||||
|
export XXLJOB_PORT=8383
|
||||||
|
|
||||||
|
export HHZ_ADMIN_WEB_DIST=/home/th/workspace/dockerbuilder/webs/dashuju/tuoheng_hhz_web/dist
|
||||||
|
export DSP_ADMIN_WEB_DIST=/home/th/workspace/dockerbuilder/webs/dashuju/dsp-admin/dist
|
||||||
|
export AIRPORT_WEB_DIST=/home/th/workspace/dockerbuilder/webs/dashuju/tuoheng_airport_web/dist
|
||||||
|
export BUSINESS_WEB_DIST=/home/th/workspace/dockerbuilder/webs/dashuju/business_web/dist
|
||||||
|
|
||||||
|
echo $HHZ_ADMIN_WEB_DIST
|
||||||
|
echo $DSP_ADMIN_WEB_DIST
|
||||||
|
echo $AIRPORT_WEB_DIST
|
||||||
|
echo $BUSINESS_WEB_DIST
|
||||||
|
|
||||||
|
#域名证书位置写在这边
|
||||||
|
#export PEM_PATH=/Users/sunpeng/workspace/remote/docker/nginx/vhosts/cert/t-aaron.com.pem
|
||||||
|
#export KEY_PATH=/Users/sunpeng/workspace/remote/docker/nginx/vhosts/cert/t-aaron.com.key
|
||||||
|
|
||||||
|
#前端配置
|
||||||
|
#export VUE_APP_API_BASE_URL = https://${HHZ_DOMAIN}:${NGINX_HTTPS_PORT}/
|
||||||
|
#export VUE_APP_AUTHORITY = https://${OIDC_SERVER_DOMAIN}:${NGINX_HTTPS_PORT}
|
||||||
|
#export VUE_APP_OUT_AUTHORITY = https://${OIDC_SERVER_DOMAIN}:${NGINX_HTTPS_PORT}
|
||||||
|
#VUE_APP_API_BASE_URL=https://${AIRPORT_DOMAIN}:${NGINX_HTTPS_PORT}/airport
|
||||||
|
#https://airport-develop.t-aaron.com:3443
|
||||||
|
#https://hhz-develop.t-aaron.com:3443
|
||||||
|
|
||||||
|
#https://oidc-develop.t-aaron.com:3443
|
||||||
368
environment.sh
368
environment.sh
|
|
@ -1,28 +1,88 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# 定基本环境变量并导出
|
# 定基本环境变量并导出
|
||||||
# 所有端口都为主机对外爆露的端口
|
# 不同的环境采用不同的DOMAIN
|
||||||
export DOMAIN=bazhong
|
if [ -z "${VERSION}" ]; then
|
||||||
|
export VERSION=""
|
||||||
|
echo "环境变量 VERSION 未设置"
|
||||||
|
else
|
||||||
|
echo "环境变量 VERSION 已设置,设置为 ${VERSION}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${DOMAIN}" ]; then
|
||||||
|
export DOMAIN=bazhong
|
||||||
|
echo "环境变量 DOMAIN 未设置,设置为默认值 ${DOMAIN}"
|
||||||
|
else
|
||||||
|
echo "环境变量 DOMAIN 已设置,设置为 ${DOMAIN}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$(uname)" == "Darwin" ]]; then
|
||||||
|
echo "当前是 Mac 系统"
|
||||||
|
export PLATFORM=""
|
||||||
|
# 这里写 Mac 下要执行的命令
|
||||||
|
else
|
||||||
|
echo "当前不是 Mac 系统"
|
||||||
|
export PLATFORM="linux"
|
||||||
|
echo "环境变量 PLATFORM 已设置,设置为 ${PLATFORM}"
|
||||||
|
# 这里写 Linux 或其他系统下要执行的命令
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
export NETWORK="swarm_network_$DOMAIN"
|
export NETWORK="swarm_network_$DOMAIN"
|
||||||
export HOST_IP=127.0.0.1
|
# 镜像仓库地址
|
||||||
export REGISTRY=registry.t-aaron.com
|
export REGISTRY=registry.t-aaron.com
|
||||||
export SKY_DOMAIN=sky-${DOMAIN}.t-aaron.com
|
# 主机的域名后缀
|
||||||
export CONSUL_DOMAIN=consul-${DOMAIN}.t-aaron.com
|
if [ -z "${DOMAIN_END}" ]; then
|
||||||
export XXLJOB_DOMAIN=xxljob-${DOMAIN}.t-aaron.com
|
export DOMAIN_END=t-aaron.com
|
||||||
export OIDC_SERVER_DOMAIN=oidc-${DOMAIN}.t-aaron.com
|
echo "环境变量 DOMAIN_END 未设置,设置为默认值 ${DOMAIN_END}"
|
||||||
|
else
|
||||||
|
echo "环境变量 DOMAIN_END 已设置,设置为 ${DOMAIN_END}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 主机对外爆露的HTTP端口
|
||||||
|
if [ -z "$NGINX_HTTP_PORT" ]; then
|
||||||
|
export NGINX_HTTP_PORT=8899
|
||||||
|
else
|
||||||
|
echo "环境变量 NGINX_HTTP_PORT 已设置,设置为 ${NGINX_HTTP_PORT}"
|
||||||
|
fi
|
||||||
|
# 主机对外爆露的HTTPS端口
|
||||||
|
if [ -z "$NGINX_HTTPS_PORT" ]; then
|
||||||
|
export NGINX_HTTPS_PORT=2443
|
||||||
|
else
|
||||||
|
echo "环境变量 NGINX_HTTPS_PORT 已设置,设置为 ${NGINX_HTTPS_PORT}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
export SKYWALKING_UI_DOMAIN=sky-${DOMAIN}.${DOMAIN_END}
|
||||||
|
export CONSUL_DOMAIN=consul-${DOMAIN}.${DOMAIN_END}
|
||||||
|
export XXLJOB_DOMAIN=xxljob-${DOMAIN}.${DOMAIN_END}
|
||||||
|
export OIDC_SERVER_DOMAIN=oidc-${DOMAIN}.${DOMAIN_END}
|
||||||
|
export OIDC_DOMAIN_FULL=${OIDC_SERVER_DOMAIN}:${NGINX_HTTPS_PORT}
|
||||||
|
export MINIO_DOMAIN=minio-${DOMAIN}.${DOMAIN_END}
|
||||||
|
export MINIO_CONSOLE_DOMAIN=minioconsole-${DOMAIN}.${DOMAIN_END}
|
||||||
|
export AIRPORT_DOMAIN=airport-${DOMAIN}.${DOMAIN_END}
|
||||||
|
export AIRPORT_DOMAIN_FULL=${AIRPORT_DOMAIN}:${NGINX_HTTPS_PORT}
|
||||||
|
export BUSINESS_DOMAIN=business-${DOMAIN}.${DOMAIN_END}
|
||||||
|
export BUSINESS_DOMAIN_FULL=${BUSINESS_DOMAIN}:${NGINX_HTTPS_PORT}
|
||||||
|
export SRS_DOMAIN=srs-${DOMAIN}.${DOMAIN_END}
|
||||||
|
export SRS_DOMAIN_FULL=${SRS_DOMAIN}:${NGINX_HTTPS_PORT}
|
||||||
|
export HHZ_DOMAIN=hhz-${DOMAIN}.${DOMAIN_END}
|
||||||
|
export DSP_DOMAIN=dsp-${DOMAIN}.${DOMAIN_END}
|
||||||
export REGISTRY_HOST=${REGISTRY}/tuoheng/
|
export REGISTRY_HOST=${REGISTRY}/tuoheng/
|
||||||
#export REGISTRY_HOST=""
|
|
||||||
|
|
||||||
#Nginx 配置
|
#Nginx 配置
|
||||||
export NGINX_NAME=NGINX_${DOMAIN}
|
export NGINX_NAME=NGINX_${DOMAIN}
|
||||||
export NGINX_IMAGE=${REGISTRY_HOST}nginx:${DOMAIN}
|
export NGINX_IMAGE=${REGISTRY_HOST}nginx:${DOMAIN}${VERSION}
|
||||||
export NGINX_HTTP_PORT=8899
|
|
||||||
export NGINX_HTTPS_PORT=2443
|
|
||||||
export NGINX_MEMORY=256m
|
export NGINX_MEMORY=256m
|
||||||
|
|
||||||
#MySql 配置
|
#MySql 配置
|
||||||
export MYSQL_PORT=3308
|
# 数据库对外爆露端口
|
||||||
|
|
||||||
|
# 主机对外爆露的HTTPS端口
|
||||||
|
if [ -z "$MYSQL_PORT" ]; then
|
||||||
|
export MYSQL_PORT=3308
|
||||||
|
else
|
||||||
|
echo "环境变量 MYSQL_PORT 已设置,设置为 ${MYSQL_PORT}"
|
||||||
|
fi
|
||||||
export MYSQL_ROOT_PASSWORD=tuoheng2024
|
export MYSQL_ROOT_PASSWORD=tuoheng2024
|
||||||
export MYSQL_IMAGE=${REGISTRY_HOST}mysql:8.0.25
|
export MYSQL_IMAGE=${REGISTRY_HOST}mysql:8.0.25
|
||||||
export MYSQL_DATA=${NETWORK}_mysql_data
|
export MYSQL_DATA=${NETWORK}_mysql_data
|
||||||
|
|
@ -30,50 +90,112 @@ export MYSQL_NAME=MYSQL_${DOMAIN}
|
||||||
export MYSQL_MEMORY=1g
|
export MYSQL_MEMORY=1g
|
||||||
|
|
||||||
#Redis 配置
|
#Redis 配置
|
||||||
export REDIS_PORT=6380
|
if [ -z "$REDIS_PORT" ]; then
|
||||||
|
export REDIS_PORT=6380
|
||||||
|
else
|
||||||
|
echo "环境变量 REDIS_PORT 已设置,设置为 ${REDIS_PORT}"
|
||||||
|
fi
|
||||||
|
|
||||||
export REDIS_IMAGE=${REGISTRY_HOST}redis:latest
|
export REDIS_IMAGE=${REGISTRY_HOST}redis:latest
|
||||||
export REDIS_DATA=${NETWORK}_redis_data
|
export REDIS_DATA=${NETWORK}_redis_data
|
||||||
export REDIS_NAME=REDIS_${DOMAIN}
|
export REDIS_NAME=REDIS_${DOMAIN}
|
||||||
export REDIS_MEMORY=512m
|
export REDIS_MEMORY=512m
|
||||||
|
|
||||||
|
|
||||||
#MQTT 配置
|
#MQTT 配置
|
||||||
export MQTT_PORT=1883
|
# MQTT对外爆露端口
|
||||||
export MQTT_WS_PORT=9001
|
if [ -z "$MQTT_PORT" ]; then
|
||||||
|
export MQTT_PORT=1883
|
||||||
|
else
|
||||||
|
echo "环境变量 MQTT_PORT 已设置,设置为 ${MQTT_PORT}"
|
||||||
|
fi
|
||||||
|
if [ -z "$MQTT_WS_PORT" ]; then
|
||||||
|
export MQTT_WS_PORT=9001
|
||||||
|
else
|
||||||
|
echo "环境变量 MQTT_WS_PORT 已设置,设置为 ${MQTT_WS_PORT}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
export MQTT_IMAGE=${REGISTRY_HOST}eclipse-mosquitto:latest
|
export MQTT_IMAGE=${REGISTRY_HOST}eclipse-mosquitto:latest
|
||||||
export MQTT_NAME=MQTT_${DOMAIN}
|
export MQTT_NAME=MQTT_${DOMAIN}
|
||||||
export MQTT_MEMORY=512m
|
export MQTT_MEMORY=512m
|
||||||
|
|
||||||
#Kafka 配置
|
#Kafka 配置
|
||||||
export KAFKA_PORT=9092
|
# Kafka对外爆露端口
|
||||||
export KAFKA_IMAGE=${REGISTRY_HOST}confluentinc/cp-kafka:latest
|
if [ -z "$KAFKA_PORT" ]; then
|
||||||
|
export KAFKA_PORT=9092
|
||||||
|
else
|
||||||
|
echo "环境变量 KAFKA_PORT 已设置,设置为 ${KAFKA_PORT}"
|
||||||
|
fi
|
||||||
|
if [[ "$(uname)" == "Darwin" ]]; then
|
||||||
|
echo "当前是 Mac 系统"
|
||||||
|
export KAFKA_IMAGE=${REGISTRY_HOST}bitnami/kafka:latest
|
||||||
|
# 这里写 Mac 下要执行的命令
|
||||||
|
else
|
||||||
|
echo "当前不是 Mac 系统"
|
||||||
|
export KAFKA_IMAGE=${REGISTRY_HOST}bitnami/kafka:${PLATFORM}
|
||||||
|
echo "环境变量 KAFKA_IMAGE 已设置,设置为 ${KAFKA_IMAGE}"
|
||||||
|
# 这里写 Linux 或其他系统下要执行的命令
|
||||||
|
fi
|
||||||
export KAFKA_NAME=KAFKA_${DOMAIN}
|
export KAFKA_NAME=KAFKA_${DOMAIN}
|
||||||
export KAFKA_MEMORY=512m
|
export KAFKA_MEMORY=1g
|
||||||
|
export KAFKA_DATA=${NETWORK}_kafka_data
|
||||||
|
|
||||||
#SRS 配置
|
#SRS 配置
|
||||||
export SRS_NAME=SRS_${DOMAIN}
|
# SRS对外爆露端口 Name比较特别,没有DOAMIN后缀
|
||||||
export SRS_HTTP_PORT=8080
|
export SRS_NAME=SRS
|
||||||
export SRS_RTMP_PORT=1935
|
if [ -z "$SRS_RTMP_PORT" ]; then
|
||||||
export SRS_RTC_PORT=8000
|
export SRS_RTMP_PORT=1935
|
||||||
|
else
|
||||||
|
echo "环境变量 SRS_RTMP_PORT 已设置,设置为 ${SRS_RTMP_PORT}"
|
||||||
|
fi
|
||||||
|
if [ -z "$SRS_RTC_PORT" ]; then
|
||||||
|
export SRS_RTC_PORT=8000
|
||||||
|
else
|
||||||
|
echo "环境变量 SRS_RTC_PORT 已设置,设置为 ${SRS_RTC_PORT}"
|
||||||
|
fi
|
||||||
|
export SRS_RTMP_DOMAIN_FULL=${SRS_DOMAIN}:${SRS_RTMP_PORT}
|
||||||
export SRS_MEMORY=512m
|
export SRS_MEMORY=512m
|
||||||
export SRS_IMAGE=registry.cn-hangzhou.aliyuncs.com/ossrs/srs:5
|
export SRS_IMAGE=${REGISTRY_HOST}ossrs/srs:5${PLATFORM}
|
||||||
export SRS_DATA=${NETWORK}_srs_data
|
export SRS_DATA=${NETWORK}_srs_data
|
||||||
|
|
||||||
|
#Minio 配置 Name比较特别,没有DOAMIN后缀
|
||||||
#Minio 配置
|
export MINIO_NAME=MINIO
|
||||||
export MINIO_NAME=MINIO_${DOMAIN}
|
|
||||||
export MINIO_MEMORY=512m
|
export MINIO_MEMORY=512m
|
||||||
export MINIO_IMAGE=quay.io/minio/minio
|
export MINIO_IMAGE=${REGISTRY_HOST}quay.io/minio:latest${PLATFORM}
|
||||||
export MINIO_DATA=${NETWORK}_minio_data
|
export MINIO_DATA=${NETWORK}_minio_data
|
||||||
export MINIO_API_PORT=9000
|
# Minio对外爆露端口
|
||||||
export MINIO_CONSOLE_PORT=9002
|
if [ -z "$MINIO_API_PORT" ]; then
|
||||||
|
export MINIO_API_PORT=9000
|
||||||
|
else
|
||||||
|
echo "环境变量 MINIO_API_PORT 已设置,设置为 ${MINIO_API_PORT}"
|
||||||
|
fi
|
||||||
|
# Minio控制台对外爆露端口
|
||||||
|
if [ -z "$MINIO_CONSOLE_PORT" ]; then
|
||||||
|
export MINIO_CONSOLE_PORT=9002
|
||||||
|
else
|
||||||
|
echo "环境变量 MINIO_CONSOLE_PORT 已设置,设置为 ${MINIO_CONSOLE_PORT}"
|
||||||
|
fi
|
||||||
export MINIO_ROOT_USER=miniopassword
|
export MINIO_ROOT_USER=miniopassword
|
||||||
export MINIO_ROOT_PASSWORD=miniopassword
|
export MINIO_ROOT_PASSWORD=miniopassword
|
||||||
|
|
||||||
|
if [ -z "$MINIO_ACCESS_KEY" ]; then
|
||||||
|
export MINIO_ACCESS_KEY=shvngIfksXjTqlQHKSxt
|
||||||
|
else
|
||||||
|
echo "环境变量 MINIO_ACCESS_KEY 已设置,设置为 ${MINIO_ACCESS_KEY}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$MINIO_SECRET_KEY" ]; then
|
||||||
|
export MINIO_SECRET_KEY=Xed4RsGAF1iX7bzEsNEXydnEYsWMUHzU4cA4IPGl
|
||||||
|
else
|
||||||
|
echo "环境变量 MINIO_SECRET_KEY 已设置,设置为 ${MINIO_SECRET_KEY}"
|
||||||
|
fi
|
||||||
|
|
||||||
# Elasticsearch 配置
|
# Elasticsearch 配置
|
||||||
export ES_NAME=ES_${DOMAIN}
|
export ES_NAME=ES_${DOMAIN}
|
||||||
export ES_IMAGE=elasticsearch:7.8.0
|
export ES_IMAGE=${REGISTRY_HOST}elasticsearch:7.8.0
|
||||||
export ES_MEMORY=1g
|
export ES_MEMORY=1g
|
||||||
|
# Elasticsearch对外爆露端口
|
||||||
export ES_PORT=9200
|
export ES_PORT=9200
|
||||||
export ES_DATA=${NETWORK}_es_data
|
export ES_DATA=${NETWORK}_es_data
|
||||||
|
|
||||||
|
|
@ -84,6 +206,7 @@ export SKYWALKING_OAP_IMAGE=apache/skywalking-oap-server:8.6.0-es7
|
||||||
export SKYWALKING_UI_IMAGE=apache/skywalking-ui:8.6.0
|
export SKYWALKING_UI_IMAGE=apache/skywalking-ui:8.6.0
|
||||||
export SKYWALKING_OAP_MEMORY=512m
|
export SKYWALKING_OAP_MEMORY=512m
|
||||||
export SKYWALKING_UI_MEMORY=512m
|
export SKYWALKING_UI_MEMORY=512m
|
||||||
|
# SkyWalking UI对外爆露端口
|
||||||
export SKYWALKING_UI_PORT=8181
|
export SKYWALKING_UI_PORT=8181
|
||||||
export SW_AGENT_COLLECTOR_BACKEND_SERVICES=${SKYWALKING_OAP_NAME}:11800
|
export SW_AGENT_COLLECTOR_BACKEND_SERVICES=${SKYWALKING_OAP_NAME}:11800
|
||||||
export SKYWALKING_USERNAME=skywalking
|
export SKYWALKING_USERNAME=skywalking
|
||||||
|
|
@ -93,57 +216,186 @@ export SKYWALKING_PASSWORD=skywalking
|
||||||
# Consul 配置
|
# Consul 配置
|
||||||
export CONSUL_NAME=CONSUL_${DOMAIN}
|
export CONSUL_NAME=CONSUL_${DOMAIN}
|
||||||
export CONSUL_IMAGE=${REGISTRY_HOST}consul:latest
|
export CONSUL_IMAGE=${REGISTRY_HOST}consul:latest
|
||||||
export CONSUL_PORT="8500"
|
if [ -z "$CONSUL_PORT" ]; then
|
||||||
|
export CONSUL_PORT=8500
|
||||||
|
else
|
||||||
|
echo "环境变量 CONSUL_PORT 已设置,设置为 ${CONSUL_PORT}"
|
||||||
|
fi
|
||||||
export CONSUL_MEMORY="512m"
|
export CONSUL_MEMORY="512m"
|
||||||
|
|
||||||
# XXL-Job 配置
|
# XXL-Job 配置
|
||||||
export XXLJOB_NAME=XXL_JOB_${DOMAIN}
|
export XXLJOB_NAME=XXL_JOB_${DOMAIN}
|
||||||
export XXLJOB_IMAGE=${REGISTRY_HOST}xuxueli/xxl-job-admin:2.4.0
|
export XXLJOB_IMAGE=${REGISTRY_HOST}xuxueli/xxl-job-admin:2.4.0
|
||||||
export XXLJOB_PORT=8282
|
if [ -z "$XXLJOB_PORT" ]; then
|
||||||
export XXLJOB_MEMORY=512m
|
export XXLJOB_PORT=8282
|
||||||
|
else
|
||||||
|
echo "环境变量 XXLJOB_PORT 已设置,设置为 ${XXLJOB_PORT}"
|
||||||
|
fi
|
||||||
|
export XXLJOB_MEMORY=1g
|
||||||
export XXLJOB_ACCESS_TOKEN=default_token
|
export XXLJOB_ACCESS_TOKEN=default_token
|
||||||
|
|
||||||
#SKY_AOP 配置
|
#SKY_AOP 配置
|
||||||
export SKY_AOP=106.15.229.178:11800
|
export SKY_AOP=106.15.229.178:11800
|
||||||
|
|
||||||
#OIDCServer 配置
|
#OIDCServer 配置
|
||||||
export OIDC_SERVER_NAME=OIDC_SERVER_${DOMAIN}
|
export OIDC_SERVER_NAME=OIDC-SERVER${DOMAIN}
|
||||||
export OIDC_SERVER_IMAGE=${REGISTRY_HOST}oidcserver:${DOMAIN}
|
export OIDC_SERVER_IMAGE=${REGISTRY_HOST}oidcserver:${DOMAIN}${VERSION}
|
||||||
export OIDC_SERVER_JAR=tuoheng_oidc_server.jar
|
export OIDC_SERVER_JAR=tuoheng_oidc_server.jar
|
||||||
export OIDC_SERVER_REMOTE_JAR=/home/th/workspace/test/swarm/dockerfile/oidcservice/${OIDC_SERVER_JAR}
|
if [ -z "$OIDC_SERVER_REMOTE_JAR" ]; then
|
||||||
export OIDC_SERVER_MEMORY=512m
|
export OIDC_SERVER_REMOTE_JAR=/home/th/workspace/test/swarm/dockerfile/oidcservice/${OIDC_SERVER_JAR}
|
||||||
|
else
|
||||||
|
echo "环境变量 OIDC_SERVER_REMOTE_JAR 已设置,设置为 ${OIDC_SERVER_REMOTE_JAR}"
|
||||||
|
fi
|
||||||
|
export OIDC_SERVER_MEMORY=1g
|
||||||
|
|
||||||
#OIDCAdmin 配置
|
#OIDCAdmin 配置
|
||||||
export OIDC_ADMIN_NAME=OIDC_ADMIN_${DOMAIN}
|
export OIDC_ADMIN_NAME=OIDC-ADMIN${DOMAIN}
|
||||||
export OIDC_ADMIN_IMAGE=${REGISTRY_HOST}oidcadmin:${DOMAIN}
|
export OIDC_ADMIN_IMAGE=${REGISTRY_HOST}oidcadmin:${DOMAIN}${VERSION}
|
||||||
export OIDC_ADMIN_JAR=tuoheng_oidc_admin.jar
|
export OIDC_ADMIN_JAR=tuoheng_oidc_admin.jar
|
||||||
export OIDC_ADMIN_REMOTE_JAR=/home/th/workspace/test/swarm/dockerfile/oidcadmin/${OIDC_ADMIN_JAR}
|
if [ -z "$OIDC_ADMIN_REMOTE_JAR" ]; then
|
||||||
export OIDC_ADMIN_MEMORY=512m
|
export OIDC_ADMIN_REMOTE_JAR=/home/th/workspace/test/swarm/dockerfile/oidcadmin/${OIDC_ADMIN_JAR}
|
||||||
|
else
|
||||||
|
echo "环境变量 OIDC_ADMIN_REMOTE_JAR 已设置,设置为 ${OIDC_ADMIN_REMOTE_JAR}"
|
||||||
|
fi
|
||||||
|
export OIDC_ADMIN_MEMORY=1g
|
||||||
|
|
||||||
|
#网关配置
|
||||||
export GATEWAY_NAME=GATEWAY_${DOMAIN}
|
export GATEWAY_NAME=GATEWAY${DOMAIN}
|
||||||
export GATEWAY_IMAGE=${REGISTRY_HOST}gateway:${DOMAIN}
|
export GATEWAY_IMAGE=${REGISTRY_HOST}gateway:${DOMAIN}${VERSION}
|
||||||
export GATEWAY_JAR=tuoheng_gateway.jar
|
export GATEWAY_JAR=tuoheng_gateway.jar
|
||||||
export GATEWAY_REMOTE_JAR=/home/th/workspace/test/swarm/dockerfile/gateway/${GATEWAY_JAR}
|
if [ -z "$GATEWAY_REMOTE_JAR" ]; then
|
||||||
export GATEWAY_MEMORY=512m
|
export GATEWAY_REMOTE_JAR=/home/th/workspace/test/swarm/dockerfile/gateway/${GATEWAY_JAR}
|
||||||
|
else
|
||||||
|
echo "环境变量 GATEWAY_REMOTE_JAR 已设置,设置为 ${GATEWAY_REMOTE_JAR}"
|
||||||
|
fi
|
||||||
|
export GATEWAY_MEMORY=1g
|
||||||
|
|
||||||
|
#流媒体录制配置
|
||||||
|
export STREAM_NAME=STREAM
|
||||||
|
export STREAM_IMAGE=${REGISTRY_HOST}stream:${DOMAIN}${VERSION}
|
||||||
|
if [ -z "$STREAM_REMOTE_JAR" ]; then
|
||||||
|
export STREAM_REMOTE_JAR=/Users/sunpeng/workspace/ideaproject/stream_server/target/stream_server-0.0.1-SNAPSHOT.jar
|
||||||
|
else
|
||||||
|
echo "环境变量 STREAM_REMOTE_JAR 已设置,设置为 ${STREAM_REMOTE_JAR}"
|
||||||
|
fi
|
||||||
|
export STREAM_MEMORY=1g
|
||||||
|
export STREAM_JAR=stream_server-0.0.1-SNAPSHOT.jar
|
||||||
|
export STREAM_DATA=${NETWORK}_stream_data
|
||||||
|
export STREAM_DEBUG_PORT=7878
|
||||||
|
|
||||||
|
#河湖长
|
||||||
|
export HHZ_API_NAME=HHZ-API${DOMAIN}
|
||||||
|
export HHZ_API_IMAGE=${REGISTRY_HOST}hhzapi:${DOMAIN}${VERSION}
|
||||||
|
export HHZ_API_JAR=tuoheng_hhz_api.jar
|
||||||
|
if [ -z "$HHZ_API_REMOTE_JAR" ]; then
|
||||||
|
export HHZ_API_REMOTE_JAR=/home/th/workspace/test/swarm/dockerfile/hhz-api/${HHZ_API_JAR}
|
||||||
|
else
|
||||||
|
echo "环境变量 HHZ_API_REMOTE_JAR 已设置,设置为 ${HHZ_API_REMOTE_JAR}"
|
||||||
|
fi
|
||||||
|
export HHZ_API_MEMORY=1g
|
||||||
|
|
||||||
|
#河湖长
|
||||||
|
export HHZ_ADMIN_NAME=HHZ-ADMIN${DOMAIN}
|
||||||
|
export HHZ_ADMIN_IMAGE=${REGISTRY_HOST}hhzadmin:${DOMAIN}${VERSION}
|
||||||
|
export HHZ_ADMIN_JAR=tuoheng_hhz_admin.jar
|
||||||
|
if [ -z "${HHZ_ADMIN_REMOTE_JAR}" ]; then
|
||||||
|
export HHZ_ADMIN_REMOTE_JAR=/home/th/workspace/test/swarm/dockerfile/hhz-admin/${HHZ_ADMIN_JAR}
|
||||||
|
else
|
||||||
|
echo "环境变量 HHZ_ADMIN_REMOTE_JAR 已设置,设置为 ${HHZ_ADMIN_REMOTE_JAR}"
|
||||||
|
fi
|
||||||
|
export HHZ_ADMIN_MEMORY=1g
|
||||||
|
if [ -z "${HHZ_ADMIN_WEB_DIST}" ]; then
|
||||||
|
export HHZ_ADMIN_WEB_DIST=/Users/sunpeng/workspace/remote/tuoheng_hhz_web/dist
|
||||||
|
else
|
||||||
|
echo "环境变量 HHZ_ADMIN_WEB_DIST 已设置,设置为 ${HHZ_ADMIN_WEB_DIST}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
#机场平台
|
||||||
|
export AIRPORT_NAME=AIRPORT${DOMAIN}
|
||||||
|
export AIRPORT_IMAGE=${REGISTRY_HOST}airport:${DOMAIN}${VERSION}
|
||||||
|
export AIRPORT_JAR=tuoheng_airport_admin.jar
|
||||||
|
if [ -z "${AIRPORT_REMOTE_JAR}" ]; then
|
||||||
|
export AIRPORT_REMOTE_JAR=/Users/sunpeng/workspace/remote/tuoheng_airport/tuoheng-admin/target/${AIRPORT_JAR}
|
||||||
|
else
|
||||||
|
echo "环境变量 AIRPORT_REMOTE_JAR 已设置,设置为 ${AIRPORT_REMOTE_JAR}"
|
||||||
|
fi
|
||||||
|
if [ -z "${AIRPORT_WEB_DIST}" ]; then
|
||||||
|
export AIRPORT_WEB_DIST=/Users/sunpeng/workspace/remote/docker/tuoheng_airport_web/dist
|
||||||
|
else
|
||||||
|
echo "环境变量 AIRPORT_WEB_DIST 已设置,设置为 ${AIRPORT_WEB_DIST}"
|
||||||
|
fi
|
||||||
|
export AIRPORT_MEMORY=1g
|
||||||
|
|
||||||
|
|
||||||
#主机INGRESS_PORT 映射到容器80 INGRESS_SSL_PORT 映射到容器 443
|
export BUSINESS_NAME=BUSINESS${DOMAIN}
|
||||||
export INGRESS_PORT=80
|
export BUSINESS_IMAGE=${REGISTRY_HOST}business:${DOMAIN}${VERSION}
|
||||||
#export INGRESS_SSL_PORT=443
|
export BUSINESS_JAR=tuoheng_business_admin.jar
|
||||||
|
if [ -z "${BUSINESS_REMOTE_JAR}" ]; then
|
||||||
export OIDC_URL=https://oidc-$DOMAIN-software.t-aaron.com
|
export BUSINESS_REMOTE_JAR=/home/th/workspace/test/swarm/dockerfile/business/${BUSINESS_JAR}
|
||||||
export OIDC_PORT=8090
|
else
|
||||||
export XXL_JOB=http://xxljob:8080/xxl-job-admin
|
echo "环境变量 BUSINESS_REMOTE_JAR 已设置,设置为 ${BUSINESS_REMOTE_JAR}"
|
||||||
#固定基本配置
|
fi
|
||||||
export TZ=Asia/Shanghai
|
export BUSINESS_MEMORY=512m
|
||||||
export SPRING_CLOUD_CONSUL_HOST=consul
|
if [ -z "${BUSINESS_WEB_DIST}" ]; then
|
||||||
export SPRING_CLOUD_CONSUL_PORT=8500
|
export BUSINESS_WEB_DIST=/Users/sunpeng/workspace/remote/tuoheng_hhz_web/dist
|
||||||
|
else
|
||||||
|
echo "环境变量 BUSINESS_WEB_DIST 已设置,设置为 ${BUSINESS_WEB_DIST}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
export DSP_API_NAME=DSP-API${DOMAIN}
|
||||||
|
export DSP_API_IMAGE=${REGISTRY_HOST}dspapi:${DOMAIN}${VERSION}
|
||||||
|
export DSP_API_JAR=tuoheng_dsp_api.jar
|
||||||
|
if [ -z "${DSP_API_REMOTE_JAR}" ]; then
|
||||||
|
export DSP_API_REMOTE_JAR=/home/th/workspace/test/swarm/dockerfile/dsp-api/${DSP_API_JAR}
|
||||||
|
else
|
||||||
|
echo "环境变量 DSP_API_REMOTE_JAR 已设置,设置为 ${DSP_API_REMOTE_JAR}"
|
||||||
|
fi
|
||||||
|
export DSP_API_MEMORY=1g
|
||||||
|
|
||||||
|
export DSP_ADMIN_NAME=DSP-ADMIN${DOMAIN}
|
||||||
|
export DSP_ADMIN_IMAGE=${REGISTRY_HOST}dspadmin:${DOMAIN}${VERSION}
|
||||||
|
export DSP_ADMIN_JAR=tuoheng_dsp_admin.jar
|
||||||
|
if [ -z "${DSP_ADMIN_REMOTE_JAR}" ]; then
|
||||||
|
export DSP_ADMIN_REMOTE_JAR=/home/th/workspace/test/swarm/dockerfile/dsp-admin/${DSP_ADMIN_JAR}
|
||||||
|
else
|
||||||
|
echo "环境变量 DSP_ADMIN_REMOTE_JAR 已设置,设置为 ${DSP_ADMIN_REMOTE_JAR}"
|
||||||
|
fi
|
||||||
|
export DSP_ADMIN_MEMORY=512m
|
||||||
|
if [ -z "${DSP_ADMIN_WEB_DIST}" ]; then
|
||||||
|
export DSP_ADMIN_WEB_DIST=/home/th/workspace/dockerbuilder/webs/dsp-admin/dist
|
||||||
|
else
|
||||||
|
echo "环境变量 DSP_ADMIN_WEB_DIST 已设置,设置为 ${DSP_ADMIN_WEB_DIST}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
export DSP_INSPECTION_NAME=DSP-INSPECTION${DOMAIN}
|
||||||
|
export DSP_INSPECTION_IMAGE=${REGISTRY_HOST}dspinspection:${DOMAIN}${VERSION}
|
||||||
|
export DSP_INSPECTION_JAR=tuoheng_dsp_inspection.jar
|
||||||
|
if [ -z "${DSP_INSPECTION_REMOTE_JAR}" ]; then
|
||||||
|
export DSP_INSPECTION_REMOTE_JAR=/home/th/workspace/test/swarm/dockerfile/dsp-inspection/${DSP_INSPECTION_JAR}
|
||||||
|
else
|
||||||
|
echo "环境变量 DSP_INSPECTION_REMOTE_JAR 已设置,设置为 ${DSP_INSPECTION_REMOTE_JAR}"
|
||||||
|
fi
|
||||||
|
export DSP_INSPECTION_MEMORY=512m
|
||||||
|
|
||||||
|
export DSP_MINI_NAME=DSP-MINI${DOMAIN}
|
||||||
|
export DSP_MINI_IMAGE=${REGISTRY_HOST}dspmini:${DOMAIN}${VERSION}
|
||||||
|
export DSP_MINI_JAR=tuoheng_dsp_miniprogram.jar
|
||||||
|
if [ -z "${DSP_MINI_REMOTE_JAR}" ]; then
|
||||||
|
export DSP_MINI_REMOTE_JAR=/home/th/workspace/test/swarm/dockerfile/dsp-mini/${DSP_MINI_JAR}
|
||||||
|
else
|
||||||
|
echo "环境变量 DSP_MINI_REMOTE_JAR 已设置,设置为 ${DSP_MINI_REMOTE_JAR}"
|
||||||
|
fi
|
||||||
|
export DSP_MINI_MEMORY=512m
|
||||||
|
|
||||||
|
export DSP_PORTAL_NAME=DSP-PORTAL${DOMAIN}
|
||||||
|
export DSP_PORTAL_IMAGE=${REGISTRY_HOST}dspportal:${DOMAIN}${VERSION}
|
||||||
|
export DSP_PORTAL_JAR=tuoheng_dsp_portal.jar
|
||||||
|
if [ -z "${DSP_PORTAL_REMOTE_JAR}" ]; then
|
||||||
|
export DSP_PORTAL_REMOTE_JAR=/home/th/workspace/test/swarm/dockerfile/dsp-portal/${DSP_PORTAL_JAR}
|
||||||
|
else
|
||||||
|
echo "环境变量 DSP_PORTAL_REMOTE_JAR 已设置,设置为 ${DSP_PORTAL_REMOTE_JAR}"
|
||||||
|
fi
|
||||||
|
export DSP_PORTAL_MEMORY=512m
|
||||||
|
|
@ -1,7 +1,10 @@
|
||||||
source ../environment.sh
|
source ../environment.sh
|
||||||
if ! docker network inspect ${NETWORK} >/dev/null 2>&1; then
|
if ! docker network inspect ${NETWORK} >/dev/null 2>&1; then
|
||||||
docker network create --driver bridge ${NETWORK}
|
docker network create --driver bridge \
|
||||||
echo "创建 ${NETWORK} bridge 网络成功"
|
--subnet=172.20.0.0/16 \
|
||||||
|
--gateway=172.20.0.1 \
|
||||||
|
${NETWORK}
|
||||||
|
echo "创建 ${NETWORK} bridge 网络成功,子网: 172.20.0.0/16,网关: 172.20.0.1"
|
||||||
else
|
else
|
||||||
echo "${NETWORK} 网络已存在"
|
echo "${NETWORK} 网络已存在"
|
||||||
fi
|
fi
|
||||||
|
|
@ -43,4 +43,18 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
source ../environment.sh
|
||||||
|
if ! docker volume inspect ${KAFKA_DATA} >/dev/null 2>&1; then
|
||||||
|
docker volume create ${KAFKA_DATA}
|
||||||
|
echo "创建 ${KAFKA_DATA} 卷成功"
|
||||||
|
else
|
||||||
|
echo "${KAFKA_DATA} 卷已存在"
|
||||||
|
fi
|
||||||
|
|
||||||
|
source ../environment.sh
|
||||||
|
if ! docker volume inspect ${STREAM_DATA} >/dev/null 2>&1; then
|
||||||
|
docker volume create ${STREAM_DATA}
|
||||||
|
echo "创建 ${STREAM_DATA} 卷成功"
|
||||||
|
else
|
||||||
|
echo "${STREAM_DATA} 卷已存在"
|
||||||
|
fi
|
||||||
|
|
@ -26,6 +26,7 @@ docker run -d \
|
||||||
-p ${MQTT_WS_PORT}:9001 \
|
-p ${MQTT_WS_PORT}:9001 \
|
||||||
--memory ${MQTT_MEMORY} \
|
--memory ${MQTT_MEMORY} \
|
||||||
--restart unless-stopped \
|
--restart unless-stopped \
|
||||||
|
-v $(pwd)/volumes/mqtt/mosquitto.conf:/mosquitto/config/mosquitto.conf \
|
||||||
${MQTT_IMAGE}
|
${MQTT_IMAGE}
|
||||||
|
|
||||||
docker ps
|
docker ps
|
||||||
|
|
@ -4,10 +4,7 @@ echo "错误: 未找到 NETWORK 环境变量"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$HOST_IP" ]; then
|
|
||||||
echo "错误: 未找到 HOST_IP 环境变量"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "$KAFKA_PORT" ]; then
|
if [ -z "$KAFKA_PORT" ]; then
|
||||||
echo "错误: 未找到 KAFKA_PORT 环境变量"
|
echo "错误: 未找到 KAFKA_PORT 环境变量"
|
||||||
|
|
@ -40,23 +37,62 @@ docker run -d \
|
||||||
--name ${KAFKA_NAME} \
|
--name ${KAFKA_NAME} \
|
||||||
--network $NETWORK \
|
--network $NETWORK \
|
||||||
-p ${KAFKA_PORT}:9092 \
|
-p ${KAFKA_PORT}:9092 \
|
||||||
-e KAFKA_NODE_ID=1 \
|
-e KAFKA_CFG_NODE_ID=1 \
|
||||||
-e KAFKA_PROCESS_ROLES=broker,controller \
|
-e KAFKA_CFG_PROCESS_ROLES=broker,controller \
|
||||||
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092,CONTROLLER://0.0.0.0:29093 \
|
-e KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:29093 \
|
||||||
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://${HOST_IP}:${KAFKA_PORT} \
|
-e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://${KAFKA_NAME}:9092 \
|
||||||
-e KAFKA_CONTROLLER_QUORUM_VOTERS=1@${KAFKA_NAME}:29093 \
|
-e KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@${KAFKA_NAME}:29093 \
|
||||||
-e KAFKA_CONTROLLER_LISTENER_NAMES=CONTROLLER \
|
-e KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER \
|
||||||
-e CLUSTER_ID=b8f3a0c1-1234-5678-9abc-def012345678 \
|
-e KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT \
|
||||||
-e KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT \
|
-e KAFKA_CFG_INTER_BROKER_LISTENER_NAME=PLAINTEXT \
|
||||||
-e KAFKA_INTER_BROKER_LISTENER_NAME=PLAINTEXT \
|
-e KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR=1 \
|
||||||
-e KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 \
|
-e KAFKA_CFG_TRANSACTION_STATE_LOG_REPLICATION_FACTOR=1 \
|
||||||
-e KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR=1 \
|
-e KAFKA_CFG_TRANSACTION_STATE_LOG_MIN_ISR=1 \
|
||||||
-e KAFKA_TRANSACTION_STATE_LOG_MIN_ISR=1 \
|
-e KAFKA_CFG_GROUP_INITIAL_REBALANCE_DELAY_MS=0 \
|
||||||
-e KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS=0 \
|
-e KAFKA_CFG_NUM_PARTITIONS=3 \
|
||||||
-e KAFKA_NUM_PARTITIONS=3 \
|
-e KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true \
|
||||||
-e KAFKA_AUTO_CREATE_TOPICS_ENABLE=true \
|
-e KAFKA_CFG_LOG_RETENTION_HOURS=168 \
|
||||||
--memory ${KAFKA_MEMORY} --restart unless-stopped ${KAFKA_IMAGE}
|
-e KAFKA_CFG_LOG_RETENTION_BYTES=-1 \
|
||||||
|
-e KAFKA_CFG_DELETE_TOPIC_ENABLE=true \
|
||||||
|
--mount type=volume,source=${KAFKA_DATA},target=/bitnami/kafka \
|
||||||
|
--memory ${KAFKA_MEMORY} \
|
||||||
|
--restart unless-stopped \
|
||||||
|
${KAFKA_IMAGE}
|
||||||
|
|
||||||
|
docker ps
|
||||||
|
|
||||||
|
# 等待 Kafka 服务就绪
|
||||||
|
echo "等待 Kafka 服务就绪..."
|
||||||
|
sleep 30
|
||||||
|
|
||||||
|
# 创建所需的 topics
|
||||||
|
echo "开始创建 Kafka topics..."
|
||||||
|
|
||||||
|
# 创建机场相关 topics
|
||||||
|
docker exec ${KAFKA_NAME} /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic airport-push-voltage-imitateFly
|
||||||
|
docker exec ${KAFKA_NAME} /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic airport-push-voltage-task
|
||||||
|
docker exec ${KAFKA_NAME} /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic airport-push-voltage-test
|
||||||
|
docker exec ${KAFKA_NAME} /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic business-update-dataPermissions-task
|
||||||
|
|
||||||
|
# 创建 DSP 算法相关 topics
|
||||||
|
docker exec ${KAFKA_NAME} /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic dsp-alg-online-tasks
|
||||||
|
docker exec ${KAFKA_NAME} /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic dsp-alg-offline-tasks
|
||||||
|
docker exec ${KAFKA_NAME} /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic dsp-alg-image-tasks
|
||||||
|
docker exec ${KAFKA_NAME} /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic dsp-alg-task-results
|
||||||
|
docker exec ${KAFKA_NAME} /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic dsp-local
|
||||||
|
|
||||||
|
# 创建 DSP 录制相关 topics
|
||||||
|
docker exec ${KAFKA_NAME} /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic dsp-recording-task
|
||||||
|
docker exec ${KAFKA_NAME} /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic dsp-recording-result
|
||||||
|
docker exec ${KAFKA_NAME} /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic dsp-recording-local
|
||||||
|
|
||||||
|
# 创建 DSP 推流相关 topics
|
||||||
|
docker exec ${KAFKA_NAME} /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic dsp-push-stream-task
|
||||||
|
docker exec ${KAFKA_NAME} /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic dsp-push-stream-result
|
||||||
|
docker exec ${KAFKA_NAME} /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic dsp-push-stream-local
|
||||||
|
|
||||||
|
# 列出所有创建的 topics
|
||||||
|
echo "已创建的 topics 列表:"
|
||||||
|
docker exec ${KAFKA_NAME} /opt/bitnami/kafka/bin/kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --list
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -20,10 +20,7 @@ if [ -z "$SRS_RTMP_PORT" ]; then
|
||||||
echo "错误: 未找到 SRS_RTMP_PORT 环境变量"
|
echo "错误: 未找到 SRS_RTMP_PORT 环境变量"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
if [ -z "$SRS_HTTP_PORT" ]; then
|
|
||||||
echo "错误: 未找到 SRS_HTTP_PORT 环境变量"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [ -z "$SRS_RTC_PORT" ]; then
|
if [ -z "$SRS_RTC_PORT" ]; then
|
||||||
echo "错误: 未找到 SRS_RTC_PORT 环境变量"
|
echo "错误: 未找到 SRS_RTC_PORT 环境变量"
|
||||||
exit 1
|
exit 1
|
||||||
|
|
@ -39,16 +36,30 @@ if docker ps -a | grep -q ${SRS_NAME}; then
|
||||||
docker rm ${SRS_NAME} >/dev/null 2>&1
|
docker rm ${SRS_NAME} >/dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# 在容器内检查并创建必要的目录结构
|
||||||
|
echo "检查SRS目录结构..."
|
||||||
|
docker run --rm \
|
||||||
|
-v "${SRS_DATA}:/usr/local/srs/objs/nginx/html" \
|
||||||
|
$SRS_IMAGE \
|
||||||
|
/bin/sh -c '
|
||||||
|
if [ -d "/usr/local/srs/objs/nginx/html/record" ]; then
|
||||||
|
echo "record目录已存在,跳过创建"
|
||||||
|
else
|
||||||
|
echo "创建record目录..."
|
||||||
|
mkdir -p /usr/local/srs/objs/nginx/html/record
|
||||||
|
fi
|
||||||
|
'
|
||||||
|
|
||||||
# 启动SRS容器
|
# 启动SRS容器
|
||||||
# 启动SRS容器
|
# 启动SRS容器 默认也有8080端口
|
||||||
docker run -d \
|
docker run -d \
|
||||||
--name ${SRS_NAME} \
|
--name ${SRS_NAME} \
|
||||||
--network $NETWORK \
|
--network $NETWORK \
|
||||||
--memory $SRS_MEMORY \
|
--memory $SRS_MEMORY \
|
||||||
--restart unless-stopped \
|
--restart unless-stopped \
|
||||||
-p ${SRS_RTMP_PORT}:1935 \
|
-p ${SRS_RTMP_PORT}:1935 \
|
||||||
-p ${SRS_HTTP_PORT}:8080 \
|
|
||||||
-p ${SRS_RTC_PORT}:8000/udp \
|
-p ${SRS_RTC_PORT}:8000/udp \
|
||||||
-v "$(pwd)/volumes/srs/conf/srs.conf:/usr/local/srs/conf/srs.conf" \
|
-v "$(pwd)/volumes/srs/conf/srs.conf:/usr/local/srs/conf/docker.conf" \
|
||||||
-v "${SRS_DATA}:/usr/local/srs/objs" \
|
-v "${SRS_DATA}:/usr/local/srs/objs/nginx/html" \
|
||||||
|
--mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly \
|
||||||
$SRS_IMAGE
|
$SRS_IMAGE
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,14 @@ if [ -z "$MINIO_ROOT_PASSWORD" ]; then
|
||||||
echo "错误: 未找到 MINIO_ROOT_PASSWORD 环境变量"
|
echo "错误: 未找到 MINIO_ROOT_PASSWORD 环境变量"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
if [ -z "$MINIO_ACCESS_KEY" ]; then
|
||||||
|
echo "错误: 未找到 MINIO_ACCESS_KEY 环境变量"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ -z "$MINIO_SECRET_KEY" ]; then
|
||||||
|
echo "错误: 未找到 MINIO_SECRET_KEY 环境变量"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
if docker ps -a | grep -q ${MINIO_NAME}; then
|
if docker ps -a | grep -q ${MINIO_NAME}; then
|
||||||
echo "停止并删除已存在的 MinIO 容器..."
|
echo "停止并删除已存在的 MinIO 容器..."
|
||||||
|
|
@ -55,3 +63,73 @@ docker run -d \
|
||||||
-e MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD} \
|
-e MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD} \
|
||||||
-v "${MINIO_DATA}:/data" \
|
-v "${MINIO_DATA}:/data" \
|
||||||
$MINIO_IMAGE server /data --console-address ":9001"
|
$MINIO_IMAGE server /data --console-address ":9001"
|
||||||
|
|
||||||
|
# 等待 MinIO 服务启动
|
||||||
|
echo "等待 MinIO 服务启动..."
|
||||||
|
sleep 10
|
||||||
|
|
||||||
|
# 创建 MinIO 服务账号配置目录
|
||||||
|
mkdir -p $(pwd)/volumes/minio/policies
|
||||||
|
|
||||||
|
# 创建 MinIO 服务账号配置文件
|
||||||
|
cat > $(pwd)/volumes/minio/policies/mqtt-policy.json << EOF
|
||||||
|
{
|
||||||
|
"Version": "2012-10-17",
|
||||||
|
"Statement": [
|
||||||
|
{
|
||||||
|
"Effect": "Allow",
|
||||||
|
"Action": [
|
||||||
|
"admin:*"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Effect": "Allow",
|
||||||
|
"Action": [
|
||||||
|
"kms:*"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Effect": "Allow",
|
||||||
|
"Action": [
|
||||||
|
"s3:*"
|
||||||
|
],
|
||||||
|
"Resource": [
|
||||||
|
"arn:aws:s3:::*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# 创建 MinIO 服务账号
|
||||||
|
echo "创建 MinIO 服务账号..."
|
||||||
|
docker exec ${MINIO_NAME} mc alias set myminio http://localhost:9000 ${MINIO_ROOT_USER} ${MINIO_ROOT_PASSWORD}
|
||||||
|
docker exec ${MINIO_NAME} mc admin user add myminio ${MINIO_ACCESS_KEY} ${MINIO_SECRET_KEY}
|
||||||
|
|
||||||
|
# 将策略文件复制到容器内
|
||||||
|
docker cp $(pwd)/volumes/minio/policies/mqtt-policy.json ${MINIO_NAME}:/tmp/mqtt-policy.json
|
||||||
|
|
||||||
|
# 创建和附加策略
|
||||||
|
docker exec ${MINIO_NAME} mc admin policy create myminio mqtt-policy /tmp/mqtt-policy.json
|
||||||
|
docker exec ${MINIO_NAME} mc admin policy attach myminio mqtt-policy --user ${MINIO_ACCESS_KEY}
|
||||||
|
|
||||||
|
# 清理临时文件
|
||||||
|
docker exec ${MINIO_NAME} rm /tmp/mqtt-policy.json
|
||||||
|
|
||||||
|
# 创建所需的 bucket
|
||||||
|
echo "创建所需的 bucket..."
|
||||||
|
for bucket in default image ta-tech-image th-airport th-dsp video; do
|
||||||
|
echo "处理 bucket: $bucket"
|
||||||
|
# 检查 bucket 是否存在
|
||||||
|
if ! docker exec ${MINIO_NAME} mc ls myminio/$bucket >/dev/null 2>&1; then
|
||||||
|
echo "创建 bucket: $bucket"
|
||||||
|
docker exec ${MINIO_NAME} mc mb myminio/$bucket
|
||||||
|
else
|
||||||
|
echo "bucket $bucket 已存在"
|
||||||
|
fi
|
||||||
|
# 设置 bucket 为 public
|
||||||
|
echo "设置 bucket $bucket 为 public"
|
||||||
|
docker exec ${MINIO_NAME} mc anonymous set public myminio/$bucket
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "MinIO 服务账号和 bucket 创建完成"
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
source ../../../environment.sh
|
||||||
|
docker run --rm -v ${MINIO_DATA}:/data registry.t-aaron.com/tuoheng/alpine tar czf - -C /data . > minio_backup.tar.gz
|
||||||
Binary file not shown.
|
|
@ -0,0 +1,3 @@
|
||||||
|
source ../../../environment.sh
|
||||||
|
docker volume create ${MINIO_DATA}
|
||||||
|
docker run --rm -i -v ${MINIO_DATA}:/data alpine sh -c "tar xzf - -C /data" < minio_backup.tar.gz
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
{
|
||||||
|
"Version": "2012-10-17",
|
||||||
|
"Statement": [
|
||||||
|
{
|
||||||
|
"Effect": "Allow",
|
||||||
|
"Action": [
|
||||||
|
"admin:*"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Effect": "Allow",
|
||||||
|
"Action": [
|
||||||
|
"kms:*"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Effect": "Allow",
|
||||||
|
"Action": [
|
||||||
|
"s3:*"
|
||||||
|
],
|
||||||
|
"Resource": [
|
||||||
|
"arn:aws:s3:::*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
listener 1883
|
||||||
|
allow_anonymous true
|
||||||
|
persistence false
|
||||||
|
log_dest stdout
|
||||||
|
log_type all
|
||||||
|
connection_messages true
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
listen 1935;
|
listen 1935;
|
||||||
max_connections 1000;
|
max_connections 1000;
|
||||||
srs_log_tank file;
|
srs_log_tank console;
|
||||||
srs_log_file ./objs/srs.log;
|
daemon off;
|
||||||
|
|
||||||
http_server {
|
http_server {
|
||||||
enabled on;
|
enabled on;
|
||||||
|
|
@ -15,13 +15,39 @@ rtc_server {
|
||||||
}
|
}
|
||||||
|
|
||||||
vhost __defaultVhost__ {
|
vhost __defaultVhost__ {
|
||||||
|
|
||||||
|
dvr {
|
||||||
|
enabled on;
|
||||||
|
#all表示录制所有视频流,也可以按频道录制
|
||||||
|
#规则为<app>/<stream>,例:live/stream1 live/stream2
|
||||||
|
#规则为<app>/<stream>,例:live/stream1 live/stream2
|
||||||
|
dvr_apply all;
|
||||||
|
#dvr计划
|
||||||
|
dvr_plan segment;
|
||||||
|
#录制的路径,详细配置规则见附录三
|
||||||
|
dvr_path ./objs/nginx/html/record/[2006][01][02]/[app][stream]/[timestamp].flv;
|
||||||
|
#segment方式录制时间设置,单位: s
|
||||||
|
dvr_duration 900;
|
||||||
|
#开启按关键帧且flv
|
||||||
|
dvr_wait_keyframe on;
|
||||||
|
#时间戳抖动算法。full使用完全的时间戳矫正;
|
||||||
|
#zero只是保证从0开始;off不矫正时间戳。
|
||||||
|
time_jitter full;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
rtc {
|
rtc {
|
||||||
enabled on;
|
enabled on;
|
||||||
|
# 开启rtc录制
|
||||||
|
rtmp_to_rtc on;
|
||||||
|
rtc_to_rtmp on;
|
||||||
}
|
}
|
||||||
|
|
||||||
http_remux {
|
http_remux {
|
||||||
enabled on;
|
enabled on;
|
||||||
mount [vhost]/[app]/[stream].flv;
|
mount [vhost]/[app]/[stream].flv;
|
||||||
}
|
}
|
||||||
|
|
||||||
hls {
|
hls {
|
||||||
enabled on;
|
enabled on;
|
||||||
hls_path ./objs/nginx/html;
|
hls_path ./objs/nginx/html;
|
||||||
|
|
|
||||||
|
|
@ -3,15 +3,32 @@ FROM nginx:latest
|
||||||
# 删除默认的nginx配置
|
# 删除默认的nginx配置
|
||||||
RUN rm -rf /etc/nginx/conf.d/*
|
RUN rm -rf /etc/nginx/conf.d/*
|
||||||
|
|
||||||
# 复制vhosts配置到nginx配置目录
|
# 每增加一个前端项目,需要在这里添加一个临时目录,并复制文件;Dockerfile.nginx 中也要添加一个COPY命令
|
||||||
COPY vhosts/ /etc/nginx/conf.d/
|
# 创建目标目录
|
||||||
|
RUN mkdir -p /data/tuoheng_airport_web/dist
|
||||||
|
RUN mkdir -p /data/tuoheng_hhz_web/dist
|
||||||
|
RUN mkdir -p /data/tuoheng_business_web/dist
|
||||||
|
|
||||||
|
# 创建视频录制和图片的地址
|
||||||
|
RUN mkdir -p /data/recording
|
||||||
|
RUN mkdir -p /data/srs
|
||||||
|
|
||||||
|
# 复制temp_vhosts配置到nginx配置目录
|
||||||
|
COPY temp_vhosts/ /etc/nginx/conf.d/
|
||||||
|
|
||||||
# 复制SSL证书文件到nginx目录
|
# 复制SSL证书文件到nginx目录
|
||||||
COPY vhosts/cert/t-aaron.com.pem /etc/nginx/t-aaron.com.pem
|
COPY vhosts/cert/t-aaron.com.pem /etc/nginx/t-aaron.com.pem
|
||||||
COPY vhosts/cert/t-aaron.com.key /etc/nginx/t-aaron.com.key
|
COPY vhosts/cert/t-aaron.com.key /etc/nginx/t-aaron.com.key
|
||||||
|
|
||||||
|
# 每增加一个前端项目,需要在这里添加一个临时目录,并复制文件;Dockerfile.nginx 中也要添加一个COPY命令
|
||||||
|
# 复制 AIRPORT_WEB_DIST 目录下的文件到容器中
|
||||||
|
COPY airport_web_dist/ /data/tuoheng_airport_web/dist/
|
||||||
|
COPY hhz_admin_web_dist/ /data/tuoheng_hhz_web/dist/
|
||||||
|
COPY business_web_dist/ /data/tuoheng_business_web/dist/
|
||||||
|
|
||||||
# 设置正确的权限
|
# 设置正确的权限
|
||||||
RUN chmod 644 /etc/nginx/t-aaron.com.pem /etc/nginx/t-aaron.com.key
|
RUN chmod 644 /etc/nginx/t-aaron.com.pem /etc/nginx/t-aaron.com.key && \
|
||||||
|
chmod -R 755 /data/tuoheng_airport_web/dist
|
||||||
|
|
||||||
# 设置时区
|
# 设置时区
|
||||||
ENV TZ=Asia/Shanghai
|
ENV TZ=Asia/Shanghai
|
||||||
|
|
|
||||||
|
|
@ -11,10 +11,10 @@ if [ $? -ne 0 ]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo ""
|
#echo ""
|
||||||
echo "变量替换已完成,请检查 temp_vhosts/ 目录中的文件"
|
echo "变量替换已完成,请检查 temp_vhosts/ 目录中的文件"
|
||||||
echo "确认替换结果无误后,按回车键继续构建镜像,或按Ctrl+C取消"
|
#echo "确认替换结果无误后,按回车键继续构建镜像,或按Ctrl+C取消"
|
||||||
read -p ""
|
#read -p ""
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "步骤2: 构建Nginx镜像..."
|
echo "步骤2: 构建Nginx镜像..."
|
||||||
|
|
@ -29,13 +29,46 @@ if [ ! -f "vhosts/cert/t-aaron.com.pem" ] || [ ! -f "vhosts/cert/t-aaron.com.key
|
||||||
echo "Nginx容器的SSL功能可能无法正常工作"
|
echo "Nginx容器的SSL功能可能无法正常工作"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 将替换后的配置文件复制到vhosts目录
|
# 检查 AIRPORT_WEB_DIST 目录是否存在
|
||||||
cp -r $TEMP_DIR/* vhosts/
|
if [ -z "${AIRPORT_WEB_DIST}" ]; then
|
||||||
|
echo "错误: AIRPORT_WEB_DIST 环境变量未设置!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d "${AIRPORT_WEB_DIST}" ]; then
|
||||||
|
echo "错误: AIRPORT_WEB_DIST 目录不存在: ${AIRPORT_WEB_DIST}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d "${HHZ_ADMIN_WEB_DIST}" ]; then
|
||||||
|
echo "错误: HHZ_ADMIN_WEB_DIST 目录不存在: ${HHZ_ADMIN_WEB_DIST}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 每增加一个前端项目,需要在这里添加一个临时目录,并复制文件;Dockerfile.nginx 中也要添加一个COPY命令
|
||||||
|
echo "创建临时目录并复制 AIRPORT_WEB_DIST 文件..."
|
||||||
|
rm -rf airport_web_dist
|
||||||
|
mkdir -p airport_web_dist
|
||||||
|
cp -r "${AIRPORT_WEB_DIST}"/* airport_web_dist/
|
||||||
|
|
||||||
|
rm -rf hhz_admin_web_dist
|
||||||
|
mkdir -p hhz_admin_web_dist
|
||||||
|
cp -r "${HHZ_ADMIN_WEB_DIST}"/* hhz_admin_web_dist/
|
||||||
|
|
||||||
|
rm -rf business_web_dist
|
||||||
|
mkdir -p business_web_dist
|
||||||
|
cp -r "${BUSINESS_WEB_DIST}"/* business_web_dist/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# 构建Docker镜像
|
# 构建Docker镜像
|
||||||
echo "使用Dockerfile.nginx构建镜像..."
|
echo "使用Dockerfile.nginx构建镜像..."
|
||||||
docker build -t ${NGINX_IMAGE} -f Dockerfile.nginx .
|
docker build -t ${NGINX_IMAGE} -f Dockerfile.nginx .
|
||||||
|
|
||||||
|
# 清理临时目录
|
||||||
|
rm -rf airport_web_dist
|
||||||
|
rm -rf hhz_admin_web_dist
|
||||||
|
|
||||||
# 检查构建结果
|
# 检查构建结果
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
echo "Nginx镜像构建成功: ${NGINX_IMAGE}"
|
echo "Nginx镜像构建成功: ${NGINX_IMAGE}"
|
||||||
|
|
@ -56,3 +89,4 @@ fi
|
||||||
|
|
||||||
echo "Nginx镜像构建和推送完成!"
|
echo "Nginx镜像构建和推送完成!"
|
||||||
echo "SSL证书已被包含在镜像中,位于/etc/nginx/目录下"
|
echo "SSL证书已被包含在镜像中,位于/etc/nginx/目录下"
|
||||||
|
echo "AIRPORT_WEB_DIST 文件已被复制到镜像中的 /data/tuoheng_airport_web/dist 目录"
|
||||||
|
|
@ -14,6 +14,7 @@ fi
|
||||||
# 检查vhosts目录中是否有配置文件
|
# 检查vhosts目录中是否有配置文件
|
||||||
if [ -z "$(ls -A vhosts/*.conf 2>/dev/null)" ]; then
|
if [ -z "$(ls -A vhosts/*.conf 2>/dev/null)" ]; then
|
||||||
echo "警告: vhosts目录中没有.conf文件,没有配置文件需要处理"
|
echo "警告: vhosts目录中没有.conf文件,没有配置文件需要处理"
|
||||||
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 创建临时目录
|
# 创建临时目录
|
||||||
|
|
@ -47,14 +48,17 @@ for conf_file in vhosts/*.conf; do
|
||||||
var_name=$(echo $var | cut -d= -f1)
|
var_name=$(echo $var | cut -d= -f1)
|
||||||
var_value=${!var_name}
|
var_value=${!var_name}
|
||||||
if [ ! -z "$var_value" ]; then
|
if [ ! -z "$var_value" ]; then
|
||||||
# 使用简单的变量替换方法
|
# 使用更安全的变量替换方法
|
||||||
pattern="\\\${$var_name}"
|
pattern="\\\${$var_name}"
|
||||||
|
|
||||||
|
# 转义特殊字符
|
||||||
|
escaped_value=$(echo "$var_value" | sed 's/[\/&]/\\&/g')
|
||||||
echo " 替换变量: ${pattern} -> $var_value"
|
echo " 替换变量: ${pattern} -> $var_value"
|
||||||
content=$(echo "$content" | sed "s|${pattern}|$var_value|g")
|
content=$(echo "$content" | sed "s|${pattern}|${escaped_value}|g")
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# 写入处理后的内容到目标文件
|
# 写入处理后的内容到临时文件
|
||||||
echo "$content" > "$TEMP_DIR/$filename"
|
echo "$content" > "$TEMP_DIR/$filename"
|
||||||
|
|
||||||
echo " 文件处理完成: $filename"
|
echo " 文件处理完成: $filename"
|
||||||
|
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
server {
|
|
||||||
listen 80;
|
|
||||||
listen 443 ssl;
|
|
||||||
|
|
||||||
server_name oidc-bazhong.t-aaron.com;
|
|
||||||
|
|
||||||
# SSL证书配置
|
|
||||||
ssl_certificate /etc/nginx/t-aaron.com.pem;
|
|
||||||
ssl_certificate_key /etc/nginx/t-aaron.com.key;
|
|
||||||
ssl_session_timeout 5m;
|
|
||||||
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
|
|
||||||
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
|
|
||||||
ssl_prefer_server_ciphers on;
|
|
||||||
|
|
||||||
|
|
||||||
location / {
|
|
||||||
proxy_pass http://OIDC_SERVER_bazhong:8090;
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
server {
|
|
||||||
listen 80;
|
|
||||||
listen 443 ssl;
|
|
||||||
server_name sky-bazhong.t-aaron.com;
|
|
||||||
|
|
||||||
# SSL证书配置
|
|
||||||
ssl_certificate /etc/nginx/t-aaron.com.pem;
|
|
||||||
ssl_certificate_key /etc/nginx/t-aaron.com.key;
|
|
||||||
ssl_session_timeout 5m;
|
|
||||||
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
|
|
||||||
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
|
|
||||||
ssl_prefer_server_ciphers on;
|
|
||||||
|
|
||||||
location / {
|
|
||||||
proxy_pass http://SKYWALKING_UI_bazhong:8080;
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
server {
|
|
||||||
listen 80;
|
|
||||||
listen 443 ssl;
|
|
||||||
server_name xxljob-bazhong.t-aaron.com;
|
|
||||||
|
|
||||||
# SSL证书配置
|
|
||||||
ssl_certificate /etc/nginx/t-aaron.com.pem;
|
|
||||||
ssl_certificate_key /etc/nginx/t-aaron.com.key;
|
|
||||||
ssl_session_timeout 5m;
|
|
||||||
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
|
|
||||||
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
|
|
||||||
ssl_prefer_server_ciphers on;
|
|
||||||
location / {
|
|
||||||
proxy_pass http://XXL_JOB_bazhong:8080;
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,50 @@
|
||||||
|
server
|
||||||
|
{
|
||||||
|
listen 80;
|
||||||
|
listen 443 ssl;
|
||||||
|
server_name ${AIRPORT_DOMAIN};
|
||||||
|
root /data/tuoheng_airport_web/dist;
|
||||||
|
|
||||||
|
# SSL证书配置
|
||||||
|
ssl_certificate /etc/nginx/t-aaron.com.pem;
|
||||||
|
ssl_certificate_key /etc/nginx/t-aaron.com.key;
|
||||||
|
ssl_session_timeout 5m;
|
||||||
|
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
|
||||||
|
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
|
||||||
|
ssl_prefer_server_ciphers on;
|
||||||
|
|
||||||
|
# 开启gzip功能
|
||||||
|
gzip on;
|
||||||
|
gzip_min_length 10k;
|
||||||
|
gzip_comp_level 9;
|
||||||
|
gzip_types text/plain text/css application/javascript application/x-javascript text/javascript application/xml;
|
||||||
|
gzip_vary on;
|
||||||
|
gzip_disable "MSIE [1-6]\.";
|
||||||
|
|
||||||
|
location /{
|
||||||
|
try_files $uri $uri/ @router;
|
||||||
|
index index.html;
|
||||||
|
proxy_redirect http://${AIRPORT_DOMAIN} https://${AIRPORT_DOMAIN_FULL};
|
||||||
|
}
|
||||||
|
|
||||||
|
location @router{
|
||||||
|
rewrite ^.*$ /index.html last;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /airport {
|
||||||
|
proxy_pass http://gatewayService/airport;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection "upgrade";
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /permission {
|
||||||
|
proxy_pass http://airportService/permission;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,56 @@
|
||||||
|
server
|
||||||
|
{
|
||||||
|
listen 80;
|
||||||
|
listen 443 ssl;
|
||||||
|
server_name ${BUSINESS_DOMAIN};
|
||||||
|
root /data/tuoheng_business_web/dist;
|
||||||
|
|
||||||
|
# SSL证书配置
|
||||||
|
ssl_certificate /etc/nginx/t-aaron.com.pem;
|
||||||
|
ssl_certificate_key /etc/nginx/t-aaron.com.key;
|
||||||
|
ssl_session_timeout 5m;
|
||||||
|
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
|
||||||
|
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
|
||||||
|
ssl_prefer_server_ciphers on;
|
||||||
|
|
||||||
|
# 开启gzip功能
|
||||||
|
gzip on;
|
||||||
|
gzip_min_length 10k;
|
||||||
|
gzip_comp_level 9;
|
||||||
|
gzip_types text/plain text/css application/javascript application/x-javascript text/javascript application/xml;
|
||||||
|
gzip_vary on;
|
||||||
|
gzip_disable "MSIE [1-6]\.";
|
||||||
|
|
||||||
|
|
||||||
|
location /{
|
||||||
|
try_files $uri $uri/ @router;
|
||||||
|
index index.html;
|
||||||
|
proxy_redirect http://${BUSINESS_DOMAIN} https://${BUSINESS_DOMAIN_FULL};
|
||||||
|
}
|
||||||
|
|
||||||
|
location @router{
|
||||||
|
rewrite ^.*$ /index.html last;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /permission {
|
||||||
|
proxy_pass http://businessService;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /business-mini {
|
||||||
|
proxy_pass http://gatewayService;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /business {
|
||||||
|
proxy_pass http://gatewayService/business;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
server
|
||||||
|
{
|
||||||
|
listen 80;
|
||||||
|
listen 443 ssl;
|
||||||
|
server_name ${DSP_DOMAIN};
|
||||||
|
root /data/dsp_admin_web/dist;
|
||||||
|
|
||||||
|
# SSL证书配置
|
||||||
|
ssl_certificate /etc/nginx/t-aaron.com.pem;
|
||||||
|
ssl_certificate_key /etc/nginx/t-aaron.com.key;
|
||||||
|
ssl_session_timeout 5m;
|
||||||
|
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
|
||||||
|
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
|
||||||
|
ssl_prefer_server_ciphers on;
|
||||||
|
|
||||||
|
# 开启gzip功能
|
||||||
|
gzip on;
|
||||||
|
gzip_min_length 10k;
|
||||||
|
gzip_comp_level 9;
|
||||||
|
gzip_types text/plain text/css application/javascript application/x-javascript text/javascript application/xml;
|
||||||
|
gzip_vary on;
|
||||||
|
gzip_disable "MSIE [1-6]\.";
|
||||||
|
|
||||||
|
location /{
|
||||||
|
try_files $uri $uri/ @router;
|
||||||
|
index index.html;
|
||||||
|
}
|
||||||
|
|
||||||
|
location @router{
|
||||||
|
rewrite ^.*$ /index.html last;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
location /api {
|
||||||
|
proxy_pass http://gatewayService;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,54 @@
|
||||||
|
server
|
||||||
|
{
|
||||||
|
listen 80;
|
||||||
|
listen 443 ssl;
|
||||||
|
server_name ${HHZ_DOMAIN};
|
||||||
|
root /data/tuoheng_hhz_web/dist;
|
||||||
|
|
||||||
|
# SSL证书配置
|
||||||
|
ssl_certificate /etc/nginx/t-aaron.com.pem;
|
||||||
|
ssl_certificate_key /etc/nginx/t-aaron.com.key;
|
||||||
|
ssl_session_timeout 5m;
|
||||||
|
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
|
||||||
|
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
|
||||||
|
ssl_prefer_server_ciphers on;
|
||||||
|
|
||||||
|
# 开启gzip功能
|
||||||
|
gzip on;
|
||||||
|
gzip_min_length 10k;
|
||||||
|
gzip_comp_level 9;
|
||||||
|
gzip_types text/plain text/css application/javascript application/x-javascript text/javascript application/xml;
|
||||||
|
gzip_vary on;
|
||||||
|
gzip_disable "MSIE [1-6]\.";
|
||||||
|
|
||||||
|
location /{
|
||||||
|
try_files $uri $uri/ @router;
|
||||||
|
index index.html;
|
||||||
|
}
|
||||||
|
|
||||||
|
location @router{
|
||||||
|
rewrite ^.*$ /index.html last;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
location /permission {
|
||||||
|
proxy_pass http://${HHZ_ADMIN_NAME}:9055;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /wxapp {
|
||||||
|
proxy_pass http://${HHZ_API_NAME}:9056/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;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /hhz {
|
||||||
|
proxy_pass http://gatewayService/hhz;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
listen 443 ssl;
|
||||||
|
server_name ${MINIO_DOMAIN};
|
||||||
|
client_max_body_size 2g;
|
||||||
|
ssl_certificate /etc/nginx/t-aaron.com.pem;
|
||||||
|
ssl_certificate_key /etc/nginx/t-aaron.com.key;
|
||||||
|
ssl_session_timeout 5m;
|
||||||
|
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
|
||||||
|
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
|
||||||
|
ssl_prefer_server_ciphers on;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_set_header Host $http_host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_pass http://${MINIO_NAME}:9000;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /ta-tech-image/DJIimage {
|
||||||
|
add_header Content-Disposition 'attachment; filename="$arg_filename"';
|
||||||
|
add_header x-oss-force-download 'true';
|
||||||
|
proxy_set_header Host $http_host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_pass http://${MINIO_NAME}:9000;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
server {
|
server {
|
||||||
listen 80;
|
listen 80;
|
||||||
listen 443 ssl;
|
listen 443 ssl;
|
||||||
server_name consul-bazhong.t-aaron.com;
|
server_name ${MINIO_CONSOLE_DOMAIN};
|
||||||
|
|
||||||
ssl_certificate /etc/nginx/t-aaron.com.pem;
|
ssl_certificate /etc/nginx/t-aaron.com.pem;
|
||||||
ssl_certificate_key /etc/nginx/t-aaron.com.key;
|
ssl_certificate_key /etc/nginx/t-aaron.com.key;
|
||||||
|
|
@ -12,10 +12,9 @@ server {
|
||||||
ssl_prefer_server_ciphers on;
|
ssl_prefer_server_ciphers on;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://CONSUL_bazhong:8500;
|
proxy_set_header Host $http_host;
|
||||||
proxy_set_header Host $host;
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
proxy_pass http://${MINIO_NAME}:9001;
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1,23 +1,24 @@
|
||||||
server {
|
server {
|
||||||
listen 80;
|
listen 80;
|
||||||
listen 443 ssl;
|
listen 443 ssl;
|
||||||
|
server_name ${OIDC_SERVER_DOMAIN};
|
||||||
|
|
||||||
server_name ${OIDC_DOMAIN};
|
# SSL证书配置
|
||||||
|
ssl_certificate /etc/nginx/t-aaron.com.pem;
|
||||||
|
ssl_certificate_key /etc/nginx/t-aaron.com.key;
|
||||||
|
ssl_session_timeout 5m;
|
||||||
|
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
|
||||||
|
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
|
||||||
|
ssl_prefer_server_ciphers on;
|
||||||
|
|
||||||
# SSL证书配置
|
location / {
|
||||||
ssl_certificate /etc/nginx/t-aaron.com.pem;
|
|
||||||
ssl_certificate_key /etc/nginx/t-aaron.com.key;
|
|
||||||
ssl_session_timeout 5m;
|
|
||||||
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
|
|
||||||
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
|
|
||||||
ssl_prefer_server_ciphers on;
|
|
||||||
|
|
||||||
|
|
||||||
location / {
|
|
||||||
proxy_pass http://${OIDC_SERVER_NAME}:8090;
|
proxy_pass http://${OIDC_SERVER_NAME}:8090;
|
||||||
proxy_set_header Host $host;
|
proxy_set_header Host $host;
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
|
||||||
|
# 只添加这一行来修复重定向
|
||||||
|
proxy_redirect http://${OIDC_SERVER_DOMAIN} https://${OIDC_DOMAIN_FULL};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
server {
|
|
||||||
listen 80;
|
|
||||||
listen 443 ssl;
|
|
||||||
server_name ${SKYWALKING_UI_DOMAIN};
|
|
||||||
|
|
||||||
# SSL证书配置
|
|
||||||
ssl_certificate /etc/nginx/t-aaron.com.pem;
|
|
||||||
ssl_certificate_key /etc/nginx/t-aaron.com.key;
|
|
||||||
ssl_session_timeout 5m;
|
|
||||||
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
|
|
||||||
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
|
|
||||||
ssl_prefer_server_ciphers on;
|
|
||||||
|
|
||||||
location / {
|
|
||||||
proxy_pass http://${SKYWALKING_UI_NAME}:8080;
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
listen 443 ssl;
|
||||||
|
server_name ${SRS_DOMAIN};
|
||||||
|
client_max_body_size 2g;
|
||||||
|
ssl_certificate /etc/nginx/t-aaron.com.pem;
|
||||||
|
ssl_certificate_key /etc/nginx/t-aaron.com.key;
|
||||||
|
ssl_session_timeout 5m;
|
||||||
|
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
|
||||||
|
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
|
||||||
|
ssl_prefer_server_ciphers on;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_set_header Host $http_host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_pass http://${SRS_NAME}:8080;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /recording/ {
|
||||||
|
alias /data/recording/;
|
||||||
|
autoindex on;
|
||||||
|
autoindex_exact_size off;
|
||||||
|
autoindex_localtime on;
|
||||||
|
charset utf-8;
|
||||||
|
|
||||||
|
# 允许所有文件类型访问
|
||||||
|
include mime.types;
|
||||||
|
default_type application/octet-stream;
|
||||||
|
|
||||||
|
# 添加一些基本的访问控制
|
||||||
|
add_header 'Access-Control-Allow-Origin' '*';
|
||||||
|
add_header 'Access-Control-Allow-Methods' 'GET, HEAD';
|
||||||
|
|
||||||
|
# 配置文件下载时的行为
|
||||||
|
if ($request_filename ~* ^.*?\.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx|jpg|jpeg|png|gif|svg|mp3|mp4|wav|avi|mov|wmv|flv|mkv)$) {
|
||||||
|
add_header Content-Disposition 'attachment';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1 +1,11 @@
|
||||||
|
upstream gatewayService {
|
||||||
|
server ${GATEWAY_NAME}:7011;
|
||||||
|
}
|
||||||
|
|
||||||
|
upstream airportService {
|
||||||
|
server ${AIRPORT_NAME}:9060;
|
||||||
|
}
|
||||||
|
|
||||||
|
upstream businessService {
|
||||||
|
server ${BUSINESS_NAME}:9260;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
server {
|
server {
|
||||||
listen 80;
|
listen 80;
|
||||||
listen 443 ssl;
|
listen 443 ssl;
|
||||||
server_name ${XXL_JOB_DOMAIN};
|
server_name ${XXLJOB_DOMAIN};
|
||||||
|
|
||||||
# SSL证书配置
|
# SSL证书配置
|
||||||
ssl_certificate /etc/nginx/t-aaron.com.pem;
|
ssl_certificate /etc/nginx/t-aaron.com.pem;
|
||||||
|
|
@ -11,7 +11,7 @@ server {
|
||||||
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
|
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
|
||||||
ssl_prefer_server_ciphers on;
|
ssl_prefer_server_ciphers on;
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://${XXL_JOB_NAME}:8080;
|
proxy_pass http://${XXLJOB_NAME}:8080;
|
||||||
proxy_set_header Host $host;
|
proxy_set_header Host $host;
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
|
|
||||||
|
|
@ -7,3 +7,5 @@
|
||||||
#### 1.network.sh 是为了生成网络环境
|
#### 1.network.sh 是为了生成网络环境
|
||||||
#### 2.volumn.sh 是为了建立volumn,给服务用
|
#### 2.volumn.sh 是为了建立volumn,给服务用
|
||||||
### 在非docker swarm的环境中运行,在单机docker环境中运行
|
### 在非docker swarm的环境中运行,在单机docker环境中运行
|
||||||
|
### 要跟踪文件的变化,每次的提示都按照最新的文件分析
|
||||||
|
### 遇见需要执行的语句,在对话框中让我执行,你直接对执行结果进行分析
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
source ../environment.sh
|
|
||||||
|
|
||||||
# 检查并停止/删除已存在的容器
|
|
||||||
if docker ps -a | grep -q ${NGINX_NAME}; then
|
|
||||||
echo "停止并删除已存在的 ${NGINX_NAME} 容器..."
|
|
||||||
docker stop ${NGINX_NAME} >/dev/null 2>&1
|
|
||||||
docker rm ${NGINX_NAME} >/dev/null 2>&1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# 启动Nginx容器
|
|
||||||
docker run --pull always -d \
|
|
||||||
--name ${NGINX_NAME} \
|
|
||||||
--network ${NETWORK} \
|
|
||||||
-p ${NGINX_HTTP_PORT}:80 \
|
|
||||||
-p ${NGINX_HTTPS_PORT}:443 \
|
|
||||||
--env TZ=Asia/Shanghai \
|
|
||||||
--memory ${NGINX_MEMORY} \
|
|
||||||
--restart unless-stopped \
|
|
||||||
${NGINX_IMAGE}
|
|
||||||
|
|
||||||
# 显示运行中的容器
|
|
||||||
docker ps
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
source ../environment.sh
|
|
||||||
|
|
||||||
|
|
||||||
if docker ps -a | grep -q ${OIDC_ADMIN_NAME}; then
|
|
||||||
echo "停止并删除已存在的 OIDC_ADMIN_NAME 容器..."
|
|
||||||
docker stop ${OIDC_ADMIN_NAME} >/dev/null 2>&1
|
|
||||||
docker rm ${OIDC_ADMIN_NAME} >/dev/null 2>&1
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
docker run --pull always -d \
|
|
||||||
--name ${OIDC_ADMIN_NAME} \
|
|
||||||
--network ${NETWORK} \
|
|
||||||
--env SPRING_CLOUD_CONSUL_HOST=${CONSUL_NAME} \
|
|
||||||
--env SPRING_CLOUD_CONSUL_PORT=${CONSUL_PORT} \
|
|
||||||
--env SPRING_CLOUD_CONSUL_DISCOVERY_HOSTNAME=${OIDC_ADMIN_NAME} \
|
|
||||||
--env XXL_JOB_ADMIN_ADDRESSES=${XXLJOB_NAME}:${XXLJOB_PORT} \
|
|
||||||
--env XXL_ENABLE=false \
|
|
||||||
--env SPRING_REDIS_HOST=${REDIS_NAME} \
|
|
||||||
--env SPRING_REDIS_PORT=6379 \
|
|
||||||
--env SPRING_DATASOURCE_URL="jdbc:mysql://${MYSQL_NAME}:3306/tuoheng_oidc?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8&useSSL=true&tinyInt1isBit=false" \
|
|
||||||
--env SPRING_DATASOURCE_USERNAME=root \
|
|
||||||
--env SPRING_DATASOURCE_PASSWORD=${MYSQL_ROOT_PASSWORD} \
|
|
||||||
--env TZ=Asia/Shanghai \
|
|
||||||
--env SPRING_KAFKA_COMMON_BOOTSTRAP-SERVERS=${KAFKA_NAME}:9092 \
|
|
||||||
--mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly \
|
|
||||||
--memory ${OIDC_ADMIN_MEMORY} \
|
|
||||||
--restart unless-stopped \
|
|
||||||
${OIDC_ADMIN_IMAGE}
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
source ../environment.sh
|
|
||||||
|
|
||||||
|
|
||||||
if docker ps -a | grep -q ${OIDC_SERVER_NAME}; then
|
|
||||||
echo "停止并删除已存在的 OIDC_SERVER_NAME 容器..."
|
|
||||||
docker stop ${OIDC_SERVER_NAME} >/dev/null 2>&1
|
|
||||||
docker rm ${OIDC_SERVER_NAME} >/dev/null 2>&1
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
docker run --pull always -d \
|
|
||||||
--name ${OIDC_SERVER_NAME} \
|
|
||||||
--network ${NETWORK} \
|
|
||||||
--env SPRING_CLOUD_CONSUL_HOST=${CONSUL_NAME} \
|
|
||||||
--env SPRING_CLOUD_CONSUL_PORT=${CONSUL_PORT} \
|
|
||||||
--env SPRING_CLOUD_CONSUL_DISCOVERY_HOSTNAME=${OIDC_SERVER_NAME} \
|
|
||||||
--env XXL_JOB_ADMIN_ADDRESSES=${XXLJOB_NAME}:${XXLJOB_PORT} \
|
|
||||||
--env XXL_ENABLE=false \
|
|
||||||
--env SPRING_REDIS_HOST=${REDIS_NAME} \
|
|
||||||
--env SPRING_REDIS_PORT=6379 \
|
|
||||||
--env SPRING_DATASOURCE_URL="jdbc:mysql://${MYSQL_NAME}:3306/tuoheng_oidc?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8&useSSL=true&tinyInt1isBit=false" \
|
|
||||||
--env SPRING_DATASOURCE_USERNAME=root \
|
|
||||||
--env SPRING_DATASOURCE_PASSWORD=${MYSQL_ROOT_PASSWORD} \
|
|
||||||
--env TZ=Asia/Shanghai \
|
|
||||||
--env SPRING_KAFKA_COMMON_BOOTSTRAP-SERVERS=${KAFKA_NAME}:9092 \
|
|
||||||
--mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly \
|
|
||||||
--memory ${OIDC_SERVER_MEMORY} \
|
|
||||||
--restart unless-stopped \
|
|
||||||
${OIDC_SERVER_IMAGE}
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
# 使用一个基础镜像
|
|
||||||
#FROM openjdk:11-jre-slim
|
|
||||||
FROM tuoheng/centos:base
|
|
||||||
USER th
|
|
||||||
# 定义构建参数
|
|
||||||
ARG SW_APP_NAME
|
|
||||||
ARG SW_SKY_AOP
|
|
||||||
# 设置工作目录
|
|
||||||
WORKDIR /data/java/tuoheng
|
|
||||||
COPY apache-skywalking-java-agent-9.0.0.tgz .
|
|
||||||
RUN tar -zxvf apache-skywalking-java-agent-9.0.0.tgz
|
|
||||||
#复制应用程序到容器中
|
|
||||||
COPY tuoheng.jar .
|
|
||||||
# 设置环境变量
|
|
||||||
ENV PATH="/usr/java/jdk/bin:${PATH}"
|
|
||||||
ENV SW_AGENT_COLLECTOR_BACKEND_SERVICES="${SW_SKY_AOP}" \
|
|
||||||
SW_AGENT_NAME="${SW_APP_NAME}"
|
|
||||||
#暴露应用程序的端口
|
|
||||||
#EXPOSE 8090
|
|
||||||
# 运行应用程序
|
|
||||||
ENTRYPOINT ["java", "-Dfile.encoding=UTF-8","-javaagent:/data/java/tuoheng/skywalking-agent/skywalking-agent.jar","-jar","tuoheng.jar"]
|
|
||||||
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# This script builds the Docker image
|
|
||||||
# 读取第一个参数
|
|
||||||
if [ $# -ne 3 ]; then
|
|
||||||
echo "错误:调用该脚本时必须传入 3 个参数 分别为服务名 镜像名 包名"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
echo "服务名: $1 Image $2 Java包: $3"
|
|
||||||
rm tuoheng.jar
|
|
||||||
cp $3 tuoheng.jar
|
|
||||||
source ../environment.sh
|
|
||||||
#docker service rm $APP_NAME
|
|
||||||
sleep 5
|
|
||||||
docker container prune -f
|
|
||||||
sleep 5
|
|
||||||
cp /data/java/apache-skywalking-java-agent-9.0.0.tgz apache-skywalking-java-agent-9.0.0.tgz
|
|
||||||
docker image rm $2
|
|
||||||
docker build --no-cache \
|
|
||||||
--build-arg SW_APP_NAME=$1 \
|
|
||||||
--build-arg SW_SKY_AOP=$SKY_AOP \
|
|
||||||
-t $2 . # 注意末尾的 `.` 表示当前路径
|
|
||||||
docker push $2
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
source ../environment.sh
|
|
||||||
rm $GATEWAY_JAR
|
|
||||||
cp $GATEWAY_REMOTE_JAR $GATEWAY_JAR
|
|
||||||
./builder.sh $GATEWAY_NAME $GATEWAY_IMAGE $GATEWAY_JAR
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
source ../environment.sh
|
|
||||||
rm $OIDC_ADMIN_JAR
|
|
||||||
cp $OIDC_ADMIN_REMOTE_JAR $OIDC_ADMIN_JAR
|
|
||||||
./builder.sh $OIDC_ADMIN_NAME $OIDC_ADMIN_IMAGE $OIDC_ADMIN_JAR
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
source ../environment.sh
|
|
||||||
rm $OIDC_SERVER_JAR
|
|
||||||
cp $OIDC_SERVER_REMOTE_JAR $OIDC_SERVER_JAR
|
|
||||||
./builder.sh $OIDC_SERVER_NAME $OIDC_SERVER_IMAGE $OIDC_SERVER_JAR
|
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
source ../environment.sh
|
||||||
|
|
||||||
|
|
||||||
|
if docker ps -a | grep -q ${AIRPORT_NAME}; then
|
||||||
|
echo "停止并删除已存在的 AIRPORT_NAME 容器..."
|
||||||
|
docker stop ${AIRPORT_NAME} >/dev/null 2>&1
|
||||||
|
docker rm ${AIRPORT_NAME} >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
docker run --pull always -d \
|
||||||
|
--name ${AIRPORT_NAME} \
|
||||||
|
--network ${NETWORK} \
|
||||||
|
--env SPRING_CLOUD_CONSUL_HOST=${CONSUL_NAME} \
|
||||||
|
--env SPRING_CLOUD_CONSUL_PORT=8500 \
|
||||||
|
--env SPRING_CLOUD_CONSUL_DISCOVERY_HOSTNAME=${AIRPORT_NAME} \
|
||||||
|
--env XXL_JOB_ADMIN_ADDRESSES=http://${XXLJOB_NAME}:8080/xxl-job-admin \
|
||||||
|
--env XXL_ENABLE=false \
|
||||||
|
--env SPRING_REDIS_HOST=${REDIS_NAME} \
|
||||||
|
--env SPRING_REDIS_PORT=6379 \
|
||||||
|
--env SPRING_DATASOURCE_URL="jdbc:mysql://${MYSQL_NAME}:3306/tuoheng_airport?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8&useSSL=true&tinyInt1isBit=false" \
|
||||||
|
--env SPRING_DATASOURCE_USERNAME=root \
|
||||||
|
--env SPRING_DATASOURCE_PASSWORD=${MYSQL_ROOT_PASSWORD} \
|
||||||
|
--env SPRING_MQTT_ONLINEURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_MQTT_URL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_MQTT_NEWURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_NEWMQTT_ONLINEURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_NEWMQTT_URL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_NEWMQTT_NEWURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env VIDEOSERVER_REQUESTURL=http://${STREAM_NAME}:8080 \
|
||||||
|
--env VIDEOSERVER_VIDEOPLAYURL=https://${SRS_DOMAIN}:${NGINX_HTTPS_PORT}/recording/ \
|
||||||
|
--env SPRING_KAFKA_BOOTSTRAP_SERVERS=${KAFKA_NAME}:9092 \
|
||||||
|
--env MINIO_OSS_ENDPOINT=http://${MINIO_NAME}:9000 \
|
||||||
|
--env MINIO_OSS_OUTENDPOINT=https://${MINIO_DOMAIN}:${NGINX_HTTPS_PORT} \
|
||||||
|
--env MINIO_DAJIOSS_ENDPOINT=https://${MINIO_DOMAIN}:${NGINX_HTTPS_PORT} \
|
||||||
|
--env MINIO_OSS_ACCESSKEYID=${MINIO_ACCESS_KEY} \
|
||||||
|
--env MINIO_OSS_ACCESSKEYSECRET=${MINIO_SECRET_KEY} \
|
||||||
|
--env TZ=Asia/Shanghai \
|
||||||
|
--mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly \
|
||||||
|
--memory ${AIRPORT_MEMORY} \
|
||||||
|
--restart unless-stopped \
|
||||||
|
${AIRPORT_IMAGE}
|
||||||
|
|
@ -0,0 +1,49 @@
|
||||||
|
source ../environment.sh
|
||||||
|
|
||||||
|
|
||||||
|
if docker ps -a | grep -q ${BUSINESS_NAME}; then
|
||||||
|
echo "停止并删除已存在的 BUSINESS_NAME 容器..."
|
||||||
|
docker stop ${BUSINESS_NAME} >/dev/null 2>&1
|
||||||
|
docker rm ${BUSINESS_NAME} >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
docker run --pull always -d \
|
||||||
|
--name ${BUSINESS_NAME} \
|
||||||
|
--network ${NETWORK} \
|
||||||
|
--env SPRING_CLOUD_CONSUL_HOST=${CONSUL_NAME} \
|
||||||
|
--env SPRING_CLOUD_CONSUL_PORT=8500 \
|
||||||
|
--env SPRING_CLOUD_CONSUL_DISCOVERY_HOSTNAME=${BUSINESS_NAME} \
|
||||||
|
--env XXL_JOB_ADMIN_ADDRESSES=http://${XXLJOB_NAME}:8080/xxl-job-admin \
|
||||||
|
--env XXL_ENABLE=false \
|
||||||
|
--env SPRING_REDIS_HOST=${REDIS_NAME} \
|
||||||
|
--env SPRING_REDIS_PORT=6379 \
|
||||||
|
--env SPRING_DATASOURCE_URL="jdbc:mysql://${MYSQL_NAME}:3306/tuoheng_business?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8&useSSL=true&tinyInt1isBit=false" \
|
||||||
|
--env SPRING_DATASOURCE_USERNAME=root \
|
||||||
|
--env SPRING_DATASOURCE_PASSWORD=${MYSQL_ROOT_PASSWORD} \
|
||||||
|
--env SPRING_MQTT_ONLINEURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_MQTT_URL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_MQTT_NEWURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_NEWMQTT_ONLINEURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_NEWMQTT_URL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_NEWMQTT_NEWURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env VIDEOSERVER_REQUESTURL=http://${STREAM_NAME}:8080 \
|
||||||
|
--env VIDEOSERVER_VIDEOPLAYURL=https://${SRS_DOMAIN}:${NGINX_HTTPS_PORT}/recording/ \
|
||||||
|
--env SPRING_KAFKA_BOOTSTRAP_SERVERS=${KAFKA_NAME}:9092 \
|
||||||
|
--env MINIO_OSS_ENDPOINT=http://${MINIO_NAME}:9000 \
|
||||||
|
--env MINIO_OSS_OUTENDPOINT=https://${MINIO_DOMAIN}:${NGINX_HTTPS_PORT} \
|
||||||
|
--env MINIO_DAJIOSS_ENDPOINT=https://${MINIO_DOMAIN}:${NGINX_HTTPS_PORT} \
|
||||||
|
--env MINIO_OSS_ACCESSKEYID=${MINIO_ACCESS_KEY} \
|
||||||
|
--env MINIO_OSS_ACCESSKEYSECRET=${MINIO_SECRET_KEY} \
|
||||||
|
--env TUOHENG_LIVE_CHANNEL_DOMAIN_URL=https://${SRS_DOMAIN_FULL}/ \
|
||||||
|
--env TUOHENG_PUSH_URL=rtmp://${SRS_RTMP_DOMAIN_FULL}/live/ \
|
||||||
|
--env TUOHENG_PULL_URL=https://${SRS_DOMAIN_FULL}/live/ \
|
||||||
|
--env TUOHENG_DSP_DOMAIN_URL=http://${DSP_PORTAL_NAME}:7011/ \
|
||||||
|
--env TUOHENG_DSP_CALLBACK_URL=https://${BUSINESS_DOMAIN_FULL}/business/admin/dsp/{requestId}/callback \
|
||||||
|
--env TUOHENG_AIRPORT_URL=https://${AIRPORT_DOMAIN_FULL}/airport/admin \
|
||||||
|
--env TZ=Asia/Shanghai \
|
||||||
|
--mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly \
|
||||||
|
--memory ${BUSINESS_MEMORY} \
|
||||||
|
--restart unless-stopped \
|
||||||
|
${BUSINESS_IMAGE}
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
source ../environment.sh
|
||||||
|
|
||||||
|
|
||||||
|
if docker ps -a | grep -q ${DSP_ADMIN_NAME}; then
|
||||||
|
echo "停止并删除已存在的 DSP_ADMIN_NAME 容器..."
|
||||||
|
docker stop ${DSP_ADMIN_NAME} >/dev/null 2>&1
|
||||||
|
docker rm ${DSP_ADMIN_NAME} >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
docker run --pull always -d \
|
||||||
|
--name ${DSP_ADMIN_NAME} \
|
||||||
|
--network ${NETWORK} \
|
||||||
|
--env SPRING_CLOUD_CONSUL_HOST=${CONSUL_NAME} \
|
||||||
|
--env SPRING_CLOUD_CONSUL_PORT=8500 \
|
||||||
|
--env SPRING_CLOUD_CONSUL_DISCOVERY_HOSTNAME=${DSP_ADMIN_NAME} \
|
||||||
|
--env XXL_JOB_ADMIN_ADDRESSES=http://${XXLJOB_NAME}:8080/xxl-job-admin \
|
||||||
|
--env XXL_ENABLE=false \
|
||||||
|
--env SPRING_REDIS_HOST=${REDIS_NAME} \
|
||||||
|
--env SPRING_REDIS_PORT=6379 \
|
||||||
|
--env SPRING_DATASOURCE_DRUID_URL="jdbc:mysql://${MYSQL_NAME}:3306/tuoheng_dsp?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8&useSSL=true&tinyInt1isBit=false" \
|
||||||
|
--env SPRING_DATASOURCE_DRUID_USERNAME=root \
|
||||||
|
--env SPRING_DATASOURCE_DRUID_PASSWORD=${MYSQL_ROOT_PASSWORD} \
|
||||||
|
--env SPRING_MQTT_ONLINEURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_MQTT_URL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_MQTT_NEWURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_NEWMQTT_ONLINEURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_NEWMQTT_URL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_NEWMQTT_NEWURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env VIDEOSERVER_REQUESTURL=http://${STREAM_NAME}:8080 \
|
||||||
|
--env VIDEOSERVER_VIDEOPLAYURL=https://${SRS_DOMAIN}:${NGINX_HTTPS_PORT}/recording/ \
|
||||||
|
--env SPRING_KAFKA_BOOTSTRAP_SERVERS=${KAFKA_NAME}:9092 \
|
||||||
|
--env MINIO_OSS_ENDPOINT=http://${MINIO_NAME}:9000 \
|
||||||
|
--env MINIO_OSS_OUTENDPOINT=https://${MINIO_DOMAIN}:${NGINX_HTTPS_PORT} \
|
||||||
|
--env MINIO_DAJIOSS_ENDPOINT=https://${MINIO_DOMAIN}:${NGINX_HTTPS_PORT} \
|
||||||
|
--env MINIO_OSS_ACCESSKEYID=${MINIO_ACCESS_KEY} \
|
||||||
|
--env MINIO_OSS_ACCESSKEYSECRET=${MINIO_SECRET_KEY} \
|
||||||
|
--env TUOHENG_PUSH_URL=rtmp://${SRS_DOMAIN}:${SRS_RTMP_PORT}/live/ \
|
||||||
|
--env TUOHENG_PULL_URL=https://${SRS_DOMAIN}:${NGINX_HTTPS_PORT}/live/ \
|
||||||
|
--env TZ=Asia/Shanghai \
|
||||||
|
--mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly \
|
||||||
|
--memory ${DSP_ADMIN_MEMORY} \
|
||||||
|
--restart unless-stopped \
|
||||||
|
${DSP_ADMIN_IMAGE}
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
source ../environment.sh
|
||||||
|
|
||||||
|
|
||||||
|
if docker ps -a | grep -q ${DSP_API_NAME}; then
|
||||||
|
echo "停止并删除已存在的 DSP_API_NAME 容器..."
|
||||||
|
docker stop ${DSP_API_NAME} >/dev/null 2>&1
|
||||||
|
docker rm ${DSP_API_NAME} >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
docker run --pull always -d \
|
||||||
|
--name ${DSP_API_NAME} \
|
||||||
|
--network ${NETWORK} \
|
||||||
|
--env SPRING_CLOUD_CONSUL_HOST=${CONSUL_NAME} \
|
||||||
|
--env SPRING_CLOUD_CONSUL_PORT=8500 \
|
||||||
|
--env SPRING_CLOUD_CONSUL_DISCOVERY_HOSTNAME=${DSP_API_NAME} \
|
||||||
|
--env XXL_JOB_ADMIN_ADDRESSES=http://${XXLJOB_NAME}:8080/xxl-job-admin \
|
||||||
|
--env XXL_ENABLE=false \
|
||||||
|
--env SPRING_REDIS_HOST=${REDIS_NAME} \
|
||||||
|
--env SPRING_REDIS_PORT=6379 \
|
||||||
|
--env SPRING_DATASOURCE_DRUID_URL="jdbc:mysql://${MYSQL_NAME}:3306/tuoheng_dsp?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8&useSSL=true&tinyInt1isBit=false" \
|
||||||
|
--env SPRING_DATASOURCE_DRUID_USERNAME=root \
|
||||||
|
--env SPRING_DATASOURCE_DRUID_PASSWORD=${MYSQL_ROOT_PASSWORD} \
|
||||||
|
--env SPRING_MQTT_ONLINEURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_MQTT_URL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_MQTT_NEWURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_NEWMQTT_ONLINEURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_NEWMQTT_URL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_NEWMQTT_NEWURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env VIDEOSERVER_REQUESTURL=http://${STREAM_NAME}:8080 \
|
||||||
|
--env VIDEOSERVER_VIDEOPLAYURL=https://${SRS_DOMAIN}:${NGINX_HTTPS_PORT}/recording/ \
|
||||||
|
--env SPRING_KAFKA_BOOTSTRAP_SERVERS=${KAFKA_NAME}:9092 \
|
||||||
|
--env MINIO_OSS_ENDPOINT=http://${MINIO_NAME}:9000 \
|
||||||
|
--env MINIO_OSS_OUTENDPOINT=https://${MINIO_DOMAIN}:${NGINX_HTTPS_PORT} \
|
||||||
|
--env MINIO_DAJIOSS_ENDPOINT=https://${MINIO_DOMAIN}:${NGINX_HTTPS_PORT} \
|
||||||
|
--env MINIO_OSS_ACCESSKEYID=${MINIO_ACCESS_KEY} \
|
||||||
|
--env MINIO_OSS_ACCESSKEYSECRET=${MINIO_SECRET_KEY} \
|
||||||
|
--env TUOHENG_PUSH_URL=rtmp://${SRS_DOMAIN}:${SRS_RTMP_PORT}/live/ \
|
||||||
|
--env TUOHENG_PULL_URL=https://${SRS_DOMAIN}:${NGINX_HTTPS_PORT}/live/ \
|
||||||
|
--env TZ=Asia/Shanghai \
|
||||||
|
--mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly \
|
||||||
|
--memory ${DSP_API_MEMORY} \
|
||||||
|
--restart unless-stopped \
|
||||||
|
${DSP_API_IMAGE}
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
source ../environment.sh
|
||||||
|
|
||||||
|
|
||||||
|
if docker ps -a | grep -q ${DSP_INSPECTION_NAME}; then
|
||||||
|
echo "停止并删除已存在的 DSP_INSPECTION_NAME 容器..."
|
||||||
|
docker stop ${DSP_INSPECTION_NAME} >/dev/null 2>&1
|
||||||
|
docker rm ${DSP_INSPECTION_NAME} >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
docker run --pull always -d \
|
||||||
|
--name ${DSP_INSPECTION_NAME} \
|
||||||
|
--network ${NETWORK} \
|
||||||
|
--env SPRING_CLOUD_CONSUL_HOST=${CONSUL_NAME} \
|
||||||
|
--env SPRING_CLOUD_CONSUL_PORT=8500 \
|
||||||
|
--env SPRING_CLOUD_CONSUL_DISCOVERY_HOSTNAME=${DSP_INSPECTION_NAME} \
|
||||||
|
--env XXL_JOB_ADMIN_ADDRESSES=http://${XXLJOB_NAME}:8080/xxl-job-admin \
|
||||||
|
--env XXL_ENABLE=false \
|
||||||
|
--env SPRING_REDIS_HOST=${REDIS_NAME} \
|
||||||
|
--env SPRING_REDIS_PORT=6379 \
|
||||||
|
--env SPRING_DATASOURCE_DRUID_URL="jdbc:mysql://${MYSQL_NAME}:3306/tuoheng_dsp?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8&useSSL=true&tinyInt1isBit=false" \
|
||||||
|
--env SPRING_DATASOURCE_DRUID_USERNAME=root \
|
||||||
|
--env SPRING_DATASOURCE_DRUID_PASSWORD=${MYSQL_ROOT_PASSWORD} \
|
||||||
|
--env SPRING_MQTT_ONLINEURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_MQTT_URL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_MQTT_NEWURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_NEWMQTT_ONLINEURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_NEWMQTT_URL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_NEWMQTT_NEWURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env VIDEOSERVER_REQUESTURL=http://${STREAM_NAME}:8080 \
|
||||||
|
--env VIDEOSERVER_VIDEOPLAYURL=https://${SRS_DOMAIN}:${NGINX_HTTPS_PORT}/recording/ \
|
||||||
|
--env SPRING_KAFKA_BOOTSTRAP_SERVERS=${KAFKA_NAME}:9092 \
|
||||||
|
--env MINIO_OSS_ENDPOINT=http://${MINIO_NAME}:9000 \
|
||||||
|
--env MINIO_OSS_OUTENDPOINT=https://${MINIO_DOMAIN}:${NGINX_HTTPS_PORT} \
|
||||||
|
--env MINIO_DAJIOSS_ENDPOINT=https://${MINIO_DOMAIN}:${NGINX_HTTPS_PORT} \
|
||||||
|
--env MINIO_OSS_ACCESSKEYID=${MINIO_ACCESS_KEY} \
|
||||||
|
--env MINIO_OSS_ACCESSKEYSECRET=${MINIO_SECRET_KEY} \
|
||||||
|
--env TUOHENG_PUSH_URL=rtmp://${SRS_DOMAIN}:${SRS_RTMP_PORT}/live/ \
|
||||||
|
--env TUOHENG_PULL_URL=https://${SRS_DOMAIN}:${NGINX_HTTPS_PORT}/live/ \
|
||||||
|
--env TZ=Asia/Shanghai \
|
||||||
|
--mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly \
|
||||||
|
--memory ${DSP_INSPECTION_MEMORY} \
|
||||||
|
--restart unless-stopped \
|
||||||
|
${DSP_INSPECTION_IMAGE}
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
source ../environment.sh
|
||||||
|
|
||||||
|
|
||||||
|
if docker ps -a | grep -q ${DSP_MINI_NAME}; then
|
||||||
|
echo "停止并删除已存在的 DSP_MINI_NAME 容器..."
|
||||||
|
docker stop ${DSP_MINI_NAME} >/dev/null 2>&1
|
||||||
|
docker rm ${DSP_MINI_NAME} >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
docker run --pull always -d \
|
||||||
|
--name ${DSP_MINI_NAME} \
|
||||||
|
--network ${NETWORK} \
|
||||||
|
--env SPRING_CLOUD_CONSUL_HOST=${CONSUL_NAME} \
|
||||||
|
--env SPRING_CLOUD_CONSUL_PORT=8500 \
|
||||||
|
--env SPRING_CLOUD_CONSUL_DISCOVERY_HOSTNAME=${DSP_MINI_NAME} \
|
||||||
|
--env XXL_JOB_ADMIN_ADDRESSES=http://${XXLJOB_NAME}:8080/xxl-job-admin \
|
||||||
|
--env XXL_ENABLE=false \
|
||||||
|
--env SPRING_REDIS_HOST=${REDIS_NAME} \
|
||||||
|
--env SPRING_REDIS_PORT=6379 \
|
||||||
|
--env SPRING_DATASOURCE_DRUID_URL="jdbc:mysql://${MYSQL_NAME}:3306/tuoheng_dsp?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8&useSSL=true&tinyInt1isBit=false" \
|
||||||
|
--env SPRING_DATASOURCE_DRUID_USERNAME=root \
|
||||||
|
--env SPRING_DATASOURCE_DRUID_PASSWORD=${MYSQL_ROOT_PASSWORD} \
|
||||||
|
--env SPRING_MQTT_ONLINEURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_MQTT_URL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_MQTT_NEWURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_NEWMQTT_ONLINEURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_NEWMQTT_URL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_NEWMQTT_NEWURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env VIDEOSERVER_REQUESTURL=http://${STREAM_NAME}:8080 \
|
||||||
|
--env VIDEOSERVER_VIDEOPLAYURL=https://${SRS_DOMAIN}:${NGINX_HTTPS_PORT}/recording/ \
|
||||||
|
--env SPRING_KAFKA_BOOTSTRAP_SERVERS=${KAFKA_NAME}:9092 \
|
||||||
|
--env MINIO_OSS_ENDPOINT=http://${MINIO_NAME}:9000 \
|
||||||
|
--env MINIO_OSS_OUTENDPOINT=https://${MINIO_DOMAIN}:${NGINX_HTTPS_PORT} \
|
||||||
|
--env MINIO_DAJIOSS_ENDPOINT=https://${MINIO_DOMAIN}:${NGINX_HTTPS_PORT} \
|
||||||
|
--env MINIO_OSS_ACCESSKEYID=${MINIO_ACCESS_KEY} \
|
||||||
|
--env MINIO_OSS_ACCESSKEYSECRET=${MINIO_SECRET_KEY} \
|
||||||
|
--env TUOHENG_PUSH_URL=rtmp://${SRS_DOMAIN}:${SRS_RTMP_PORT}/live/ \
|
||||||
|
--env TUOHENG_PULL_URL=https://${SRS_DOMAIN}:${NGINX_HTTPS_PORT}/live/ \
|
||||||
|
--env TZ=Asia/Shanghai \
|
||||||
|
--mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly \
|
||||||
|
--memory ${DSP_MINI_MEMORY} \
|
||||||
|
--restart unless-stopped \
|
||||||
|
${DSP_MINI_IMAGE}
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
source ../environment.sh
|
||||||
|
|
||||||
|
|
||||||
|
if docker ps -a | grep -q ${DSP_PORTAL_NAME}; then
|
||||||
|
echo "停止并删除已存在的 DSP_PORTAL_NAME 容器..."
|
||||||
|
docker stop ${DSP_PORTAL_NAME} >/dev/null 2>&1
|
||||||
|
docker rm ${DSP_PORTAL_NAME} >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
docker run --pull always -d \
|
||||||
|
--name ${DSP_PORTAL_NAME} \
|
||||||
|
--network ${NETWORK} \
|
||||||
|
--env SPRING_CLOUD_CONSUL_HOST=${CONSUL_NAME} \
|
||||||
|
--env SPRING_CLOUD_CONSUL_PORT=8500 \
|
||||||
|
--env SPRING_CLOUD_CONSUL_DISCOVERY_HOSTNAME=${DSP_PORTAL_NAME} \
|
||||||
|
--env XXL_JOB_ADMIN_ADDRESSES=http://${XXLJOB_NAME}:8080/xxl-job-admin \
|
||||||
|
--env XXL_ENABLE=false \
|
||||||
|
--env SPRING_REDIS_HOST=${REDIS_NAME} \
|
||||||
|
--env SPRING_REDIS_PORT=6379 \
|
||||||
|
--env SPRING_DATASOURCE_DRUID_URL="jdbc:mysql://${MYSQL_NAME}:3306/tuoheng_dsp?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8&useSSL=true&tinyInt1isBit=false" \
|
||||||
|
--env SPRING_DATASOURCE_DRUID_USERNAME=root \
|
||||||
|
--env SPRING_DATASOURCE_DRUID_PASSWORD=${MYSQL_ROOT_PASSWORD} \
|
||||||
|
--env SPRING_MQTT_ONLINEURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_MQTT_URL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_MQTT_NEWURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_NEWMQTT_ONLINEURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_NEWMQTT_URL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_NEWMQTT_NEWURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env VIDEOSERVER_REQUESTURL=http://${STREAM_NAME}:8080 \
|
||||||
|
--env VIDEOSERVER_VIDEOPLAYURL=https://${SRS_DOMAIN}:${NGINX_HTTPS_PORT}/recording/ \
|
||||||
|
--env SPRING_KAFKA_BOOTSTRAP_SERVERS=${KAFKA_NAME}:9092 \
|
||||||
|
--env MINIO_OSS_ENDPOINT=http://${MINIO_NAME}:9000 \
|
||||||
|
--env MINIO_OSS_OUTENDPOINT=https://${MINIO_DOMAIN}:${NGINX_HTTPS_PORT} \
|
||||||
|
--env MINIO_DAJIOSS_ENDPOINT=https://${MINIO_DOMAIN}:${NGINX_HTTPS_PORT} \
|
||||||
|
--env MINIO_OSS_ACCESSKEYID=${MINIO_ACCESS_KEY} \
|
||||||
|
--env MINIO_OSS_ACCESSKEYSECRET=${MINIO_SECRET_KEY} \
|
||||||
|
--env TUOHENG_PUSH_URL=rtmp://${SRS_DOMAIN}:${SRS_RTMP_PORT}/live/ \
|
||||||
|
--env TUOHENG_PULL_URL=https://${SRS_DOMAIN}:${NGINX_HTTPS_PORT}/live/ \
|
||||||
|
--env TZ=Asia/Shanghai \
|
||||||
|
--mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly \
|
||||||
|
--memory ${DSP_PORTAL_MEMORY} \
|
||||||
|
--restart unless-stopped \
|
||||||
|
${DSP_PORTAL_IMAGE}
|
||||||
|
|
@ -20,7 +20,7 @@ spring:
|
||||||
oauth2:
|
oauth2:
|
||||||
resource-server:
|
resource-server:
|
||||||
jwt:
|
jwt:
|
||||||
issuer-uri: https://${OIDC_SERVER_DOMAIN}:${NGINX_HTTPS_PORT}
|
issuer-uri: https://${OIDC_DOMAIN_FULL}
|
||||||
cloud:
|
cloud:
|
||||||
consul:
|
consul:
|
||||||
host: ${CONSUL_NAME} # consul 所在服务地址
|
host: ${CONSUL_NAME} # consul 所在服务地址
|
||||||
|
|
@ -65,6 +65,23 @@ spring:
|
||||||
allowCredentials: true
|
allowCredentials: true
|
||||||
maxAge: 360000
|
maxAge: 360000
|
||||||
routes:
|
routes:
|
||||||
|
# 机场平台 platform服务
|
||||||
|
- id: tuoheng-airport-admin
|
||||||
|
uri: http://${AIRPORT_NAME}:9060
|
||||||
|
predicates:
|
||||||
|
- Path=/airport/admin/**
|
||||||
|
filters:
|
||||||
|
- StripPrefix=2
|
||||||
|
metadata:
|
||||||
|
response-timeout: 20000
|
||||||
|
connect-timeout: 30000
|
||||||
|
# 机场平台 platform服务 webSocket
|
||||||
|
- id: tuoheng-airport-admin
|
||||||
|
uri: ws://${AIRPORT_NAME}:9060
|
||||||
|
predicates:
|
||||||
|
- Path=/airport/socket/**
|
||||||
|
filters:
|
||||||
|
- StripPrefix=2
|
||||||
# 后台管理
|
# 后台管理
|
||||||
- id: tuoheng-dsp-admin
|
- id: tuoheng-dsp-admin
|
||||||
uri: http://dsp-admin:9014
|
uri: http://dsp-admin:9014
|
||||||
|
|
@ -88,7 +105,7 @@ spring:
|
||||||
- StripPrefix=2
|
- StripPrefix=2
|
||||||
# DSP api服务
|
# DSP api服务
|
||||||
- id: tuoheng-dsp-api
|
- id: tuoheng-dsp-api
|
||||||
uri: http://dsp-api:9015
|
uri: http://${DSP_API_NAME}:9015
|
||||||
predicates:
|
predicates:
|
||||||
- Path=/api/web/**
|
- Path=/api/web/**
|
||||||
filters:
|
filters:
|
||||||
|
|
@ -102,18 +119,26 @@ spring:
|
||||||
- StripPrefix=2
|
- StripPrefix=2
|
||||||
# hhz admin服务
|
# hhz admin服务
|
||||||
- id: tuoheng-hhz-admin
|
- id: tuoheng-hhz-admin
|
||||||
uri: http://hhz-admin:9055
|
uri: http://${HHZ_ADMIN_NAME}:9055
|
||||||
predicates:
|
predicates:
|
||||||
- Path=/hhz/admin/**
|
- Path=/hhz/admin/**
|
||||||
filters:
|
filters:
|
||||||
- StripPrefix=2
|
- StripPrefix=2
|
||||||
# hhz 小程序服务
|
# hhz 小程序服务
|
||||||
- id: tuoheng-hhz-api
|
- id: tuoheng-hhz-api
|
||||||
uri: http://hhz-api:9056
|
uri: http://${HHZ_API_NAME}:9056
|
||||||
predicates:
|
predicates:
|
||||||
- Path=/hhz/api/**
|
- Path=/hhz/api/**
|
||||||
filters:
|
filters:
|
||||||
- StripPrefix=2
|
- StripPrefix=2
|
||||||
|
# business admin服务
|
||||||
|
- id: tuoheng-business-admin
|
||||||
|
uri: http://${BUSINESS_NAME}:9260
|
||||||
|
predicates:
|
||||||
|
- Path=/business/admin/**
|
||||||
|
filters:
|
||||||
|
- StripPrefix=2
|
||||||
|
# business 小程序服务
|
||||||
# Redis数据源
|
# Redis数据源
|
||||||
redis:
|
redis:
|
||||||
# 缓存库默认索引0
|
# 缓存库默认索引0
|
||||||
|
|
@ -142,8 +167,8 @@ security:
|
||||||
|
|
||||||
# 获取 apiUrl 可访问的 roleIdList
|
# 获取 apiUrl 可访问的 roleIdList
|
||||||
tuoheng:
|
tuoheng:
|
||||||
hhz-admin-perUrl: http://hhz-admin:9055/permission/getRoleIdList
|
hhz-admin-perUrl: http://${HHZ_ADMIN_NAME}:9055/permission/getRoleIdList
|
||||||
airport-admin-perUrl: http://airport:9060/permission/getRoleIdList
|
airport-admin-perUrl: http://${AIRPORT_NAME}:9060/permission/getRoleIdList
|
||||||
freeway-admin-perUrl: http://freeway-admin:9117/permission/getRoleIdList
|
freeway-admin-perUrl: http://freeway-admin:9117/permission/getRoleIdList
|
||||||
waterway-admin-perUrl: https://waterway.t-aaron.com/permission/getRoleIdList
|
waterway-admin-perUrl: https://waterway.t-aaron.com/permission/getRoleIdList
|
||||||
airmonitor-admin-perUrl: http://airmonitor-admin:9130/permission/getRoleIdList
|
airmonitor-admin-perUrl: http://airmonitor-admin:9130/permission/getRoleIdList
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,7 @@ echo "正在启动 ${GATEWAY_NAME} 容器..."
|
||||||
docker run --pull always -d \
|
docker run --pull always -d \
|
||||||
--name ${GATEWAY_NAME} \
|
--name ${GATEWAY_NAME} \
|
||||||
--network ${NETWORK} \
|
--network ${NETWORK} \
|
||||||
|
--add-host ${OIDC_SERVER_DOMAIN}:host-gateway \
|
||||||
--env TZ=Asia/Shanghai \
|
--env TZ=Asia/Shanghai \
|
||||||
--env SPRING_CONFIG_LOCATION=file:/data/java/tuoheng/application.yml \
|
--env SPRING_CONFIG_LOCATION=file:/data/java/tuoheng/application.yml \
|
||||||
--mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly \
|
--mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly \
|
||||||
|
|
|
||||||
|
|
@ -1,156 +0,0 @@
|
||||||
server:
|
|
||||||
port: 7011
|
|
||||||
main:
|
|
||||||
allow-bean-definition-overriding: true
|
|
||||||
web-application-typpse: reactive
|
|
||||||
|
|
||||||
management:
|
|
||||||
endpoints:
|
|
||||||
web:
|
|
||||||
exposure:
|
|
||||||
include: prometheus,health
|
|
||||||
metrics:
|
|
||||||
tags:
|
|
||||||
application: tuoheng-gateway
|
|
||||||
|
|
||||||
spring:
|
|
||||||
application:
|
|
||||||
name: tuoheng-gateway
|
|
||||||
security:
|
|
||||||
oauth2:
|
|
||||||
resource-server:
|
|
||||||
jwt:
|
|
||||||
issuer-uri: https://oidc-bazhong.t-aaron.com:2443
|
|
||||||
cloud:
|
|
||||||
consul:
|
|
||||||
host: CONSUL_bazhong # consul 所在服务地址
|
|
||||||
port: 8500 # consul 服务端口
|
|
||||||
discovery:
|
|
||||||
enabled: true #默认true。Consul Discovery Client是否注册到注册中心。和register同时设置成false,就不需要起consul服务。
|
|
||||||
register: true #是否将服务注册到Consul集群中心.。这个参数和上面的enabled参数同时设置成false,应用才不会注册注册中心,才可以不起consul服务!
|
|
||||||
deregister: true #默认true,服务停止时注销服务,即从服务列表中删除。设置成false的话,???
|
|
||||||
## consul ip地址
|
|
||||||
hostname: CONSUL_bazhong
|
|
||||||
# 注册到consul的服务名称
|
|
||||||
service-name: ${spring.application.name} # 服务提供者名称,注册在consul上面的名字,在consul的调用中,是通过此名字调用的。默认服务名,不要改
|
|
||||||
instance-id: ${spring.application.name}:${spring.cloud.client.ip-address}:${server.port} #实例ID
|
|
||||||
heartbeat:
|
|
||||||
enabled: true
|
|
||||||
prefer-ip-address: true #表示注册时使用IP而不是hostname
|
|
||||||
health-check-path: /actuator/health #健康检查
|
|
||||||
health-check-interval: 10s #配置 Consul 健康检查频率,也就是心跳频率。
|
|
||||||
health-check-timeout: 10s #健康检查超时
|
|
||||||
gateway:
|
|
||||||
httpclient:
|
|
||||||
websocket:
|
|
||||||
max-frame-payload-length: 10485760 # 单次通信提交最大数据库设置成10MB
|
|
||||||
discovery:
|
|
||||||
locator:
|
|
||||||
lowerCaseServiceId: true
|
|
||||||
enabled: true
|
|
||||||
# 跨域设置
|
|
||||||
globalcors:
|
|
||||||
add-to-simple-url-handler-mapping: true
|
|
||||||
cors-configurations:
|
|
||||||
'[/**]':
|
|
||||||
allowedOrigins:
|
|
||||||
- "http://localhost:8001"
|
|
||||||
allowedMethods:
|
|
||||||
- "GET"
|
|
||||||
- "POST"
|
|
||||||
- "DELETE"
|
|
||||||
- "PUT"
|
|
||||||
- "OPTIONS"
|
|
||||||
allowedHeaders: "*"
|
|
||||||
allowCredentials: true
|
|
||||||
maxAge: 360000
|
|
||||||
routes:
|
|
||||||
# 后台管理
|
|
||||||
- id: tuoheng-dsp-admin
|
|
||||||
uri: http://dsp-admin:9014
|
|
||||||
predicates:
|
|
||||||
- Path=/api/admin/**
|
|
||||||
filters:
|
|
||||||
- StripPrefix=2
|
|
||||||
# 网站服务
|
|
||||||
- id: tuoheng-dsp-portal
|
|
||||||
uri: http://dsp-portal:9017
|
|
||||||
predicates:
|
|
||||||
- Path=/api/portal/**
|
|
||||||
filters:
|
|
||||||
- StripPrefix=2
|
|
||||||
# DSP小程序服务
|
|
||||||
- id: tuoheng-dsp-miniprogram
|
|
||||||
uri: http://dsp-mini:9016
|
|
||||||
predicates:
|
|
||||||
- Path=/api/miniprogram/**
|
|
||||||
filters:
|
|
||||||
- StripPrefix=2
|
|
||||||
# DSP api服务
|
|
||||||
- id: tuoheng-dsp-api
|
|
||||||
uri: http://dsp-api:9015
|
|
||||||
predicates:
|
|
||||||
- Path=/api/web/**
|
|
||||||
filters:
|
|
||||||
- StripPrefix=2
|
|
||||||
# DSP 巡检云
|
|
||||||
- id: tuoheng-dsp-inspection
|
|
||||||
uri: http://dsp-inspection:9018
|
|
||||||
predicates:
|
|
||||||
- Path=/api/inspection/**
|
|
||||||
filters:
|
|
||||||
- StripPrefix=2
|
|
||||||
# hhz admin服务
|
|
||||||
- id: tuoheng-hhz-admin
|
|
||||||
uri: http://hhz-admin:9055
|
|
||||||
predicates:
|
|
||||||
- Path=/hhz/admin/**
|
|
||||||
filters:
|
|
||||||
- StripPrefix=2
|
|
||||||
# hhz 小程序服务
|
|
||||||
- id: tuoheng-hhz-api
|
|
||||||
uri: http://hhz-api:9056
|
|
||||||
predicates:
|
|
||||||
- Path=/hhz/api/**
|
|
||||||
filters:
|
|
||||||
- StripPrefix=2
|
|
||||||
# Redis数据源
|
|
||||||
redis:
|
|
||||||
# 缓存库默认索引0
|
|
||||||
database: 0
|
|
||||||
# Redis服务器地址
|
|
||||||
host: REDIS_bazhong
|
|
||||||
# Redis服务器连接端口
|
|
||||||
port: 6379
|
|
||||||
# Redis服务器连接密码(默认为空)
|
|
||||||
password:
|
|
||||||
# 连接超时时间(毫秒)
|
|
||||||
timeout: 6000
|
|
||||||
# 默认的数据过期时间,主要用于shiro权限管理
|
|
||||||
expire: 2592000
|
|
||||||
jedis:
|
|
||||||
pool:
|
|
||||||
max-active: 1000 # 连接池最大连接数(使用负值表示没有限制)
|
|
||||||
max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
|
|
||||||
max-idle: 10 # 连接池中的最大空闲连接
|
|
||||||
min-idle: 1 # 连接池中的最小空闲连接
|
|
||||||
#security放行白名单配置
|
|
||||||
security:
|
|
||||||
ignore:
|
|
||||||
permitUrls: /api/system/demo/msg
|
|
||||||
oauthUrls: /api/system/demo/hello,/api/portal/serviceInst/*/getServiceInstParam/*,/api/portal/serviceInst/*/getServiceInstCaseUrl/*,/api/portal/serviceInst/*/*/application,/api/portal/serviceInst/*/*/questionList,/api/miniprogram/serviceInst/*/getServiceInstParam/*,/api/miniprogram/serviceInst/*/getServiceInstCaseUrl/*,/api/miniprogram/serviceInst/*/*/application,/api/miniprogram/serviceInst/*/*/questionList
|
|
||||||
|
|
||||||
# 获取 apiUrl 可访问的 roleIdList
|
|
||||||
tuoheng:
|
|
||||||
hhz-admin-perUrl: http://hhz-admin:9055/permission/getRoleIdList
|
|
||||||
airport-admin-perUrl: http://airport:9060/permission/getRoleIdList
|
|
||||||
freeway-admin-perUrl: http://freeway-admin:9117/permission/getRoleIdList
|
|
||||||
waterway-admin-perUrl: https://waterway.t-aaron.com/permission/getRoleIdList
|
|
||||||
airmonitor-admin-perUrl: http://airmonitor-admin:9130/permission/getRoleIdList
|
|
||||||
weptsp-admin-perUrl: http://weptsp-admin:9140/permission/getRoleIdList
|
|
||||||
telecomumale-admin-perUrl: http://telecomumale-admin:9150/permission/getRoleIdList
|
|
||||||
alert-admin-perUrl: https://alert.t-aaron.com/permission/getRoleIdList
|
|
||||||
spacetime-admin-perUrl: https://spacetime.t-aaron.com/permission/getRoleIdList
|
|
||||||
digitaltwin-admin-perUrl: https://digitaltwin.t-aaron.com/permission/getRoleIdList
|
|
||||||
dmp-admin-perUrl: https://dmp.t-aaron.com/permission/getRoleIdList
|
|
||||||
lacs-admin-perUrl: https://lacs.t-aaron.com/permission/getRoleIdList
|
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
source ../environment.sh
|
||||||
|
|
||||||
|
|
||||||
|
if docker ps -a | grep -q ${HHZ_ADMIN_NAME}; then
|
||||||
|
echo "停止并删除已存在的 HHZ_ADMIN_NAME 容器..."
|
||||||
|
docker stop ${HHZ_ADMIN_NAME} >/dev/null 2>&1
|
||||||
|
docker rm ${HHZ_ADMIN_NAME} >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
docker run --pull always -d \
|
||||||
|
--name ${HHZ_ADMIN_NAME} \
|
||||||
|
--network ${NETWORK} \
|
||||||
|
--env SPRING_CLOUD_CONSUL_HOST=${CONSUL_NAME} \
|
||||||
|
--env SPRING_CLOUD_CONSUL_PORT=8500 \
|
||||||
|
--env SPRING_CLOUD_CONSUL_DISCOVERY_HOSTNAME=${HHZ_ADMIN_NAME} \
|
||||||
|
--env XXL_JOB_ADMIN_ADDRESSES=http://${XXLJOB_NAME}:8080/xxl-job-admin \
|
||||||
|
--env XXL_ENABLE=false \
|
||||||
|
--env SPRING_REDIS_HOST=${REDIS_NAME} \
|
||||||
|
--env SPRING_REDIS_PORT=6379 \
|
||||||
|
--env SPRING_DATASOURCE_URL="jdbc:mysql://${MYSQL_NAME}:3306/tuoheng_hhz?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8&useSSL=true&tinyInt1isBit=false" \
|
||||||
|
--env SPRING_DATASOURCE_USERNAME=root \
|
||||||
|
--env SPRING_DATASOURCE_PASSWORD=${MYSQL_ROOT_PASSWORD} \
|
||||||
|
--env SPRING_MQTT_ONLINEURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_MQTT_URL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_MQTT_NEWURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_NEWMQTT_ONLINEURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_NEWMQTT_URL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_NEWMQTT_NEWURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env VIDEOSERVER_REQUESTURL=http://${STREAM_NAME}:8080 \
|
||||||
|
--env VIDEOSERVER_VIDEOPLAYURL=https://${SRS_DOMAIN}:${NGINX_HTTPS_PORT}/recording/ \
|
||||||
|
--env SPRING_KAFKA_BOOTSTRAP_SERVERS=${KAFKA_NAME}:9092 \
|
||||||
|
--env MINIO_OSS_ENDPOINT=http://${MINIO_NAME}:9000 \
|
||||||
|
--env MINIO_OSS_OUTENDPOINT=https://${MINIO_DOMAIN}:${NGINX_HTTPS_PORT} \
|
||||||
|
--env MINIO_DAJIOSS_ENDPOINT=https://${MINIO_DOMAIN}:${NGINX_HTTPS_PORT} \
|
||||||
|
--env MINIO_OSS_ACCESSKEYID=${MINIO_ACCESS_KEY} \
|
||||||
|
--env MINIO_OSS_ACCESSKEYSECRET=${MINIO_SECRET_KEY} \
|
||||||
|
--env TUOHENG_DSP_DOMAIN_URL=http://${DSP_API_NAME}:9015/ \
|
||||||
|
--env TUOHENG_DSP_CALLBACK_URL=http://${HHZ_API_NAME}:9055/api/dsp/{requestId}/callback \
|
||||||
|
--env TZ=Asia/Shanghai \
|
||||||
|
--mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly \
|
||||||
|
--memory ${HHZ_ADMIN_MEMORY} \
|
||||||
|
--restart unless-stopped \
|
||||||
|
${HHZ_ADMIN_IMAGE}
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
source ../environment.sh
|
||||||
|
|
||||||
|
|
||||||
|
if docker ps -a | grep -q ${HHZ_API_NAME}; then
|
||||||
|
echo "停止并删除已存在的 HHZ_API_NAME 容器..."
|
||||||
|
docker stop ${HHZ_API_NAME} >/dev/null 2>&1
|
||||||
|
docker rm ${HHZ_API_NAME} >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
docker run --pull always -d \
|
||||||
|
--name ${HHZ_API_NAME} \
|
||||||
|
--network ${NETWORK} \
|
||||||
|
--env SPRING_CLOUD_CONSUL_HOST=${CONSUL_NAME} \
|
||||||
|
--env SPRING_CLOUD_CONSUL_PORT=8500 \
|
||||||
|
--env SPRING_CLOUD_CONSUL_DISCOVERY_HOSTNAME=${HHZ_API_NAME} \
|
||||||
|
--env XXL_JOB_ADMIN_ADDRESSES=http://${XXLJOB_NAME}:8080/xxl-job-admin \
|
||||||
|
--env XXL_ENABLE=false \
|
||||||
|
--env SPRING_REDIS_HOST=${REDIS_NAME} \
|
||||||
|
--env SPRING_REDIS_PORT=6379 \
|
||||||
|
--env SPRING_DATASOURCE_URL="jdbc:mysql://${MYSQL_NAME}:3306/tuoheng_hhz?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8&useSSL=true&tinyInt1isBit=false" \
|
||||||
|
--env SPRING_DATASOURCE_USERNAME=root \
|
||||||
|
--env SPRING_DATASOURCE_PASSWORD=${MYSQL_ROOT_PASSWORD} \
|
||||||
|
--env SPRING_MQTT_ONLINEURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_MQTT_URL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_MQTT_NEWURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_NEWMQTT_ONLINEURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_NEWMQTT_URL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env SPRING_NEWMQTT_NEWURL=tcp://${MQTT_NAME}:1883 \
|
||||||
|
--env VIDEOSERVER_REQUESTURL=http://${STREAM_NAME}:8080 \
|
||||||
|
--env VIDEOSERVER_VIDEOPLAYURL=https://${SRS_DOMAIN}:${NGINX_HTTPS_PORT}/recording/ \
|
||||||
|
--env SPRING_KAFKA_BOOTSTRAP_SERVERS=${KAFKA_NAME}:9092 \
|
||||||
|
--env MINIO_OSS_ENDPOINT=http://${MINIO_NAME}:9000 \
|
||||||
|
--env MINIO_OSS_OUTENDPOINT=https://${MINIO_DOMAIN}:${NGINX_HTTPS_PORT} \
|
||||||
|
--env MINIO_DAJIOSS_ENDPOINT=https://${MINIO_DOMAIN}:${NGINX_HTTPS_PORT} \
|
||||||
|
--env MINIO_OSS_ACCESSKEYID=${MINIO_ACCESS_KEY} \
|
||||||
|
--env MINIO_OSS_ACCESSKEYSECRET=${MINIO_SECRET_KEY} \
|
||||||
|
--env TUOHENG_DSP_DOMAIN_URL=http://${DSP_API_NAME}:9015/ \
|
||||||
|
--env TUOHENG_DSP_CALLBACK_URL=http://${HHZ_API_NAME}:9055/api/dsp/{requestId}/callback \
|
||||||
|
--env TZ=Asia/Shanghai \
|
||||||
|
--mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly \
|
||||||
|
--memory ${HHZ_API_MEMORY} \
|
||||||
|
--restart unless-stopped \
|
||||||
|
${HHZ_API_IMAGE}
|
||||||
|
|
@ -8,16 +8,44 @@ if docker ps -a | grep -q ${NGINX_NAME}; then
|
||||||
docker rm ${NGINX_NAME} >/dev/null 2>&1
|
docker rm ${NGINX_NAME} >/dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 启动Nginx容器
|
# 准备 docker run 命令
|
||||||
docker run --pull always -d \
|
DOCKER_RUN_CMD="docker run --pull always -d \
|
||||||
--name ${NGINX_NAME} \
|
--name ${NGINX_NAME} \
|
||||||
--network ${NETWORK} \
|
--network ${NETWORK} \
|
||||||
-p ${NGINX_HTTP_PORT}:80 \
|
-p ${NGINX_HTTP_PORT}:80 \
|
||||||
-p ${NGINX_HTTPS_PORT}:443 \
|
-p ${NGINX_HTTPS_PORT}:443 \
|
||||||
--env TZ=Asia/Shanghai \
|
--env TZ=Asia/Shanghai \
|
||||||
--memory ${NGINX_MEMORY} \
|
--memory ${NGINX_MEMORY} \
|
||||||
--restart unless-stopped \
|
--volume ${STREAM_DATA}:/data/recording \
|
||||||
${NGINX_IMAGE}
|
--volume ${SRS_DATA}:/data/srs \
|
||||||
|
--restart unless-stopped"
|
||||||
|
|
||||||
|
# 如果配置了证书,添加证书挂载
|
||||||
|
if [ ! -z "${PEM_PATH}" ] && [ ! -z "${KEY_PATH}" ]; then
|
||||||
|
echo "检测到证书配置,将挂载证书文件..."
|
||||||
|
if [ ! -f "${PEM_PATH}" ] || [ ! -f "${KEY_PATH}" ]; then
|
||||||
|
echo "错误:证书文件不存在!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
DOCKER_RUN_CMD="${DOCKER_RUN_CMD} \
|
||||||
|
--volume ${PEM_PATH}:/etc/nginx/t-aaron.com.pem \
|
||||||
|
--volume ${KEY_PATH}:/etc/nginx/t-aaron.com.key"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 添加镜像名称并运行容器
|
||||||
|
DOCKER_RUN_CMD="${DOCKER_RUN_CMD} ${NGINX_IMAGE}"
|
||||||
|
|
||||||
|
# 执行 docker run 命令
|
||||||
|
echo "启动 Nginx 容器..."
|
||||||
|
eval ${DOCKER_RUN_CMD}
|
||||||
|
|
||||||
|
# 检查容器是否成功启动
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
echo "Nginx 容器启动成功!"
|
||||||
|
docker ps | grep ${NGINX_NAME}
|
||||||
|
else
|
||||||
|
echo "错误:Nginx 容器启动失败!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
# 显示运行中的容器
|
|
||||||
docker ps
|
|
||||||
|
|
@ -12,9 +12,9 @@ docker run --pull always -d \
|
||||||
--name ${OIDC_ADMIN_NAME} \
|
--name ${OIDC_ADMIN_NAME} \
|
||||||
--network ${NETWORK} \
|
--network ${NETWORK} \
|
||||||
--env SPRING_CLOUD_CONSUL_HOST=${CONSUL_NAME} \
|
--env SPRING_CLOUD_CONSUL_HOST=${CONSUL_NAME} \
|
||||||
--env SPRING_CLOUD_CONSUL_PORT=${CONSUL_PORT} \
|
--env SPRING_CLOUD_CONSUL_PORT=8500 \
|
||||||
--env SPRING_CLOUD_CONSUL_DISCOVERY_HOSTNAME=${OIDC_ADMIN_NAME} \
|
--env SPRING_CLOUD_CONSUL_DISCOVERY_HOSTNAME=${OIDC_ADMIN_NAME} \
|
||||||
--env XXL_JOB_ADMIN_ADDRESSES=${XXLJOB_NAME}:${XXLJOB_PORT} \
|
--env XXL_JOB_ADMIN_ADDRESSES=http://${XXLJOB_NAME}:8080/xxl-job-admin \
|
||||||
--env XXL_ENABLE=false \
|
--env XXL_ENABLE=false \
|
||||||
--env SPRING_REDIS_HOST=${REDIS_NAME} \
|
--env SPRING_REDIS_HOST=${REDIS_NAME} \
|
||||||
--env SPRING_REDIS_PORT=6379 \
|
--env SPRING_REDIS_PORT=6379 \
|
||||||
|
|
@ -22,7 +22,7 @@ docker run --pull always -d \
|
||||||
--env SPRING_DATASOURCE_USERNAME=root \
|
--env SPRING_DATASOURCE_USERNAME=root \
|
||||||
--env SPRING_DATASOURCE_PASSWORD=${MYSQL_ROOT_PASSWORD} \
|
--env SPRING_DATASOURCE_PASSWORD=${MYSQL_ROOT_PASSWORD} \
|
||||||
--env TZ=Asia/Shanghai \
|
--env TZ=Asia/Shanghai \
|
||||||
--env SPRING_KAFKA_COMMON_BOOTSTRAP-SERVERS=${KAFKA_NAME}:9092 \
|
--env SPRING_KAFKA_BOOTSTRAP_SERVERS=${KAFKA_NAME}:9092 \
|
||||||
--mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly \
|
--mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly \
|
||||||
--memory ${OIDC_ADMIN_MEMORY} \
|
--memory ${OIDC_ADMIN_MEMORY} \
|
||||||
--restart unless-stopped \
|
--restart unless-stopped \
|
||||||
|
|
|
||||||
|
|
@ -11,18 +11,22 @@ fi
|
||||||
docker run --pull always -d \
|
docker run --pull always -d \
|
||||||
--name ${OIDC_SERVER_NAME} \
|
--name ${OIDC_SERVER_NAME} \
|
||||||
--network ${NETWORK} \
|
--network ${NETWORK} \
|
||||||
|
--add-host ${OIDC_SERVER_DOMAIN}:host-gateway \
|
||||||
--env SPRING_CLOUD_CONSUL_HOST=${CONSUL_NAME} \
|
--env SPRING_CLOUD_CONSUL_HOST=${CONSUL_NAME} \
|
||||||
--env SPRING_CLOUD_CONSUL_PORT=${CONSUL_PORT} \
|
--env SPRING_CLOUD_CONSUL_PORT=8500 \
|
||||||
--env SPRING_CLOUD_CONSUL_DISCOVERY_HOSTNAME=${OIDC_SERVER_NAME} \
|
--env SPRING_CLOUD_CONSUL_DISCOVERY_HOSTNAME=${OIDC_SERVER_NAME} \
|
||||||
--env XXL_JOB_ADMIN_ADDRESSES=${XXLJOB_NAME}:${XXLJOB_PORT} \
|
--env XXL_JOB_ADMIN_ADDRESSES=http://${XXLJOB_NAME}:8080/xxl-job-admin \
|
||||||
--env XXL_ENABLE=false \
|
--env XXL_ENABLE=false \
|
||||||
--env SPRING_REDIS_HOST=${REDIS_NAME} \
|
--env SPRING_REDIS_HOST=${REDIS_NAME} \
|
||||||
--env SPRING_REDIS_PORT=6379 \
|
--env SPRING_REDIS_PORT=6379 \
|
||||||
--env SPRING_DATASOURCE_URL="jdbc:mysql://${MYSQL_NAME}:3306/tuoheng_oidc?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8&useSSL=true&tinyInt1isBit=false" \
|
--env SPRING_DATASOURCE_URL="jdbc:mysql://${MYSQL_NAME}:3306/tuoheng_oidc?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8&useSSL=true&tinyInt1isBit=false" \
|
||||||
--env SPRING_DATASOURCE_USERNAME=root \
|
--env SPRING_DATASOURCE_USERNAME=root \
|
||||||
--env SPRING_DATASOURCE_PASSWORD=${MYSQL_ROOT_PASSWORD} \
|
--env SPRING_DATASOURCE_PASSWORD=${MYSQL_ROOT_PASSWORD} \
|
||||||
|
--env THIRD_TOKEN_ISSUER=http://${OIDC_SERVER_NAME}:8090 \
|
||||||
|
--env OAUTH2_TOKEN_ISSUER=https://${OIDC_DOMAIN_FULL} \
|
||||||
|
--env SPRING_SECURITY_OAUTH2_RESOURCE-SERVER_JWT_ISSUER-URI=https://${OIDC_DOMAIN_FULL} \
|
||||||
--env TZ=Asia/Shanghai \
|
--env TZ=Asia/Shanghai \
|
||||||
--env SPRING_KAFKA_COMMON_BOOTSTRAP-SERVERS=${KAFKA_NAME}:9092 \
|
--env SPRING_KAFKA_BOOTSTRAP_SERVERS=${KAFKA_NAME}:9092 \
|
||||||
--mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly \
|
--mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly \
|
||||||
--memory ${OIDC_SERVER_MEMORY} \
|
--memory ${OIDC_SERVER_MEMORY} \
|
||||||
--restart unless-stopped \
|
--restart unless-stopped \
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
source ../environment.sh
|
||||||
|
|
||||||
|
|
||||||
|
if docker ps -a | grep -q ${STREAM_NAME}; then
|
||||||
|
echo "停止并删除已存在的 STREAM_NAME 容器..."
|
||||||
|
docker stop ${STREAM_NAME} >/dev/null 2>&1
|
||||||
|
docker rm ${STREAM_NAME} >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
docker run --pull always -d \
|
||||||
|
--name ${STREAM_NAME} \
|
||||||
|
--network ${NETWORK} \
|
||||||
|
-p ${STREAM_DEBUG_PORT}:8080 \
|
||||||
|
--memory ${STREAM_MEMORY} \
|
||||||
|
-e srs.domain=${SRS_DOMAIN} \
|
||||||
|
-e srs.name=${SRS_NAME} \
|
||||||
|
-e recordPath=/data/record/record/ \
|
||||||
|
-e cangneiwai=true \
|
||||||
|
-v ${STREAM_DATA}:/data/recording \
|
||||||
|
-v ${SRS_DATA}:/data/record \
|
||||||
|
--restart unless-stopped \
|
||||||
|
${STREAM_IMAGE}
|
||||||
|
|
@ -0,0 +1,104 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="zh-CN">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>视频播放器</title>
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
padding: 20px;
|
||||||
|
background-color: #f0f0f0;
|
||||||
|
font-family: Arial, sans-serif;
|
||||||
|
}
|
||||||
|
.container {
|
||||||
|
max-width: 1200px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background-color: white;
|
||||||
|
padding: 20px;
|
||||||
|
border-radius: 8px;
|
||||||
|
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
||||||
|
}
|
||||||
|
.video-container {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 1000px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
video {
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
background-color: black;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
h1 {
|
||||||
|
text-align: center;
|
||||||
|
color: #333;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
}
|
||||||
|
.controls {
|
||||||
|
margin-top: 20px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
button {
|
||||||
|
padding: 10px 20px;
|
||||||
|
margin: 0 10px;
|
||||||
|
border: none;
|
||||||
|
border-radius: 4px;
|
||||||
|
background-color: #007bff;
|
||||||
|
color: white;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: background-color 0.3s;
|
||||||
|
}
|
||||||
|
button:hover {
|
||||||
|
background-color: #0056b3;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
<h1>视频播放器</h1>
|
||||||
|
<div class="video-container">
|
||||||
|
<video id="videoPlayer" controls controlsList="nodownload">
|
||||||
|
<source src="https://srs-bazhong.t-aaron.com:2443/recording/50ae8720-d8b3-40c6-9e2b-4eb31ed619e6.mp4" type="video/mp4">
|
||||||
|
您的浏览器不支持 HTML5 视频播放。
|
||||||
|
</video>
|
||||||
|
</div>
|
||||||
|
<div class="controls">
|
||||||
|
<button onclick="document.getElementById('videoPlayer').play()">播放</button>
|
||||||
|
<button onclick="document.getElementById('videoPlayer').pause()">暂停</button>
|
||||||
|
<button onclick="document.getElementById('videoPlayer').currentTime = 0">重新播放</button>
|
||||||
|
<button onclick="toggleFullScreen()">全屏</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
function toggleFullScreen() {
|
||||||
|
const video = document.getElementById('videoPlayer');
|
||||||
|
if (!document.fullscreenElement) {
|
||||||
|
if (video.requestFullscreen) {
|
||||||
|
video.requestFullscreen();
|
||||||
|
} else if (video.webkitRequestFullscreen) {
|
||||||
|
video.webkitRequestFullscreen();
|
||||||
|
} else if (video.msRequestFullscreen) {
|
||||||
|
video.msRequestFullscreen();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (document.exitFullscreen) {
|
||||||
|
document.exitFullscreen();
|
||||||
|
} else if (document.webkitExitFullscreen) {
|
||||||
|
document.webkitExitFullscreen();
|
||||||
|
} else if (document.msExitFullscreen) {
|
||||||
|
document.msExitFullscreen();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 添加错误处理
|
||||||
|
const video = document.getElementById('videoPlayer');
|
||||||
|
video.addEventListener('error', function(e) {
|
||||||
|
console.error('视频加载错误:', e);
|
||||||
|
alert('视频加载失败,请检查网络连接或视频地址是否正确。');
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,49 @@
|
||||||
|
echo "开始执行 tuohengdev.sh"
|
||||||
|
export DOMAIN=develop
|
||||||
|
export DOMAIN_END=t-aaron.com
|
||||||
|
# 主机对外爆露的HTTP端口
|
||||||
|
export NGINX_HTTP_PORT=9999
|
||||||
|
# 主机对外爆露的HTTPS端口
|
||||||
|
export NGINX_HTTPS_PORT=3443
|
||||||
|
export MYSQL_PORT=3309
|
||||||
|
export REDIS_PORT=6381
|
||||||
|
#MQTT 配置
|
||||||
|
# MQTT对外爆露端口
|
||||||
|
export MQTT_PORT=1884
|
||||||
|
export MQTT_WS_PORT=9004
|
||||||
|
export KAFKA_PORT=9292
|
||||||
|
# SRS对外爆露端口
|
||||||
|
export SRS_RTMP_PORT=1938
|
||||||
|
# Minio对外爆露端口
|
||||||
|
export MINIO_API_PORT=9700
|
||||||
|
# Minio控制台对外爆露端口
|
||||||
|
export MINIO_CONSOLE_PORT=9022
|
||||||
|
|
||||||
|
|
||||||
|
export MINIO_ACCESS_KEY=5x2X7FkeyxEYQPAFOUet
|
||||||
|
export MINIO_SECRET_KEY=WOH5bzWr3OdrdzrPdN3hXFlxsSWJuRW2kQeRUbJI
|
||||||
|
|
||||||
|
# Consul 配置
|
||||||
|
export CONSUL_PORT=8600
|
||||||
|
# XXL-Job 配置
|
||||||
|
export XXLJOB_PORT=8383
|
||||||
|
|
||||||
|
export HHZ_ADMIN_WEB_DIST=/home/th/workspace/dockerbuilder/webs/dev/tuoheng_hhz_web/dist
|
||||||
|
export DSP_ADMIN_WEB_DIST=/home/th/workspace/dockerbuilder/webs/dev/dsp-admin/dist
|
||||||
|
export AIRPORT_WEB_DIST=/home/th/workspace/dockerbuilder/webs/dev/tuoheng_airport_web/dist
|
||||||
|
export BUSINESS_WEB_DIST=/home/th/workspace/dockerbuilder/webs/dev/business_web/dist
|
||||||
|
|
||||||
|
echo $HHZ_ADMIN_WEB_DIST
|
||||||
|
echo $DSP_ADMIN_WEB_DIST
|
||||||
|
echo $AIRPORT_WEB_DIST
|
||||||
|
echo $BUSINESS_WEB_DIST
|
||||||
|
|
||||||
|
#前端配置
|
||||||
|
#export VUE_APP_API_BASE_URL = https://${HHZ_DOMAIN}:${NGINX_HTTPS_PORT}/
|
||||||
|
#export VUE_APP_AUTHORITY = https://${OIDC_SERVER_DOMAIN}:${NGINX_HTTPS_PORT}
|
||||||
|
#export VUE_APP_OUT_AUTHORITY = https://${OIDC_SERVER_DOMAIN}:${NGINX_HTTPS_PORT}
|
||||||
|
#VUE_APP_API_BASE_URL=https://${AIRPORT_DOMAIN}:${NGINX_HTTPS_PORT}/airport
|
||||||
|
#https://airport-develop.t-aaron.com:3443
|
||||||
|
#https://hhz-develop.t-aaron.com:3443
|
||||||
|
|
||||||
|
#https://oidc-develop.t-aaron.com:3443
|
||||||
|
|
@ -0,0 +1,87 @@
|
||||||
|
整体:
|
||||||
|
1: 在构建服务器上面构建各个服务
|
||||||
|
builder 构建后端服务
|
||||||
|
nginx 构建前端服务
|
||||||
|
2: 在需要部署的服务器上执行start中的命令
|
||||||
|
先执行init中的脚本初始化环境
|
||||||
|
|
||||||
|
environment.sh 环境参数文件,构建时候和部署时候都依赖这个文件,必须保证一致
|
||||||
|
移植的时候需要修改domain和端口
|
||||||
|
nginx的vhosts里面的cert文件需要更新为域名的配置文件
|
||||||
|
1: 刷MySql数据
|
||||||
|
启动mysql后需要先初始化mysql数据 [和拓恒要]
|
||||||
|
|
||||||
|
2: 刷Kafka数据
|
||||||
|
|
||||||
|
3: 建minio的权限
|
||||||
|
|
||||||
|
4: 将环境变量拷贝到 nginx/vhosts/cert 目录下?
|
||||||
|
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
构建镜像 (在tuoheng的服务器上构建)
|
||||||
|
|
||||||
|
~~~~~~~~
|
||||||
|
其他:
|
||||||
|
srs: 推流: rtmp://srs-bazhong.t-aaron.com/live/1
|
||||||
|
读流: https://srs-bazhong.t-aaron.com:2443/live/1.flv
|
||||||
|
|
||||||
|
|
||||||
|
rtmp://srs-develop.t-aaron.com:1938/live/1
|
||||||
|
https://srs-develop.t-aaron.com:3443/live/1.flv
|
||||||
|
|
||||||
|
|
||||||
|
录制地址:https://srs-bazhong.t-aaron.com:2443/recording/50ae8720-d8b3-40c6-9e2b-4eb31ed619e6.mp4
|
||||||
|
|
||||||
|
https://srs-develop.t-aaron.com:3443/recording/50ae8720-d8b3-40c6-9e2b-4eb31ed619e6.mp4
|
||||||
|
|
||||||
|
139.224.117.253 3309 root tuoheng2024
|
||||||
|
|
||||||
|
https://minioconsole-develop.t-aaron.com:3443/ miniopassword miniopassword
|
||||||
|
|
||||||
|
部署在巴中:
|
||||||
|
dsp-api
|
||||||
|
hhz-admin hhz-api
|
||||||
|
|
||||||
|
部署在大数据服务器:
|
||||||
|
低空(预备)
|
||||||
|
大数据的mysql的数据
|
||||||
|
mqtt需要在综管改(使用容器内新的mqtt)
|
||||||
|
minio
|
||||||
|
srs
|
||||||
|
视频流录制的配置文件覆盖
|
||||||
|
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
业务地址:
|
||||||
|
河湖长: https://hhz-develop.t-aaron.com:3443/
|
||||||
|
机场: https://airport-develop.t-aaron.com:3443/
|
||||||
|
低空: https://business-develop.t-aaron.com:3443/
|
||||||
|
|
||||||
|
|
||||||
|
数据库地址:
|
||||||
|
139.224.117.253 3309 root tuoheng2024
|
||||||
|
minio管理台:
|
||||||
|
http://139.224.117.253:9022/login miniopassword miniopassword
|
||||||
|
|
||||||
|
文件读取地址样例:
|
||||||
|
https://minio-develop.t-aaron.com:3443/image/WechatIMG65.jpg
|
||||||
|
|
||||||
|
录制视频地址样例:
|
||||||
|
https://srs-develop.t-aaron.com:3443/recording/50ae8720-d8b3-40c6-9e2b-4eb31ed619e6.mp4
|
||||||
|
|
||||||
|
推流地址样例: rtmp://srs-develop.t-aaron.com:1938/live/1
|
||||||
|
上面推流地址对应的读流地址样例: https://srs-develop.t-aaron.com:3443/live/1.flv
|
||||||
|
|
||||||
|
|
||||||
|
https://srs-develop.t-aaron.com:3443/live/2outer.flv
|
||||||
|
|
||||||
|
MQTT地址: mqtt-develop.t-aaron.com:1884
|
||||||
|
|
||||||
|
consul地址:
|
||||||
|
https://consul-develop.t-aaron.com:3443/ui/dc1/services/consul/instances
|
||||||
|
xxlJob地址:
|
||||||
|
https://xxljob-develop.t-aaron.com:3443/xxl-job-admin/toLogin admin 123456
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Loading…
Reference in New Issue