简化脚本

This commit is contained in:
jingrow 2025-08-07 23:51:15 +08:00
parent e3e82872db
commit fb8aa13195

View File

@ -525,75 +525,23 @@ install_traefik() {
cd /home/jingrow
# 创建traefik目录结构
if [ ! -d "/home/jingrow/traefik" ]; then
mkdir -p /home/jingrow/traefik/conf.d
log_success "创建traefik目录结构"
# 检查traefik目录是否已存在
if [ -d "/home/jingrow/traefik-docker" ]; then
if [ "$FORCE_UPDATE" = true ]; then
log_warning "traefik-docker目录已存在强制更新..."
rm -rf /home/jingrow/traefik-docker
else
log_warning "traefik-docker目录已存在跳过克隆"
return
fi
fi
# 创建acme.json文件
if [ ! -f "/home/jingrow/traefik/acme.json" ]; then
touch /home/jingrow/traefik/acme.json
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文件"
# 从Git仓库克隆traefik配置
su - jingrow -c "cd /home/jingrow && git clone http://git.jingrow.com:3000/go/traefik-docker"
log_success "traefik项目克隆完成"
# 设置目录权限
chown -R jingrow:jingrow /home/jingrow/traefik
chown -R jingrow:jingrow /home/jingrow/traefik-docker
log_success "设置traefik目录权限"
}
@ -640,10 +588,16 @@ install_docker() {
start_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
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服务启动完成"
}
@ -673,7 +627,7 @@ show_deployment_info() {
echo " - jsite目录: /home/jingrow/jsite"
echo " - 项目目录: /home/jingrow/jsite/$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 " - PM2配置文件: /home/jingrow/jsite/$PROJECT_NAME/ecosystem.config.js"
echo " - PM2日志目录: /home/jingrow/jsite/$PROJECT_NAME/logs"