调整部分硬编码信息
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
# ============================================================
|
||||
# frpc-console 一键部署脚本 (Docker 优先)
|
||||
# frps-console 一键部署脚本 (Docker 优先)
|
||||
# 用法:
|
||||
# run-deploy.sh 引导后自动执行
|
||||
# ============================================================
|
||||
@@ -251,13 +251,13 @@ generate_plan() {
|
||||
[ "$NEED_INSTALL_WGET" = true ] && pkgs="${pkgs} wget"
|
||||
PLAN="${PLAN} • 安装必要工具:${pkgs}\n"
|
||||
fi
|
||||
PLAN="${PLAN} • 拉取 frpc-console 源码 (${BRANCH} 分支)\n"
|
||||
PLAN="${PLAN} • 拉取 frps-console 源码 (${BRANCH} 分支)\n"
|
||||
PLAN="${PLAN} • 构建 Docker 镜像: ${IMAGE_NAME}:${IMAGE_TAG}\n"
|
||||
PLAN="${PLAN} • 目标版本: ${TARGET_VERSION}\n"
|
||||
if [ "$CONTAINER_EXISTS" = true ]; then
|
||||
PLAN="${PLAN} • 停止并删除旧容器\n"
|
||||
fi
|
||||
PLAN="${PLAN} • 启动 frpc-console 容器 (端口 ${PORT})"
|
||||
PLAN="${PLAN} • 启动 frps-console 容器 (端口 ${PORT})"
|
||||
}
|
||||
|
||||
print_deployment_plan() {
|
||||
@@ -277,7 +277,7 @@ print_deployment_plan() {
|
||||
echo -e " ────────────────────────────────────"
|
||||
if [ "$CONTAINER_EXISTS" = true ]; then
|
||||
echo ""
|
||||
echo -e " ${YELLOW}⚠ 检测到已存在的 frpc-console 容器${NC}"
|
||||
echo -e " ${YELLOW}⚠ 检测到已存在的 frps-console 容器${NC}"
|
||||
echo -e " 当前版本: ${CURRENT_VERSION}"
|
||||
echo -e " 目标版本: ${TARGET_VERSION}"
|
||||
fi
|
||||
@@ -332,7 +332,7 @@ do_deploy() {
|
||||
echo ""
|
||||
echo -e "${YELLOW}⚠ 降级可能导致数据不兼容${NC}"
|
||||
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
|
||||
BACKUP_DIR="/opt/frpc-console-backups/${TIMESTAMP}_${CHANNEL}"
|
||||
BACKUP_DIR="/opt/frps-console-backups/${TIMESTAMP}_${CHANNEL}"
|
||||
echo -e "${CYAN}备份目录: ${BACKUP_DIR}${NC}"
|
||||
read -p "确认执行降级? [y/N]: " CONFIRM_DOWNGRADE </dev/tty
|
||||
if [[ ! "$CONFIRM_DOWNGRADE" =~ ^[Yy]$ ]]; then
|
||||
@@ -342,7 +342,7 @@ do_deploy() {
|
||||
print_step "执行降级前备份..."
|
||||
mkdir -p "$BACKUP_DIR"
|
||||
if [ -d "$DEPLOY_DIR" ]; then
|
||||
cp -r "$DEPLOY_DIR" "$BACKUP_DIR/frpc-console"
|
||||
cp -r "$DEPLOY_DIR" "$BACKUP_DIR/frps-console"
|
||||
print_success "备份完成: $BACKUP_DIR"
|
||||
else
|
||||
print_warn "部署目录不存在,跳过备份"
|
||||
@@ -388,9 +388,9 @@ do_deploy() {
|
||||
if [ "$CONTAINER_EXISTS" = true ]; then
|
||||
print_step "停止旧容器..."
|
||||
if [ "$CONTAINER_RUNNING" = true ]; then
|
||||
docker stop frpc-console 2>/dev/null || true
|
||||
docker stop frps-console 2>/dev/null || true
|
||||
fi
|
||||
docker rm frpc-console 2>/dev/null || true
|
||||
docker rm frps-console 2>/dev/null || true
|
||||
print_success "旧容器已清理"
|
||||
fi
|
||||
|
||||
@@ -402,12 +402,12 @@ do_deploy() {
|
||||
# ----- 检测并迁移旧版本文件(从根目录迁移到 data/)-----
|
||||
print_step "检测旧版本文件..."
|
||||
|
||||
OLD_DB="${DEPLOY_DIR}/frpc-console.db"
|
||||
OLD_TOML="${DEPLOY_DIR}/frpc.toml"
|
||||
OLD_LOG="${DEPLOY_DIR}/frpc.log"
|
||||
OLD_PID="${DEPLOY_DIR}/frpc.pid"
|
||||
OLD_DB="${DEPLOY_DIR}/frps-console.db"
|
||||
OLD_TOML="${DEPLOY_DIR}/frps.toml"
|
||||
OLD_LOG="${DEPLOY_DIR}/frps.log"
|
||||
OLD_PID="${DEPLOY_DIR}/frps.pid"
|
||||
OLD_VERSION="${DEPLOY_DIR}/version.ini"
|
||||
NEW_DB="${DATA_DIR}/frpc-console.db"
|
||||
NEW_DB="${DATA_DIR}/frps-console.db"
|
||||
|
||||
if [ -f "$OLD_DB" ] && [ ! -f "$NEW_DB" ]; then
|
||||
print_warn "检测到旧版本数据库文件在根目录,将迁移到 data/ 子目录"
|
||||
@@ -415,14 +415,14 @@ do_deploy() {
|
||||
BACKUP_OLD_DIR="${DEPLOY_DIR}/.old_backup_$(date +%Y%m%d_%H%M%S)"
|
||||
mkdir -p "$BACKUP_OLD_DIR"
|
||||
|
||||
for file in frpc-console.db frpc.toml frpc.log frpc.pid version.ini; do
|
||||
for file in frps-console.db frps.toml frps.log frps.pid version.ini; do
|
||||
if [ -f "${DEPLOY_DIR}/${file}" ]; then
|
||||
cp "${DEPLOY_DIR}/${file}" "${BACKUP_OLD_DIR}/" 2>/dev/null || true
|
||||
print_info " 已备份: ${file}"
|
||||
fi
|
||||
done
|
||||
|
||||
for file in frpc-console.db frpc.toml frpc.log frpc.pid version.ini; do
|
||||
for file in frps-console.db frps.toml frps.log frps.pid version.ini; do
|
||||
if [ -f "${DEPLOY_DIR}/${file}" ]; then
|
||||
cp "${DEPLOY_DIR}/${file}" "${DATA_DIR}/" 2>/dev/null || true
|
||||
print_info " 已迁移: ${file} → data/"
|
||||
@@ -449,10 +449,10 @@ do_deploy() {
|
||||
|
||||
# 验证镜像内容
|
||||
print_step "验证镜像内容..."
|
||||
if docker run --rm --entrypoint ls "${IMAGE_NAME}:${IMAGE_TAG}" -l /app/frpc-console 2>/dev/null; then
|
||||
if docker run --rm --entrypoint ls "${IMAGE_NAME}:${IMAGE_TAG}" -l /app/frps-console 2>/dev/null; then
|
||||
print_success "二进制文件存在于镜像中"
|
||||
else
|
||||
print_error "镜像中缺少 /app/frpc-console"
|
||||
print_error "镜像中缺少 /app/frps-console"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -466,9 +466,9 @@ do_deploy() {
|
||||
fi
|
||||
|
||||
# ----- 启动新容器 -----
|
||||
print_step "启动 frpc-console 容器..."
|
||||
print_step "启动 frps-console 容器..."
|
||||
docker run -d \
|
||||
--name frpc-console \
|
||||
--name frps-console \
|
||||
--restart=always \
|
||||
--network host \
|
||||
-v ${DEPLOY_DIR}/data:/app/data \
|
||||
@@ -476,10 +476,10 @@ do_deploy() {
|
||||
-e TZ=Asia/Shanghai \
|
||||
${IMAGE_NAME}:${IMAGE_TAG}
|
||||
|
||||
if docker ps | grep -q frpc-console; then
|
||||
if docker ps | grep -q frps-console; then
|
||||
print_success "容器启动成功!"
|
||||
else
|
||||
print_error "容器启动失败,请检查日志: docker logs frpc-console"
|
||||
print_error "容器启动失败,请检查日志: docker logs frps-console"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -488,25 +488,25 @@ do_deploy() {
|
||||
echo "$TARGET_VERSION" > "${DEPLOY_DIR}/data/version.ini"
|
||||
print_success "版本写入: ${TARGET_VERSION}"
|
||||
|
||||
# ----- 检查 frpc 子进程(基于 PID 文件)-----
|
||||
print_step "检查 frpc 状态..."
|
||||
# ----- 检查 frps 子进程(基于 PID 文件)-----
|
||||
print_step "检查 frps 状态..."
|
||||
sleep 3
|
||||
|
||||
PID_FILE="${DEPLOY_DIR}/data/frpc.pid"
|
||||
PID_FILE="${DEPLOY_DIR}/data/frps.pid"
|
||||
if [ -f "$PID_FILE" ]; then
|
||||
PID=$(cat "$PID_FILE" 2>/dev/null | tr -d ' \n')
|
||||
if [ -n "$PID" ] && kill -0 "$PID" 2>/dev/null; then
|
||||
print_success "frpc 进程运行正常 (PID: $PID)"
|
||||
print_success "frps 进程运行正常 (PID: $PID)"
|
||||
else
|
||||
print_warn "frpc 进程未运行(PID 文件存在但进程已退出,可能配置为空)"
|
||||
print_warn "frps 进程未运行(PID 文件存在但进程已退出,可能配置为空)"
|
||||
fi
|
||||
else
|
||||
print_warn "frpc 进程未运行(PID 文件不存在,请导入 TOML 后重试)"
|
||||
print_warn "frps 进程未运行(PID 文件不存在,请导入 TOML 后重试)"
|
||||
fi
|
||||
|
||||
# ----- 事务后钩子:检测数据库 -----
|
||||
print_step "验证数据库状态..."
|
||||
if docker exec frpc-console sqlite3 /app/data/frpc-console.db "SELECT COUNT(*) FROM users;" 2>/dev/null | grep -q "^[0-9]"; then
|
||||
if docker exec frps-console sqlite3 /app/data/frps-console.db "SELECT COUNT(*) FROM users;" 2>/dev/null | grep -q "^[0-9]"; then
|
||||
print_success "数据库可用"
|
||||
else
|
||||
print_warn "数据库为空或不可用,请通过 WebUI 注册管理员账户"
|
||||
@@ -515,7 +515,7 @@ do_deploy() {
|
||||
# ----- 验证版本 -----
|
||||
print_step "验证版本..."
|
||||
sleep 1
|
||||
CONTAINER_VERSION=$(docker exec frpc-console cat /app/data/version.ini 2>/dev/null | grep -v "^[;#]" | head -1 | tr -d '\n' || echo "unknown")
|
||||
CONTAINER_VERSION=$(docker exec frps-console cat /app/data/version.ini 2>/dev/null | grep -v "^[;#]" | head -1 | tr -d '\n' || echo "unknown")
|
||||
echo -e " 容器版本: ${CONTAINER_VERSION}"
|
||||
echo -e " 目标版本: ${TARGET_VERSION}"
|
||||
if [ "$CONTAINER_VERSION" = "$TARGET_VERSION" ]; then
|
||||
@@ -553,7 +553,7 @@ do_deploy() {
|
||||
if [ -n "$BACKUP_DIR" ]; then
|
||||
echo ""
|
||||
print_warn "降级前数据已备份到: $BACKUP_DIR"
|
||||
echo " 如需回退: cp -r $BACKUP_DIR/frpc-console/* $DEPLOY_DIR/"
|
||||
echo " 如需回退: cp -r $BACKUP_DIR/frps-console/* $DEPLOY_DIR/"
|
||||
fi
|
||||
|
||||
# ----- 清理临时文件 -----
|
||||
@@ -563,18 +563,18 @@ do_deploy() {
|
||||
|
||||
# ----- 输出 -----
|
||||
print_title
|
||||
print_success "frpc-console 部署完成!"
|
||||
print_success "frps-console 部署完成!"
|
||||
print_title
|
||||
echo ""
|
||||
echo -e " ${CYAN}📍 访问地址:${NC} http://$(hostname -I | awk '{print $1}'):${PORT}"
|
||||
echo -e " ${CYAN}📂 数据目录:${NC} ${DEPLOY_DIR}"
|
||||
echo -e " ${CYAN}🐳 容器名称:${NC} frpc-console"
|
||||
echo -e " ${CYAN}🐳 容器名称:${NC} frps-console"
|
||||
echo -e " ${CYAN}🏷️ 版本:${NC} ${TARGET_VERSION}"
|
||||
echo -e " ${CYAN}🌿 分支:${NC} ${BRANCH}"
|
||||
echo ""
|
||||
echo -e " ${CYAN}常用命令:${NC}"
|
||||
echo " docker logs frpc-console # 查看日志"
|
||||
echo " docker restart frpc-console # 重启服务"
|
||||
echo " docker logs frps-console # 查看日志"
|
||||
echo " docker restart frps-console # 重启服务"
|
||||
echo " cat ${DEPLOY_DIR}/data/version.ini # 查看当前版本"
|
||||
echo ""
|
||||
echo -e " ${YELLOW}首次访问需要注册管理员账户${NC}"
|
||||
|
||||
Reference in New Issue
Block a user