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 # Load environment variables 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}