90bc4bd398
- SSH 服务器连接管理 + 登录页自动预填 - 服务器概览监控(CPU/内存/硬盘/网络/进程,进程卡片支持排序和端口显示) - 远程文件管理(浏览/上传/下载/新建/删除,实时进度条) - 交互式终端(xterm.js + ssh2 PTY) - Docker 容器管理(三连接架构,概览/容器列表/镜像/应用商店/任务中心/配置/网络/卷) - 应用商店一键部署(Redis/MySQL/Halo,在线模板同步,数据驱动 options/showWhen/extraArgs) - Docker 镜像源配置(daemon.json 编辑 + 自动重启) - Docker 强制停止修复(三步强制停止 + 轮询确认) - 系统防火墙管理(firewalld/ufw/iptables 自动检测 + GUI 管理) - 客户端版本检查(/api/version 接口 + 更新弹窗) - 品牌名统一为 WFJ Panel - electron-builder 打包配置(NSIS 安装包,国内镜像) - .npmrc 配置 Electron 国内镜像
39 lines
1.2 KiB
Bash
39 lines
1.2 KiB
Bash
#!/bin/bash
|
|
# ============================================================
|
|
# 应用商店 API 服务一键部署脚本
|
|
# 在服务器 192.168.153.153 上执行
|
|
# 功能:建表 → 构建镜像 → 启动容器
|
|
# 用法:bash deploy.sh
|
|
# ============================================================
|
|
|
|
set -e
|
|
|
|
echo "========== 1/4 创建数据库和表 =========="
|
|
# 注意:MySQL 容器已在运行,3306 端口映射到宿主机
|
|
mysql -h 127.0.0.1 -P 3306 -u root -p${MYSQL_ROOT_PASSWORD:-123456} < init.sql
|
|
echo "数据库和表创建完成"
|
|
|
|
echo "========== 2/4 构建 API 镜像 =========="
|
|
docker build -t appstore-api:latest .
|
|
|
|
echo "========== 3/4 停止旧容器(如有) =========="
|
|
docker rm -f appstore-api 2>/dev/null || true
|
|
|
|
echo "========== 4/4 启动 API 容器 =========="
|
|
docker run -d \
|
|
--name appstore-api \
|
|
--restart always \
|
|
-p 3001:3001 \
|
|
-e DB_HOST=127.0.0.1 \
|
|
-e DB_PORT=3306 \
|
|
-e DB_USER=root \
|
|
-e DB_PASSWORD=${MYSQL_ROOT_PASSWORD:-123456} \
|
|
-e DB_NAME=appstore \
|
|
-e API_PORT=3001 \
|
|
appstore-api:latest
|
|
|
|
echo ""
|
|
echo "========== 部署完成 =========="
|
|
echo "API 地址: http://$(hostname -I | awk '{print $1}'):3001/api/apps"
|
|
echo "健康检查: http://$(hostname -I | awk '{print $1}'):3001/api/health"
|