from fastapi import APIRouter, HTTPException from fastapi.responses import JSONResponse, HTMLResponse from docker_client import docker_client router = APIRouter() @router.get("/fetch/{container_name}") def stream_logs(container_name: str): if not docker_client: raise HTTPException(status_code=503, detail="Docker is not available") try: container = docker_client.containers.get(container_name) logs = container.logs(tail=100).decode() return HTMLResponse(f"
{logs}") except Exception as e: return JSONResponse({"error": str(e)}, status_code=500)