DEPLOY.md 4.1 KB

TappoCloud Store Admin 部署指南

快速开始

1. 后端部署

cd store

# 安装依赖
pip install -r requirements.txt

# 配置环境变量 (复制并修改)
cp .env.example .env

# 初始化数据库
mysql -u root -p tappocloud < schema.sql

# 启动服务
uvicorn app.main:app --host 0.0.0.0 --port 8000

2. 前端部署

cd store/admin

# 安装依赖
npm install

# 开发模式
npm run dev

# 生产构建
npm run build

3. 默认账号

  • 用户名: admin
  • 密码: admin123

重要: 生产环境请立即修改密码!


环境变量配置

创建 store/.env 文件:

TAPPO_DEBUG=false
TAPPO_DB_HOST=localhost
TAPPO_DB_PORT=3306
TAPPO_DB_USER=root
TAPPO_DB_PASSWORD=your_password
TAPPO_DB_NAME=tappocloud

# JWT 配置 (生产环境必须修改!)
TAPPO_JWT_SECRET=your-super-secret-key-change-me
TAPPO_JWT_EXPIRE_HOURS=24

# 存储配置
TAPPO_STORAGE_BASE_URL=https://app.tappo.dev/storage

API 端点

方法 路径 说明
POST /api/v1/admin/login 管理员登录
POST /api/v1/admin/apps/upload 上传应用 (需认证)
GET /api/v1/apps 获取应用列表
GET /api/v1/apps/{app_uid} 获取应用详情
GET /api/v1/apps/{app_uid}/download 获取下载信息

上传应用

方式一:Web 界面

  1. 访问 http://localhost:3000/login (开发) 或生产地址
  2. 使用管理员账号登录
  3. 拖拽 zip 文件到上传区域

方式二:命令行脚本

cd store/scripts

# 发布单个应用
python publish.py your-app-v1.0.0.zip

# 批量发布
python publish.py app1.zip app2.zip app3.zip

# 指定 API 地址 (默认 https://app.tappo.dev)
python publish.py your-app.zip --api http://localhost:8000

方式三:cURL

# 登录获取 token
TOKEN=$(curl -s -X POST https://app.tappo.dev/api/v1/admin/login \
  -H "Content-Type: application/json" \
  -d '{"username":"admin","password":"admin123"}' | jq -r '.token')

# 上传应用
curl -X POST https://app.tappo.dev/api/v1/admin/apps/upload \
  -H "Authorization: Bearer $TOKEN" \
  -F "file=@your-app-v1.0.0.zip"

应用包要求

ZIP 包根目录必须包含 app.yml

id: my-app              # 必填,应用唯一标识 (小写字母、数字、连字符)
version: 1.0.0          # 必填,语义化版本号
name:
  zh-CN: 我的应用
  en-US: My App
type: community         # system | community | external
category: tool          # security | productivity | tool | ai | data | integration
author: Your Name
description:
  zh-CN: 应用描述
  en-US: App description

项目结构

store/
├── app/                      # FastAPI 后端
│   ├── main.py               # 应用入口
│   ├── config.py             # 配置管理
│   ├── auth.py               # JWT 认证
│   ├── models.py             # 数据库模型
│   ├── database.py           # 数据库连接
│   └── routers/
│       ├── admin.py          # 管理员 API
│       ├── apps.py           # 应用 API
│       └── categories.py     # 分类 API
├── admin/                    # Vue 前端
│   ├── src/
│   │   ├── views/
│   │   │   ├── Login.vue     # 登录页
│   │   │   └── Dashboard.vue # 上传管理页
│   │   ├── services/api.js   # API 服务
│   │   └── router/index.js   # 路由配置
│   └── package.json
├── scripts/                  # 命令行工具
│   ├── publish.py            # Python 发布脚本
│   ├── publish.sh            # Bash 发布脚本
│   └── publish.bat           # Windows 发布脚本
├── storage/                  # 应用包存储目录
├── schema.sql                # 数据库初始化脚本
├── requirements.txt          # Python 依赖
└── .env.example              # 环境变量示例

生产部署建议

  1. 使用 Nginx 反向代理
  2. 配置 HTTPS
  3. 修改默认密码和 JWT 密钥
  4. 配置数据库备份
  5. 使用 systemd 管理服务