| from fastapi import FastAPI |
| import dotenv |
| from routers.deploy import router as deploy_router |
| from routers.controls import router as controls_router |
| from routers.logs import router as logs_router |
| from docker_client import docker_client |
|
|
| |
| dotenv.load_dotenv() |
|
|
| app = FastAPI() |
| app.include_router(controls_router, prefix="/controls") |
| app.include_router(logs_router, prefix="/logs") |
| app.include_router(deploy_router, prefix="/deploy") |
|
|
| @app.get("/") |
| def dashboard(): |
| if not docker_client: |
| return {"message": "Docker is not available"} |
| containers = docker_client.containers.list(all=True) |
| container_list = [ |
| { |
| "id": container.id, |
| "name": container.name, |
| "status": container.status, |
| "image": container.image.tags |
| } |
| for container in containers |
| ] |
| return {"containers": container_list} |
|
|
|
|
|
|