|
|
@@ -111,43 +111,43 @@ async def list_remote_servers(db: AsyncSession = Depends(get_db)):
|
|
|
|
|
|
@admin_required_router.post("/remote/server/docker/status", summary="获取预配置服务器容器状态", tags=["Docker远程控制"], response_model=ApiResponse[DockerStatusOut])
|
|
|
async def server_docker_status(request: RemoteActionRequest, db: AsyncSession = Depends(get_db)):
|
|
|
- config = await DockerRemoteService.get_server_config(db, request.server_id)
|
|
|
+ config = await DockerRemoteService.get_server_config(db, request.server_id, request.project_path)
|
|
|
res = await DockerRemoteService.get_container_status(config)
|
|
|
return success(data=DockerStatusOut(containers=res))
|
|
|
|
|
|
@admin_required_router.post("/remote/server/docker/up", summary="启动预配置服务器Docker Compose", tags=["Docker远程控制"], response_model=ApiResponse[bool])
|
|
|
async def server_docker_up(request: RemoteActionRequest, db: AsyncSession = Depends(get_db)):
|
|
|
- config = await DockerRemoteService.get_server_config(db, request.server_id)
|
|
|
+ config = await DockerRemoteService.get_server_config(db, request.server_id, request.project_path)
|
|
|
res = await DockerRemoteService.docker_compose_up(config, request.services)
|
|
|
return success(data=res)
|
|
|
|
|
|
@admin_required_router.post("/remote/server/docker/down", summary="停止预配置服务器Docker Compose", tags=["Docker远程控制"], response_model=ApiResponse[bool])
|
|
|
async def server_docker_down(request: RemoteActionRequest, db: AsyncSession = Depends(get_db)):
|
|
|
- config = await DockerRemoteService.get_server_config(db, request.server_id)
|
|
|
+ config = await DockerRemoteService.get_server_config(db, request.server_id, request.project_path)
|
|
|
res = await DockerRemoteService.docker_compose_down(config, request.services)
|
|
|
return success(data=res)
|
|
|
|
|
|
@admin_required_router.post("/remote/server/docker/restart", summary="重启预配置服务器容器", tags=["Docker远程控制"], response_model=ApiResponse[bool])
|
|
|
async def server_docker_restart(request: RemoteActionRequest, db: AsyncSession = Depends(get_db)):
|
|
|
- config = await DockerRemoteService.get_server_config(db, request.server_id)
|
|
|
+ config = await DockerRemoteService.get_server_config(db, request.server_id, request.project_path)
|
|
|
res = await DockerRemoteService.docker_restart(config, request.container_name)
|
|
|
return success(data=res)
|
|
|
|
|
|
@admin_required_router.post("/remote/server/docker/start", summary="启动预配置服务器容器", tags=["Docker远程控制"], response_model=ApiResponse[bool])
|
|
|
async def server_docker_start(request: RemoteActionRequest, db: AsyncSession = Depends(get_db)):
|
|
|
- config = await DockerRemoteService.get_server_config(db, request.server_id)
|
|
|
+ config = await DockerRemoteService.get_server_config(db, request.server_id, request.project_path)
|
|
|
res = await DockerRemoteService.docker_start(config, request.container_name)
|
|
|
return success(data=res)
|
|
|
|
|
|
@admin_required_router.post("/remote/server/docker/stop", summary="停止预配置服务器容器", tags=["Docker远程控制"], response_model=ApiResponse[bool])
|
|
|
async def server_docker_stop(request: RemoteActionRequest, db: AsyncSession = Depends(get_db)):
|
|
|
- config = await DockerRemoteService.get_server_config(db, request.server_id)
|
|
|
+ config = await DockerRemoteService.get_server_config(db, request.server_id, request.project_path)
|
|
|
res = await DockerRemoteService.docker_stop(config, request.container_name)
|
|
|
return success(data=res)
|
|
|
|
|
|
@admin_required_router.post("/remote/server/docker/logs", summary="查看预配置服务器容器日志", tags=["Docker远程控制"], response_model=ApiResponse[DockerLogsOut])
|
|
|
async def server_docker_logs(request: RemoteActionRequest, db: AsyncSession = Depends(get_db)):
|
|
|
- config = await DockerRemoteService.get_server_config(db, request.server_id)
|
|
|
+ config = await DockerRemoteService.get_server_config(db, request.server_id, request.project_path)
|
|
|
# 构造 DockerLogsRequest
|
|
|
log_req = DockerLogsRequest(
|
|
|
**config.model_dump(),
|
|
|
@@ -160,13 +160,13 @@ async def server_docker_logs(request: RemoteActionRequest, db: AsyncSession = De
|
|
|
|
|
|
@admin_required_router.post("/remote/server/config/read", summary="读取预配置服务器配置文件", tags=["Docker远程控制"], response_model=ApiResponse[Dict[str, Any]])
|
|
|
async def server_docker_config_read(request: RemoteActionRequest, db: AsyncSession = Depends(get_db)):
|
|
|
- config = await DockerRemoteService.get_server_config(db, request.server_id)
|
|
|
+ config = await DockerRemoteService.get_server_config(db, request.server_id, request.project_path)
|
|
|
res = await DockerRemoteService.read_config(config, request.config_file)
|
|
|
return success(data={"config": res})
|
|
|
|
|
|
@admin_required_router.post("/remote/server/config/update", summary="更新预配置服务器配置文件", tags=["Docker远程控制"], response_model=ApiResponse[bool])
|
|
|
async def server_docker_config_update(request: RemoteActionRequest, db: AsyncSession = Depends(get_db)):
|
|
|
- config = await DockerRemoteService.get_server_config(db, request.server_id)
|
|
|
+ config = await DockerRemoteService.get_server_config(db, request.server_id, request.project_path)
|
|
|
# 构造 ConfigUpdateRequest
|
|
|
update_req = ConfigUpdateRequest(
|
|
|
**config.model_dump(),
|
|
|
@@ -179,13 +179,13 @@ async def server_docker_config_update(request: RemoteActionRequest, db: AsyncSes
|
|
|
|
|
|
@admin_required_router.post("/remote/server/log/list", summary="列出预配置服务器日志文件", tags=["Docker远程控制"], response_model=ApiResponse[LogListOut])
|
|
|
async def server_docker_logs_list(request: RemoteActionRequest, db: AsyncSession = Depends(get_db)):
|
|
|
- config = await DockerRemoteService.get_server_config(db, request.server_id)
|
|
|
+ config = await DockerRemoteService.get_server_config(db, request.server_id, request.project_path)
|
|
|
res = await DockerRemoteService.list_logs(config)
|
|
|
return success(data=LogListOut(log_files=res))
|
|
|
|
|
|
@admin_required_router.post("/remote/server/log/read", summary="读取预配置服务器日志文件内容", tags=["Docker远程控制"], response_model=ApiResponse[LogReadOut])
|
|
|
async def server_docker_logs_read(request: RemoteActionRequest, db: AsyncSession = Depends(get_db)):
|
|
|
- config = await DockerRemoteService.get_server_config(db, request.server_id)
|
|
|
+ config = await DockerRemoteService.get_server_config(db, request.server_id, request.project_path)
|
|
|
# 构造 LogReadRequest
|
|
|
read_req = LogReadRequest(
|
|
|
**config.model_dump(),
|