"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("../index-DEZRGktf.js"),s=require("lucide-react");require("react-router-dom");require("react");require("react-dom");const o=()=>e.jsxs("div",{className:"flex flex-col gap-8",children:[e.jsx(r.HeroCard,{title:"Self-Hosting & Deployment",description:"Deploy the MCP server to Docker, Fly.io, or any container platform for team-wide access.",icon:e.jsx("div",{className:"w-16 h-16 sm:w-20 sm:h-20 bg-linear-to-br from-sky-500 to-blue-600 rounded-full flex items-center justify-center shadow-lg",children:e.jsx(s.Cloud,{className:"w-8 h-8 sm:w-10 sm:h-10 text-white"})})}),e.jsx(r.CardContainer,{children:e.jsxs(r.CardTitle,{title:"Live Instance",children:[e.jsx(r.Typography,{className:"text-sm text-foreground/70 mb-3",children:"A public instance is available for testing and evaluation:"}),e.jsxs("div",{className:"p-4 rounded-lg border border-emerald-500/20 bg-emerald-500/5 flex items-center gap-3",children:[e.jsx(r.Badge,{variant:"soft",className:"bg-emerald-500/10 text-emerald-500",children:"LIVE"}),e.jsx("code",{className:"text-sm font-mono text-emerald-600 dark:text-emerald-400",children:"https://tucu-ui-mcp.fly.dev"})]})]})}),e.jsx(r.CardContainer,{children:e.jsxs(r.CardTitle,{title:"Docker",children:[e.jsx(r.Typography,{className:"text-sm text-foreground/70 mb-3",children:"Run with Docker Compose or standalone:"}),e.jsx(r.CodeBlock,{code:`# Using Docker Compose (recommended)
docker compose up -d

# Or build and run manually
docker build -t tucu-ui-mcp .
docker run -d \\
  --name tucu-ui-mcp \\
  -p 3100:3100 \\
  -e MCP_API_KEY=your-secret-key \\
  tucu-ui-mcp`})]})}),e.jsx(r.CardContainer,{children:e.jsxs(r.CardTitle,{title:"Fly.io",children:[e.jsx(r.Typography,{className:"text-sm text-foreground/70 mb-3",children:"Deploy to Fly.io for a globally-distributed instance:"}),e.jsx(r.CodeBlock,{code:`# Initial setup
fly launch --name tucu-ui-mcp --region iad

# Set secrets
fly secrets set MCP_API_KEY=your-secret-key

# Deploy
fly deploy

# Check status
fly status
fly logs`})]})}),e.jsx(r.CardContainer,{children:e.jsx(r.CardTitle,{title:"Environment Variables",children:e.jsx(r.BasicTable,{columns:[{key:"variable",label:"Variable",render:t=>e.jsx("code",{className:"px-1.5 py-0.5 bg-muted rounded text-xs font-mono",children:String(t)})},{key:"default",label:"Default"},{key:"description",label:"Description"}],data:[{variable:"PORT",default:"3100",description:"HTTP server port"},{variable:"MCP_API_KEY",default:"—",description:"Bearer token for authentication (required in production)"},{variable:"NODE_ENV",default:"production",description:"Environment mode"},{variable:"RATE_LIMIT_MAX",default:"100",description:"Max requests per minute per IP"}]})})}),e.jsx(r.CardContainer,{children:e.jsxs(r.CardTitle,{title:"Docker Compose File",children:[e.jsxs(r.Typography,{className:"text-sm text-foreground/70 mb-3",children:["Reference"," ",e.jsx("code",{className:"px-1.5 py-0.5 bg-muted rounded text-xs font-mono",children:"docker-compose.yml"}),":"]}),e.jsx(r.CodeBlock,{code:`version: '3.8'
services:
  mcp-server:
    build: .
    ports:
      - "3100:3100"
    environment:
      - PORT=3100
      - MCP_API_KEY=\${MCP_API_KEY}
      - NODE_ENV=production
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:3100/health"]
      interval: 30s
      timeout: 10s
      retries: 3`})]})})]});exports.default=o;
