refactor: 彻底移除 docker compose,改用纯 docker 构建+重启部署
Build and Deploy / build (push) Successful in 12s
Build and Deploy / deploy (push) Successful in 26s

This commit is contained in:
cheney
2026-09-01 10:27:11 +08:00
parent e11814048c
commit a5c5d24083
7 changed files with 53 additions and 83 deletions
+21 -16
View File
@@ -1,32 +1,38 @@
#!/bin/bash
set -e
# Awesome Index 启动脚本(直接部署,不使用 Docker)
# Awesome Index 重启脚本(使用已构建的镜像,纯 docker run,无 compose)
DEPLOY_PATH="$(cd "$(dirname "$0")" && pwd)"
cd "$DEPLOY_PATH"
# 检查 .env 文件
if [ ! -f .env ]; then
echo "错误: 缺少 .env 文件,请从 .env.example 复制并修改"
exit 1
if [ -f .env.example ]; then
cp .env.example .env
echo "已从 .env.example 创建 .env(请检查 SESSION_SECRET / ADMIN_INIT_PASSWORD / AI_INGEST_KEY)"
else
echo "错误: 缺少 .env 文件"
exit 1
fi
fi
# 安装依赖
echo "安装依赖..."
npm ci --omit=dev --no-audit --no-fund
# 停止并删除旧容器
echo "停止旧容器..."
docker rm -f awesome-index 2>/dev/null || true
# 停止旧进程
echo "停止旧进程..."
pkill -f "node src/index.js" 2>/dev/null || true
sleep 1
# 启动服务
# 用新镜像启动容器
echo "启动 Awesome Index..."
nohup node src/index.js > logs/app.log 2>&1 &
docker run -d \
--name awesome-index \
--restart unless-stopped \
-p 3000:3000 \
-v "$DEPLOY_PATH/data:/app/data" \
--env-file .env \
awesome-index:latest
# 健康检查
echo "等待服务就绪..."
sleep 2
sleep 5
MAX_RETRIES=10
RETRY_COUNT=0
@@ -35,12 +41,11 @@ while [ $RETRY_COUNT -lt $MAX_RETRIES ]; do
echo "✓ 服务已启动: http://localhost:3000"
echo ""
echo "管理后台: http://localhost:3000/admin"
echo "默认账号: admin / (见 .env 中的 ADMIN_INIT_PASSWORD)"
exit 0
fi
RETRY_COUNT=$((RETRY_COUNT + 1))
sleep 2
done
echo "✗ 服务启动失败,请检查日志: tail -50 logs/app.log"
echo "✗ 服务启动失败,请检查日志: docker logs awesome-index"
exit 1