"use client"; import clsx from "clsx"; import { cn } from "@/lib/utils"; import { MinusIcon, PlusIcon } from "lucide-react"; import Link from "next/link"; import { useRouter } from "next/navigation"; import { useState } from "react"; import { Container } from "./Container"; import { trackGAEvent } from "./analitycs"; import { Badge } from "./ui/badge"; import { Button, buttonVariants } from "./ui/button"; import { NumberInput } from "./ui/input"; import { Tabs, TabsList, TabsTrigger } from "./ui/tabs"; function SwirlyDoodle(props: React.ComponentPropsWithoutRef<"svg">) { return ( ); } function CheckIcon({ className, ...props }: React.ComponentPropsWithoutRef<"svg">) { return ( ); } export const calculatePrice = (count: number, isAnnual = false) => { if (isAnnual) { if (count <= 1) return 45.9; return 35.7 * count; } if (count <= 1) return 4.5; return count * 3.5; }; function Plan({ name, price, description, href, features, featured = false, buttonText = "Get Started", }: { name: string; price: string; description: string; href: string; features: Array; featured?: boolean; buttonText?: string; }) { const router = useRouter(); return (

{name}

{description}

{price}

); } export function Pricing() { const router = useRouter(); const [isAnnual, setIsAnnual] = useState(true); const [serverQuantity, setServerQuantity] = useState(3); const featured = true; return (

Simple & Affordable, {" "} Pricing.

Deploy Smarter, Scale Faster – Without Breaking the Bank

setIsAnnual(e === "annual")} > Monthly Annual

Free

|

Open Source

Dokploy Open Source

Manager your own infrastructure installing dokploy ui in your own server.

    {[ "Complete Flexibility: Install Dokploy UI on your own infrastructure", "Unlimited Deployments", "Self-hosted Infrastructure", "Community Support", "Access to Core Features", "Dokploy Integration", "Basic Backups", "Access to All Updates", ].map((feature) => (
  • {feature}
  • ))}
Unlimited Servers
Recommended 🚀
{isAnnual ? (

$ {calculatePrice(serverQuantity, isAnnual).toFixed(2)}{" "} USD

|

${" "} {(calculatePrice(serverQuantity, isAnnual) / 12).toFixed( 2, )}{" "} / Month USD

) : (

$ {calculatePrice(serverQuantity, isAnnual).toFixed(2)} USD

)}

Dokploy Plan

No need to manage Dokploy UI infrastructure, we take care of it for you.

    {[ "Managed Hosting: No need to manage your own servers", "Priority Support", "Future-Proof Features", ].map((feature) => (
  • {feature}
  • ))}
{serverQuantity} Servers (You bring the servers)
{ setServerQuantity(e.target.value as unknown as number); }} />
Subscribe
); } const faqs = [ [ { question: "How does Dokploy's Open Source plan work?", answer: "You can host Dokploy UI on your own infrastructure and you will be responsible for the maintenance and updates.", }, { question: "Do I need to provide my own server for the managed plan?", answer: "Yes, in the managed plan, you provide your own server eg(Hetzner, Hostinger, AWS, ETC.) VPS, and we manage the Dokploy UI infrastructure for you.", }, { question: "What happens if I need more than one server?", answer: "The first server costs $4.50/month, if you buy more than one it will be $3.50/month per server.", }, ], [ { question: "Is there a limit on the number of deployments?", answer: "No, there is no limit on the number of deployments in any of the plans.", }, { question: "What happens if I exceed my purchased server limit?", answer: "The most recently added servers will be deactivated. You won't be able to create services on inactive servers until they are reactivated.", }, { question: "Do you offer a refunds?", answer: "We do not offer refunds. However, you can cancel your subscription at any time. Feel free to try our open-source version for free before making a purchase.", }, ], [ { question: "What kind of support do you offer?", answer: "We offer community support for the open source version and priority support for paid plans.", }, { question: "Is Dokploy open-source?", answer: "Yes, Dokploy is fully open-source. You can contribute or modify it as needed for your projects.", }, ], ]; export function Faqs() { return (

{"Frequently asked questions"}

If you can’t find what you’re looking for, please send us an email to:{" "} support@dokploy.com

    {faqs.map((column, columnIndex) => (
    • {column.map((faq, faqIndex) => (
    • {faq.question}

      {faq.answer}

    • ))}
  • ))}
); }