- 将Dockerfile的基础镜像从python:3.11-slim更换为ghcr.io/astral-sh/uv:python3.11-bookworm-slim - 添加pyproject.toml和uv.lock文件到容器中 - 使用uv sync命令进行依赖安装 - 将启动命令从"python /app/server.py"改为"uv run --frozen server.py" - 更新README.md中的启动命令说明,使用uv run替代python3运行服务
1.1 KiB
1.1 KiB
deploy-control
部署机接口:
- 给
auth-portal提供实例创建和实例解析 API - 调用
app-instance/create-instance.sh - 在实例创建后刷新
router-proxy
接口
GET /healthzPOST /api/instances/registerPOST /api/instances/resolveDELETE /api/instances/{instance_id}
关键环境变量
DEPLOY_CONTROL_API_TOKENAPP_INSTANCE_API_KEYDEFAULT_AUTHZ_BASE_URLDEPLOY_PUBLIC_BASE_DOMAINDEPLOY_PUBLIC_PORTDEPLOY_PUBLIC_SCHEMEAPP_INSTANCE_NETWORK_NAME
默认实例 URL 形如:
http://<instance-slug>.127.0.0.1.nip.io:8088
实例容器本身的 20000-29999 端口默认只绑定到部署机 127.0.0.1,外部入口应走 router-proxy。
本机启动
cd /home/ivan/xuan/nano_project/deploy-control
uv run server.py
Docker 启动
如果要容器化运行,需要挂载:
- Docker socket:
/var/run/docker.sock /home/ivan/xuan/nano_project/app-instance/home/ivan/xuan/nano_project/router-proxy
并传入对应环境变量,让容器内脚本路径仍能访问这两个目录。