|
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} |
|
|
|
|
|
|