IKHSAN
EN Read in EnglishID

homeio

Publik

Fork dari doctor-io/homeio

Branch
main
Commit terakhir
958d74616 Oktober 2026

route.ts

Buka raw
import { NextResponse } from "next/server";
import {
  createRequestId,
  withServerTiming,
} from "@/lib/server/logging/logger";
import { getDockerInfo } from "@/lib/server/modules/docker/stats";
import { requireApiSession } from "@/lib/server/modules/auth/api";

export const runtime = "nodejs";

/**
 * GET /api/v1/docker/info
 *
 * Returns Docker engine metadata (version, storage driver, cgroup driver, image count).
 * Returns 503 when the Docker daemon socket is unreachable.
 */
export async function GET(request: Request) {
  const apiSession = await requireApiSession(request);
  if (apiSession.response) return apiSession.response;
  const requestId = createRequestId();

  return withServerTiming(
    {
      layer: "api",
      action: "docker.info.get",
      requestId,
    },
    async () => {
      const info = await getDockerInfo();

      if (!info) {
        return NextResponse.json(
          { error: "Docker daemon unavailable" },
          { status: 503 },
        );
      }

      return NextResponse.json({ data: info });
    },
  );
}
byte
1.066
baris
42
Jenis
ts
Commit terakhir
16 Oktober 2026