简化脚本
This commit is contained in:
parent
e3e82872db
commit
fb8aa13195
@ -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"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user