import { LabService } from "@/types/index";

export const LAB_SERVICES: LabService[] = [
  {
    id: "observatory",
    name: "The Observatory",
    description:
      "Astronomical API orchestration and orbital visualization. Built to track ISS transits and lunar phases over Copenhagen.",
    stack: ["Next.js", "Node", "SQLite"],
    visibility: "public",
    url: "https://observatory.georgew.dev",
    gitUrl: "https://git.georgew.dev/georgew/mission-control",
    image: "/lab/observatory.jpg",
    uptimeId: 12,
  },
  {
    id: "surf-hub",
    name: "Surf Sentinel",
    description:
      "Custom telemetry dashboard for Llangennith Bay, Wales. Pulling real-time buoy data and wave height predictions to find the perfect window for a session.",
    stack: ["Grafana", "Influx DB", "Node"],
    visibility: "public",
    url: "https://surf.georgew.dev/d/adrx6b4/llangennith-beach-surf-data?orgId=1&from=now-24h&to=now&timezone=browser&refresh=1h&theme=dark&kiosk=true",
    image: "/lab/surf-hub.jpg",
    gitUrl: "https://git.georgew.dev/georgew/surf-hub",
    uptimeId: 13,
  },
  {
    id: "audiobookshelf",
    name: "The Archive",
    description:
      "Dedicated audiobook server for the household. Primarily used for our Brandon Sanderson, Patrick Rothfuss, and Dungeon Crawler Carl marathons.",
    stack: ["Docker", "Compose", "Tailscale", "rclone"],
    visibility: "tailscale",
    image: "/lab/audiobookshelf.jpg",
    gitUrl: "https://git.georgew.dev/georgew/audiobookshelf",
    uptimeId: 6,
  },
  {
    id: "yamtrack",
    name: "Yamtrack",
    description:
      "A specialized tracker for our anime watch-lists! Features custom metadata hooks to keep our seasonal progress in sync.",
    stack: ["Docker", "Redis", "Tailscale"],
    visibility: "tailscale",
    image: "/lab/yamtrack.jpg",
    gitUrl: "https://git.georgew.dev/georgew/yamtrack",
    uptimeId: 11,
  },
  {
    id: "paperless",
    name: "Paperless-ngx",
    description:
      "Personal document management system with OCR and automated tagging. Digitizing our physical mail and records into a searchable, versioned archive.",
    stack: ["Docker", "Redis", "PostgreSQL"],
    visibility: "tailscale",
    image: "/lab/paperless.jpg",
    gitUrl: "https://git.georgew.dev/georgew/paperless-ngx",

    uptimeId: 14,
  },
  {
    id: "change-detection",
    name: "Signal Watcher",
    description:
      "Automated monitoring for the essentials: NASA news updates, hobby stock alerts, and Telegram pings the second a new episode of 'The Traitors' drops.",
    stack: ["Telegram API", "Webhooks"],
    visibility: "tailscale",
    image: "/lab/change-detection.jpg",
    gitUrl: "https://git.georgew.dev/georgew/change-detection",
    uptimeId: 15,
  },
  {
    id: "ops-suite",
    name: "System Operations",
    description:
      "The 'Engine Room.' Utilizing Portainer for orchestration, Dozzle for log streaming, and Watchtower for automated container lifecycle management across the Hetzner node.",
    stack: ["Portainer", "Dozzle", "Watchtower"],
    visibility: "tailscale",
    image: "/lab/portainer.jpg",
  },
  {
    id: "wikijs",
    name: "System Wiki",
    description:
      "The 'Source of Truth' for the home infrastructure. Contains deployment guides, network maps, and disaster recovery procedures for the entire node.",
    stack: ["Wiki.js", "Markdown"],
    visibility: "tailscale",
    image: "/lab/wikijs.jpg",
    uptimeId: 5,
  },
  {
    id: "dashboard",
    name: "System Dashboard",
    description:
      "The central entry point for the GeorgeW ecosystem, used as my personal home page. A high-level overview providing unified access to all public and VPN-secured services.",
    stack: ["Homepage", "Docker", "Reverse Proxy"],
    visibility: "tailscale",
    image: "/lab/dashboard.jpg",
  },
];
