IKHSAN
EN Read in EnglishID

homeio

Publik

Fork dari doctor-io/homeio

Branch
main
Commit terakhir
958d74616 Oktober 2026

docker.ts

Buka raw
import type { AppConditionSummary } from "@/lib/shared/app-condition";

export type ContainerStats = {
  id: string;
  name: string;
  state: string;
  cpuPercent: number;
  memoryUsed: number;
  memoryLimit: number;
  memoryPercent: number;
  networkRx: number;
  networkTx: number;
  blockRead: number;
  blockWrite: number;
};

/** Shape returned by both the REST endpoint and the SSE "stats.updated" event. */
export type DockerStatsPayload = {
  containers: ContainerStats[];
  /** false when the Docker daemon socket is unreachable. */
  daemonAvailable: boolean;
};

export type DockerStatsResponse = {
  data: DockerStatsPayload;
};

export type DockerStatsStreamEvent = {
  type: "stats.updated" | "heartbeat";
  data: DockerStatsPayload | { timestamp: string };
};

/** Engine-level metadata returned by GET /api/v1/docker/info */
export type DockerInfo = {
  engineVersion: string;
  composeVersion: string;
  storageDriver: string;
  cgroupDriver: string;
  images: number;
};

export type DockerInfoResponse = {
  data: DockerInfo;
};

/** A container running on this host that Homeio did not deploy. */
export type UnmanagedContainer = {
  id: string;
  name: string;
  image: string;
  /** Docker's own state: running, exited, paused, restarting, ... */
  state: string;
  /** Docker's human status line, e.g. "Up 3 days". */
  status: string;
  /** What the container is doing, read from state and status line. */
  condition: AppConditionSummary;
  composeProject: string | null;
  /** Name the operator gave it in Homeio; the Docker name when null. */
  displayName: string | null;
  /** Icon the operator picked; the default container icon when null. */
  iconUrl: string | null;
  /** Link "Open Dashboard" goes to; disabled when null. */
  dashboardUrl: string | null;
};

/** What an operator can change about a container Homeio did not deploy. */
export type ContainerCustomization = {
  displayName: string | null;
  iconUrl: string | null;
  dashboardUrl: string | null;
};
byte
1.999
baris
72
Jenis
ts
Commit terakhir
16 Oktober 2026