🚀 HTML 快速部署系统 - 基于 FastAPI 的 HTML 应用管理平台
HTML Fast Deploy 是一个简单高效的 HTML 应用部署和管理系统,基于 FastAPI 构建。它允许用户通过 Web 界面快速上传、管理和部署 HTML 应用。
- 支持多用户登录
- 通过环境变量配置用户账号
- 安全的 Basic Authentication
- 创建应用:上传 HTML 文件并指定应用名称
- 查看应用:直接访问部署的 HTML 应用
- 更新应用:替换现有应用的 HTML 文件
- 删除应用:移除不需要的应用
- 应用通过
/apps/{app_name}
路径访问 - 支持所有现代浏览器
- 响应式设计
pip install -r requirements.txt
创建 .env
文件并配置用户账号:
# 用户1
USER_1_NAME=admin
USER_1_PASSWORD=admin123
# 用户2
USER_2_NAME=user1
USER_2_PASSWORD=password123
# 用户3
USER_3_NAME=user2
USER_3_PASSWORD=password456
如果不配置环境变量,系统将使用默认账号:
- 用户名:
admin
- 密码:
admin123
python main.py
或者使用 uvicorn:
uvicorn main:app --host 0.0.0.0 --port 8000 --reload
打开浏览器访问:http://localhost:8000
- 访问 http://localhost:8000
- 使用配置的用户名和密码登录
- 登录成功后自动跳转到管理页面
- 在管理页面填写应用名称(只能使用英文、数字、下划线和连字符)
- 选择要上传的 HTML 文件
- 点击"创建应用"按钮
- 查看:点击"查看"按钮在新标签页中打开应用
- 更新:点击"更新"按钮上传新的 HTML 文件
- 删除:点击"删除"按钮移除应用
应用创建后,可以通过以下 URL 访问:
http://localhost:8000/apps/{app_name}
例如,如果应用名称为 car-show
,访问地址为:
http://localhost:8000/apps/car-show
html-fast-deploy/
├── main.py # 主应用文件
├── requirements.txt # 依赖包列表
├── setup.py # 打包配置
├── .env # 环境变量配置(需要创建)
├── templates/ # HTML 模板
│ ├── login.html # 登录页面
│ └── admin.html # 管理页面
├── static/ # 静态文件
└── apps/ # 应用存储目录(自动创建)
└── *.html # 上传的 HTML 文件
GET /login
- 登录页面POST /login
- 登录验证
GET /admin
- 管理页面POST /admin/apps
- 创建应用DELETE /admin/apps/{app_name}
- 删除应用PUT /admin/apps/{app_name}
- 更新应用
GET /apps/{app_name}
- 访问应用
python setup.py bdist_wheel
pip install dist/html_fast_deploy-1.0.0-py3-none-any.whl
html-fast-deploy
变量名 | 说明 | 示例 |
---|---|---|
USER_1_NAME |
第一个用户名 | admin |
USER_1_PASSWORD |
第一个用户密码 | admin123 |
USER_2_NAME |
第二个用户名 | user1 |
USER_2_PASSWORD |
第二个用户密码 | password123 |
- 后端框架:FastAPI
- 模板引擎:Jinja2
- 认证方式:HTTP Basic Authentication
- 文件处理:aiofiles
- 环境配置:python-dotenv
- 只能使用英文、数字、下划线和连字符
- 不支持中文和特殊字符
- 建议使用有意义的名称,如:
car-show
、dashboard
、portfolio
- HTML 文件存储在
apps/
目录下 - 文件名格式:
{app_name}.html
- 支持任意大小的 HTML 文件
- 使用 Basic Authentication 进行身份验证
- 验证应用名称格式,防止路径遍历攻击
- 只允许上传 HTML 文件
MIT License
欢迎提交 Issue 和 Pull Request!
- 初始版本发布
- 支持基本的应用管理功能
- 实现用户认证系统
- 提供现代化的 Web 界面