'use client'; import { useState } from 'react'; import Link from 'next/link'; import Navbar from '@/components/Navbar'; import Footer from '@/components/Footer'; // ─── Stripe Payment Links ─────────────────────────────────────────── // These are pre-generated checkout URLs from the Stripe Dashboard. // Sami needs to provide his Stripe secret key so we can create these // programmatically, or create them manually in the Stripe Dashboard. // The product catalog (from src/billing/catalog.js): // pro-30d → $20, 30-day license (one-time payment) // pro-90d → $50, 90-day license (one-time payment) // pro-180d → $70, 180-day license (one-time payment) // pro-365d → $99, 365-day license (one-time payment) // ───────────────────────────────────────────────────────────────────── const STRIPE_LINKS: Record = { '30d': 'https://buy.stripe.com/7sY9AVgJm35P6Uo5j904800', '90d': 'https://buy.stripe.com/bJe6oJ0Ko7m5emQ4f504801', '180d': 'https://buy.stripe.com/4gMeVfct635P2E826X04802', '365d': 'https://buy.stripe.com/8x228tct65dXdiM9zp04803', }; export default function PricingPage() { const [selectedPlan, setSelectedPlan] = useState<'30d' | '90d' | '180d' | '365d'>('365d'); const planOptions = [ { key: '30d', label: '30 Days', price: 20, productId: 'pro-30d', perDay: '$0.67/day' }, { key: '90d', label: '90 Days', price: 50, productId: 'pro-90d', perDay: '$0.56/day' }, { key: '180d', label: '180 Days', price: 70, productId: 'pro-180d', perDay: '$0.39/day' }, { key: '365d', label: '365 Days', price: 99, productId: 'pro-365d', perDay: '$0.27/day' }, ] as const; const selected = planOptions.find(p => p.key === selectedPlan)!; const coreFeatures = [ 'Dashboard & real-time service monitoring', '76+ pre-configured app templates', 'Automatic SSL via Caddy internal CA', 'DNS automation via Technitium DNS', 'Reverse proxy management + Caddyfile-as-Code', 'AI Intent Router — natural language commands', 'MCP Server — AI assistant integration', 'Security Center — unified event pipeline', 'Service Discovery — auto-detect containers', 'Smart Defaults Wizard — guided setup', 'WebSocket real-time dashboard updates', 'TOTP 2FA + multi-user admin & invites', 'Audit logging & encrypted credential vault', 'One-click backup & disaster recovery', 'Plugin/extension system', 'JavaScript SDK + TypeScript types (39 methods)', 'Prometheus metrics export', 'i18n — 5 languages (EN/ES/FR/DE/AR)', ]; const premiumFeatures = [ 'Everything in Core, plus:', 'Auto-Login SSO for deployed apps', 'Recipes — multi-container stack deployment', 'Swarm — Docker Swarm multi-node orchestration', 'Multi-Host Fleet Management — remote instance control', 'Priority support', 'One active machine per license', '7-day grace period on expiry', 'One-time payment — no recurring billing', ]; const faqs = [ { question: 'How does the license work?', answer: 'You pay once and receive a license code valid for the selected duration (30, 90, 180, or 365 days). Paste it into your DashCaddy dashboard under Admin → License to unlock all premium features. No recurring billing — when it expires, you simply purchase again if you want to continue.', }, { question: 'What happens when my license expires?', answer: 'Premium features gracefully deactivate after a 7-day grace period. Your services keep running — only the premium-gated features (SSO, Recipes, Swarm, Fleet Management) become unavailable. Purchase a new license at any time to re-enable them.', }, { question: 'Can I use DashCaddy without Premium?', answer: 'Absolutely. The core platform is fully functional without a license — including AI commands, the Security Center, service discovery, monitoring, backup, and all 76+ app templates. Premium unlocks SSO, Recipes, Swarm orchestration, and Fleet Management for advanced multi-node setups.', }, { question: 'How many machines can I activate?', answer: 'One active machine at a time per license. You can deactivate and move to a new machine when needed.', }, { question: 'Is my data safe?', answer: 'DashCaddy runs entirely on your infrastructure. Your data never leaves your server. We have no access to your applications, configurations, or data.', }, { question: 'What payment methods do you accept?', answer: 'We use Stripe for secure payment processing. All major credit cards are accepted. Payments are processed through Stripe\'s encrypted checkout — we never see or store your card details.', }, ]; const [expandedFaq, setExpandedFaq] = useState(0); return (
{/* Hero */}

Simple, Transparent Pricing

The core platform is completely free — including AI commands, Security Center, and all 76+ app templates. Premium unlocks advanced orchestration with a one-time payment.

{/* Two-column: Core vs Premium */}
{/* Core Plan */}

Core

Everything you need to deploy, manage, and secure self-hosted services — with AI built in.

Free

No license required, no credit card

Read Install Guide

Everything included — no limits

    {coreFeatures.map((feature, i) => (
  • {feature}
  • ))}
{/* Premium Plan */}
Premium

Premium

Advanced orchestration, SSO, and fleet management. One-time payment — no subscription.

{/* Plan selector */}
{planOptions.map((opt) => ( ))}
${selected.price} one-time

{selected.perDay} · {selected.productId}

{/* Subscribe button — Stripe Payment Link */} Buy Premium License

🔒 Secure checkout via Stripe · One-time payment

Everything in Core, plus

    {premiumFeatures.map((feature, i) => (
  • {feature.startsWith('Everything') ? ( {feature} ) : ( <> {feature} )}
  • ))}
{/* FAQ */}

Frequently Asked Questions

{faqs.map((faq, idx) => (
{expandedFaq === idx && (

{faq.answer}

)}
))}
{/* CTA */}

Ready to Get Started?

Install DashCaddy and start deploying services in minutes. The core platform is free forever.

Installation Guide Back to Home
); }