Files
regplatformm/scripts/deploy.sh
T
xiaolajiaoyyds 6f71df4849 Initial open-source release
多平台账号批量注册系统,支持 OpenAI / Grok / Kiro / Gemini 平台的全自动注册。

Features:
- 用户名/密码注册登录(首个用户自动管理员)
- JWT 认证 + bcrypt 密码加密
- 积分系统与多用户管理
- HuggingFace Space 弹性 Worker 节点管理
- Cloudflare Worker 负载均衡
- 实时日志推送(SSE/WebSocket)
- 管理后台(用户管理、系统设置、代理池、卡池)

Tech Stack: Go 1.25 / Gin / GORM / PostgreSQL / Vue 3 / Vite / TailwindCSS
2026-03-22 03:44:42 +08:00

60 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
# 服务器一键部署脚本
# 用法:./scripts/deploy.sh [--all | app | turnstile-solver | openai-reg | ...]
# 默认只更新 app 服务;--all 更新全部服务
set -euo pipefail
COMPOSE_FILE="docker-compose.prod.yml"
PROJECT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
cd "$PROJECT_DIR"
# 颜色输出
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'
log() { echo -e "${GREEN}[deploy]${NC} $*"; }
warn() { echo -e "${YELLOW}[deploy]${NC} $*"; }
# 登录 GitHub Container Registry(首次需要)
login_ghcr() {
# 从 docker-compose.prod.yml 中读取镜像名,或使用环境变量
local IMAGE="${GHCR_IMAGE:-ghcr.io/xiaolajiaoyyds/regplatformm:latest}"
if ! docker pull "$IMAGE" >/dev/null 2>&1; then
warn "ghcr.io 未登录或无权限,请先执行:"
warn " echo \$GITHUB_TOKEN | docker login ghcr.io -u xiaolajiaoyyds --password-stdin"
exit 1
fi
}
# 确保 .env 存在
if [ ! -f .env ]; then
warn ".env 文件不存在,从 .env.example 复制..."
cp .env.example .env
warn "请编辑 .env 后重新运行部署脚本"
exit 1
fi
SERVICE="${1:-app}"
if [ "$SERVICE" = "--all" ]; then
log "拉取全部镜像..."
docker compose -f "$COMPOSE_FILE" pull
log "重启全部服务..."
docker compose -f "$COMPOSE_FILE" up -d
else
log "拉取 $SERVICE 镜像..."
docker compose -f "$COMPOSE_FILE" pull "$SERVICE"
log "重启 $SERVICE..."
docker compose -f "$COMPOSE_FILE" up -d "$SERVICE"
fi
log "清理旧镜像..."
docker image prune -f >/dev/null 2>&1 || true
log "当前服务状态:"
docker compose -f "$COMPOSE_FILE" ps
log "部署完成!"