websoft9/appmanage_new/README.md

92 lines
7.9 KiB
Markdown
Raw Normal View History

2023-10-09 07:01:18 +00:00
## run app : uvicorn src.main:app --reload --port 9999 --log-level error
## run nginx proxy manager doc:docker run -p 9091:8080 -e SWAGGER_JSON=/foo/api.swagger.json -v /data/websoft9/appmanage_new/docs/:/foo swaggerapi/swagger-ui
## supervisorctl
2023-09-23 00:45:57 +00:00
## supervisorctl reload
## supervisorctl update
## supervisorctl status
2023-09-19 06:58:05 +00:00
# gitea_token: da7b9891a0bc71b5026b389c11ed13238c9a3866
2023-09-11 09:01:43 +00:00
# 项目结构
## src
- src
- main.py # 主程序入口
- api # API路由和端点相关的代码(对外发布的API)
- v1 # 版本1的API路由和端点代码
- routers # 版本1的所有路由器
- app.py # 应用相关的路由和端点代码
- @router.get("/apps/") # 获取所有应用的列表
- @router.post("/apps/install") # 安装新的应用
- @router.post("/apps/{app_id}/start") # 启动指定ID的应用
- @router.post("/apps/{app_id}/stop") # 停止指定ID的应用
- @router.post("/apps/{app_id}/restart") # 重启指定ID的应用
- @router.post("/apps/{app_id}/redeploy") # 重新部署指定ID的应用
- @router.delete("/apps/{app_id}/uninstall") # 卸载指定ID的应用
- settings.py # 配置相关的路由和端点代码
- @router.get("/settings") # 获取当前的设置
- @router.put("/settings") # 更新当前的设置
- proxy.py
- @router.get("/proxy/{app_id}") # 获取指定应用的代理信息
- @router.post("/proxy/{app_id}") # 为指定的应用创建一个新的代理
- @router.put("/proxy/{app_id}") # 更新指定应用的代理信息
- @router.delete("/proxy/{app_id}") # 删除指定应用的代理
- v2 # 版本2的API路由和端点代码
- config # 项目的配置代码,例如环境变量、常量等
- system.ini # 系统级别的配置
- config.ini # 应用级别的配置
- core # 项目的核心代码
- api_key.py # 处理API密钥的模块
2023-09-11 09:08:43 +00:00
- config.py
2023-09-11 09:01:43 +00:00
- config.get_value() # 获取配置值
- config.set_value() # 设置配置值
- config.remove_value() # 删除配置值
- config.remove_section() # 删除配置的一个区块
- logger.py # 日志处理模块
-logger.access() # 记录访问日志
-logger.error() # 记录错误日志
- external # 与外部系统交互的代码第三方API
- gitea_api.py # Gitea交互的API调用代码
- nginx_proxy_manager_api.py # Nginx Proxy Manager交互的API调用代码
- get_token() # 获取访问Nginx Proxy Manager API的令牌
- get_proxy_hosts() # 获取所有的代理主机列表
- create_proxy_host() # 创建一个新的代理主机
- update_proxy_host() # 更新一个已存在的代理主机
- delete_proxy_host() # 删除一个已存在的代理主机
- portainer_api.py # Portainer交互的API调用代码
- schemas # 存放Pydantic模型定义用于请求和响应的数据验证
- appInstall.py # 定义与应用安装相关的请求和响应模型
- proxy.py
- services # 存放服务层的代码,处理业务逻辑
- app_manager.py # 处理应用管理相关的业务逻辑,如应用的查询、创建、卸载、启动、停止、重启、重建等
- get_app() # 查询应用
- install_app() # 创建新的应用
- uninstall_app() # 卸载已存在的应用
- start_app() # 启动已存在的应用
- stop_app() # 停止已运行的应用
- restart_app() # 重启已存在的应用
- rebuild_app() # 重建已存在的应用
- gitea_manager.py # 处理与Gitea相关的业务逻辑如仓库的创建、删除、更新等
- get_repo() # 查询仓库
- create_repo() # 创建新的仓库
- update_repo() # 更新已存在的仓库
- delete_repo() # 删除已存在的仓库
- portainer_manager.py # 处理与Portainer相关的业务逻辑如Stack的创建、删除、启动、停止、重启重建等
- get_stack() # 查询Stack
- create_stack() # 创建新的Stack
- delete_stack() # 删除已存在的Stack
- start_stack() # 启动已存在的Stack
- stop_stack() # 停止已运行的Stack
- restart_stack() # 重启已存在的Stack
- rebuild_stack() # 重建已存在的Stack
- proxy_manager.py # 处理代理管理相关的业务逻辑,如代理的查询、创建、删除、更新等
- get_proxy() # 查询代理
- create_proxy() # 创建新的代理
- update_proxy() # 更新已存在的代理
- delete_proxy() # 删除已存在的代理
- settings_manager.py # 处理设置管理相关的业务逻辑,如设置的读取和更新等
- get_settings() # 获取设置
- update_settings() # 更新设置
2023-09-11 09:08:43 +00:00
- utils # 存放工具函数和工具类