简化脚本
This commit is contained in:
parent
e3e82872db
commit
fb8aa13195
@ -525,75 +525,23 @@ install_traefik() {
|
|||||||
|
|
||||||
cd /home/jingrow
|
cd /home/jingrow
|
||||||
|
|
||||||
# 创建traefik目录结构
|
# 检查traefik目录是否已存在
|
||||||
if [ ! -d "/home/jingrow/traefik" ]; then
|
if [ -d "/home/jingrow/traefik-docker" ]; then
|
||||||
mkdir -p /home/jingrow/traefik/conf.d
|
if [ "$FORCE_UPDATE" = true ]; then
|
||||||
log_success "创建traefik目录结构"
|
log_warning "traefik-docker目录已存在,强制更新..."
|
||||||
|
rm -rf /home/jingrow/traefik-docker
|
||||||
|
else
|
||||||
|
log_warning "traefik-docker目录已存在,跳过克隆"
|
||||||
|
return
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 创建acme.json文件
|
# 从Git仓库克隆traefik配置
|
||||||
if [ ! -f "/home/jingrow/traefik/acme.json" ]; then
|
su - jingrow -c "cd /home/jingrow && git clone http://git.jingrow.com:3000/go/traefik-docker"
|
||||||
touch /home/jingrow/traefik/acme.json
|
log_success "traefik项目克隆完成"
|
||||||
chmod 600 /home/jingrow/traefik/acme.json
|
|
||||||
log_success "创建acme.json文件"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# 创建traefik.yml配置文件
|
|
||||||
cat > /home/jingrow/traefik/traefik.yml << 'EOF'
|
|
||||||
entryPoints:
|
|
||||||
web:
|
|
||||||
address: ":80"
|
|
||||||
websecure:
|
|
||||||
address: ":443"
|
|
||||||
|
|
||||||
api:
|
|
||||||
dashboard: true
|
|
||||||
insecure: true # 生产环境建议关闭
|
|
||||||
|
|
||||||
providers:
|
|
||||||
docker:
|
|
||||||
exposedByDefault: false
|
|
||||||
file:
|
|
||||||
directory: /etc/traefik/conf.d
|
|
||||||
watch: true
|
|
||||||
|
|
||||||
certificatesResolvers:
|
|
||||||
myresolver:
|
|
||||||
acme:
|
|
||||||
email: support@jingrow.com
|
|
||||||
storage: acme.json
|
|
||||||
httpChallenge:
|
|
||||||
entryPoint: web
|
|
||||||
EOF
|
|
||||||
log_success "创建traefik.yml配置文件"
|
|
||||||
|
|
||||||
# 创建docker-compose.yml文件
|
|
||||||
cat > /home/jingrow/traefik/docker-compose.yml << 'EOF'
|
|
||||||
services:
|
|
||||||
traefik:
|
|
||||||
# The official v3 Traefik docker image
|
|
||||||
image: traefik:v3.4
|
|
||||||
container_name: traefik
|
|
||||||
restart: always
|
|
||||||
# Enables the web UI and tells Traefik to listen to docker
|
|
||||||
command: --api.insecure=true --providers.docker
|
|
||||||
ports:
|
|
||||||
# The HTTP port
|
|
||||||
- "80:80"
|
|
||||||
- "443:443"
|
|
||||||
# The Web UI (enabled by --api.insecure=true)
|
|
||||||
- "8080:8080"
|
|
||||||
volumes:
|
|
||||||
# So that Traefik can listen to the Docker events
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
- ./traefik.yml:/etc/traefik/traefik.yml:ro
|
|
||||||
- ./conf.d:/etc/traefik/conf.d:ro
|
|
||||||
- ./acme.json:/etc/traefik/acme.json
|
|
||||||
EOF
|
|
||||||
log_success "创建docker-compose.yml文件"
|
|
||||||
|
|
||||||
# 设置目录权限
|
# 设置目录权限
|
||||||
chown -R jingrow:jingrow /home/jingrow/traefik
|
chown -R jingrow:jingrow /home/jingrow/traefik-docker
|
||||||
log_success "设置traefik目录权限"
|
log_success "设置traefik目录权限"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -640,10 +588,16 @@ install_docker() {
|
|||||||
start_traefik() {
|
start_traefik() {
|
||||||
log_info "启动traefik服务..."
|
log_info "启动traefik服务..."
|
||||||
|
|
||||||
cd /home/jingrow/traefik
|
cd /home/jingrow/traefik-docker
|
||||||
|
|
||||||
|
# 检查docker-compose.yml文件是否存在
|
||||||
|
if [ ! -f "/home/jingrow/traefik-docker/docker-compose.yml" ]; then
|
||||||
|
log_error "docker-compose.yml文件不存在,请检查traefik项目是否正确克隆"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
# 使用jingrow用户启动traefik
|
# 使用jingrow用户启动traefik
|
||||||
su - jingrow -c "cd /home/jingrow/traefik && docker compose up -d"
|
su - jingrow -c "cd /home/jingrow/traefik-docker && docker compose up -d"
|
||||||
|
|
||||||
log_success "traefik服务启动完成"
|
log_success "traefik服务启动完成"
|
||||||
}
|
}
|
||||||
@ -673,7 +627,7 @@ show_deployment_info() {
|
|||||||
echo " - jsite目录: /home/jingrow/jsite"
|
echo " - jsite目录: /home/jingrow/jsite"
|
||||||
echo " - 项目目录: /home/jingrow/jsite/$PROJECT_NAME"
|
echo " - 项目目录: /home/jingrow/jsite/$PROJECT_NAME"
|
||||||
echo " - 项目端口: $(get_available_port "$PROJECT_NAME")"
|
echo " - 项目端口: $(get_available_port "$PROJECT_NAME")"
|
||||||
echo " - Traefik目录: /home/jingrow/traefik"
|
echo " - Traefik目录: /home/jingrow/traefik-docker"
|
||||||
echo " - Traefik管理界面: http://localhost:8080"
|
echo " - Traefik管理界面: http://localhost:8080"
|
||||||
echo " - PM2配置文件: /home/jingrow/jsite/$PROJECT_NAME/ecosystem.config.js"
|
echo " - PM2配置文件: /home/jingrow/jsite/$PROJECT_NAME/ecosystem.config.js"
|
||||||
echo " - PM2日志目录: /home/jingrow/jsite/$PROJECT_NAME/logs"
|
echo " - PM2日志目录: /home/jingrow/jsite/$PROJECT_NAME/logs"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user