77 lines
2.0 KiB
Bash
77 lines
2.0 KiB
Bash
#!/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 " - 数据目录: /data/hubproxy"
|
||
|
||
# 创建数据目录
|
||
echo "📁 创建数据目录..."
|
||
sudo mkdir -p /data/hubproxy
|
||
sudo chown -R $USER:$USER /data/hubproxy
|
||
sudo chmod -R 755 /data/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 \
|
||
-v /data/hubproxy:/app/data \
|
||
--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 "📁 数据目录: /data/hubproxy"
|
||
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 " 查看数据: ls -la /data/hubproxy"
|
||
echo "========================================"
|