#!/bin/bash # hubproxy 一键安装脚本(增强版) set -e echo "🚀 开始安装 hubproxy 容器代理服务..." # 检查 Docker 是否安装 if ! command -v docker &> /dev/null; then echo "❌ 错误: 未检测到 Docker,请先安装 Docker" exit 1 fi # 显示当前信息 echo "📋 安装配置:" echo " - 容器名称: hubproxy" echo " - 映射端口: 5000" echo " - 镜像: ghcr.io/sky22333/hubproxy" # 停止并清理旧容器 echo "🧹 清理旧容器..." docker stop hubproxy 2>/dev/null || true docker rm hubproxy 2>/dev/null || true # 拉取并运行新容器 echo "📥 拉取镜像..." docker pull ghcr.io/sky22333/hubproxy echo "🐳 启动容器..." docker run -d \ --name hubproxy \ -p 5000:5000 \ --restart always \ ghcr.io/sky22333/hubproxy # 等待启动 echo "⏳ 等待服务启动..." for i in {1..30}; do if docker ps --filter "name=hubproxy" --filter "status=running" | grep -q hubproxy; then break fi sleep 1 done # 获取网络信息 IP=$(hostname -I | awk '{print $1}') if [ -z "$IP" ]; then IP="127.0.0.1" fi # 显示结果 echo "" echo "========================================" echo "✅ hubproxy 安装完成!" echo "========================================" echo "🌐 访问地址: http://$IP:5000" echo "🔗 本地访问: http://localhost:5000" echo "📌 端口: 5000" echo "🐳 容器状态: $(docker inspect -f '{{.State.Status}}' hubproxy)" echo "" echo "📋 常用命令:" echo " 查看日志: docker logs hubproxy" echo " 停止服务: docker stop hubproxy" echo " 启动服务: docker start hubproxy" echo " 重启服务: docker restart hubproxy" echo "========================================"