2025-05-16 10:57:00 +08:00
|
|
|
|
#!/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
|
|
|
|
|
|
|
2025-05-29 20:47:36 +08:00
|
|
|
|
# 准备 docker run 命令
|
|
|
|
|
|
DOCKER_RUN_CMD="docker run --pull always -d \
|
2025-05-16 10:57:00 +08:00
|
|
|
|
--name ${NGINX_NAME} \
|
|
|
|
|
|
--network ${NETWORK} \
|
|
|
|
|
|
-p ${NGINX_HTTP_PORT}:80 \
|
|
|
|
|
|
-p ${NGINX_HTTPS_PORT}:443 \
|
|
|
|
|
|
--env TZ=Asia/Shanghai \
|
|
|
|
|
|
--memory ${NGINX_MEMORY} \
|
2025-05-21 11:36:49 +08:00
|
|
|
|
--volume ${STREAM_DATA}:/data/recording \
|
2025-06-06 08:44:18 +08:00
|
|
|
|
--volume ${SRS_DATA}:/data/srs"
|
2025-05-16 10:57:00 +08:00
|
|
|
|
|
2025-05-29 20:47:36 +08:00
|
|
|
|
# 如果配置了证书,添加证书挂载
|
|
|
|
|
|
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
|
2025-06-11 16:46:43 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 如果配置了证书,添加证书挂载
|
|
|
|
|
|
if [ ! -z "${DSP_PEM_PATH}" ] && [ ! -z "${DSP_KEY_PATH}" ]; then
|
|
|
|
|
|
echo "检测到DSP证书配置,将挂载证书文件..."
|
|
|
|
|
|
DOCKER_RUN_CMD="${DOCKER_RUN_CMD} \
|
|
|
|
|
|
--volume ${DSP_PEM_PATH}:/etc/nginx/dsp.pem \
|
|
|
|
|
|
--volume ${DSP_KEY_PATH}:/etc/nginx/dsp.key"
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
if [ ! -z "${HHZ_PEM_PATH}" ] && [ ! -z "${HHZ_KEY_PATH}" ]; then
|
|
|
|
|
|
echo "检测到HHZ证书配置,将挂载证书文件..."
|
|
|
|
|
|
DOCKER_RUN_CMD="${DOCKER_RUN_CMD} \
|
|
|
|
|
|
--volume ${HHZ_PEM_PATH}:/etc/nginx/hhz.pem \
|
|
|
|
|
|
--volume ${HHZ_KEY_PATH}:/etc/nginx/hhz.key"
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
if [ ! -z "${MINIO_PEM_PATH}" ] && [ ! -z "${MINIO_KEY_PATH}" ]; then
|
|
|
|
|
|
echo "检测到MINIO证书配置,将挂载证书文件..."
|
|
|
|
|
|
DOCKER_RUN_CMD="${DOCKER_RUN_CMD} \
|
|
|
|
|
|
--volume ${MINIO_PEM_PATH}:/etc/nginx/minio.pem \
|
|
|
|
|
|
--volume ${MINIO_KEY_PATH}:/etc/nginx/minio.key"
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
if [ ! -z "${OIDC_PEM_PATH}" ] && [ ! -z "${OIDC_KEY_PATH}" ]; then
|
|
|
|
|
|
echo "检测到OIDC证书配置,将挂载证书文件..."
|
|
|
|
|
|
DOCKER_RUN_CMD="${DOCKER_RUN_CMD} \
|
|
|
|
|
|
--volume ${OIDC_PEM_PATH}:/etc/nginx/oidc.pem \
|
|
|
|
|
|
--volume ${OIDC_KEY_PATH}:/etc/nginx/oidc.key"
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
if [ ! -z "${SRS_PEM_PATH}" ] && [ ! -z "${SRS_KEY_PATH}" ]; then
|
|
|
|
|
|
echo "检测到SRS证书配置,将挂载证书文件..."
|
|
|
|
|
|
DOCKER_RUN_CMD="${DOCKER_RUN_CMD} \
|
|
|
|
|
|
--volume ${SRS_PEM_PATH}:/etc/nginx/srs.pem \
|
|
|
|
|
|
--volume ${SRS_KEY_PATH}:/etc/nginx/srs.key"
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
2025-06-05 17:40:40 +08:00
|
|
|
|
echo "镜像名字------"
|
|
|
|
|
|
echo ${NGINX_IMAGE}
|
2025-05-29 20:47:36 +08:00
|
|
|
|
|
|
|
|
|
|
# 添加镜像名称并运行容器
|
|
|
|
|
|
DOCKER_RUN_CMD="${DOCKER_RUN_CMD} ${NGINX_IMAGE}"
|
|
|
|
|
|
|
|
|
|
|
|
# 执行 docker run 命令
|
|
|
|
|
|
echo "启动 Nginx 容器..."
|
2025-06-11 11:16:57 +08:00
|
|
|
|
echo ${DOCKER_RUN_CMD}
|
2025-05-29 20:47:36 +08:00
|
|
|
|
eval ${DOCKER_RUN_CMD}
|
|
|
|
|
|
|
|
|
|
|
|
# 检查容器是否成功启动
|
|
|
|
|
|
if [ $? -eq 0 ]; then
|
|
|
|
|
|
echo "Nginx 容器启动成功!"
|
|
|
|
|
|
docker ps | grep ${NGINX_NAME}
|
|
|
|
|
|
else
|
|
|
|
|
|
echo "错误:Nginx 容器启动失败!"
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|