diff --git a/apps/website/app/dokploy-vs-coolify/page.tsx b/apps/website/app/dokploy-vs-coolify/page.tsx new file mode 100644 index 00000000..2db97f26 --- /dev/null +++ b/apps/website/app/dokploy-vs-coolify/page.tsx @@ -0,0 +1,363 @@ +import { Container } from "@/components/Container"; +import { CallToAction } from "@/components/CallToAction"; +import { Testimonials } from "@/components/Testimonials"; +import { ComparisonStats } from "@/components/comparison-stats"; +import AnimatedGridPattern from "@/components/ui/animated-grid-pattern"; +import { Check, X, Zap, Cpu, Plug, LayoutDashboard, Bell } from "lucide-react"; +import Image from "next/image"; +import Link from "next/link"; +import type { Metadata } from "next"; +import { Button } from "@/components/ui/button"; + +export const metadata: Metadata = { + title: "Dokploy Vs. Coolify Comparison", + description: + "Dokploy vs. Coolify at a glance: How to choose the right self-hosted open deployment option for your applications.", +}; + +const featureComparisonRows = [ + { feature: "One-command installation", dokploy: true, coolify: true }, + { feature: "Installation feedback and progress logs", dokploy: true, coolify: true }, + { feature: "Works with firewall and TailScale out of the box", dokploy: true, coolify: false }, + { feature: "Lightweight CPU usage while idle", dokploy: true, coolify: false }, + { feature: "Low memory usage", dokploy: true, coolify: true }, + { feature: "Teams and organizations support", dokploy: true, coolify: true }, + { feature: "Projects grouping", dokploy: true, coolify: true }, + { feature: "Consistent, responsive UI", dokploy: true, coolify: false }, + { feature: "Built with Next.js / TypeScript", dokploy: true, coolify: false }, + { feature: "AI-assisted deployments", dokploy: true, coolify: false }, + { feature: "Deploy from custom Docker images", dokploy: true, coolify: true }, + { feature: "Database deployment (Postgres, MySQL, Redis, etc.)", dokploy: true, coolify: true }, + { feature: "Scheduled database backups (S3)", dokploy: true, coolify: true }, + { feature: "Back up arbitrary Docker volumes, not just databases", dokploy: true, coolify: false }, + { feature: "Preview deployments (review apps)", dokploy: true, coolify: true }, + { feature: "API and CLI tools for automation", dokploy: true, coolify: true }, + { feature: "Multi-server deployment", dokploy: true, coolify: true }, + { feature: "Docker Swarm clustering", dokploy: true, coolify: "limited" }, + { feature: "Cron jobs inside containers", dokploy: true, coolify: true }, + { feature: "Cron jobs on your host machine", dokploy: true, coolify: false }, + { feature: "Monitoring metrics (CPU, RAM, Disk)", dokploy: true, coolify: "limited" }, + { feature: "Metrics enabled by default", dokploy: true, coolify: false }, + { feature: "Automated alerts from metrics", dokploy: true, coolify: false }, +]; + +const whyChooseItems = [ + { + icon: Zap, + title: "Benefit from a fast, reliable setup", + description: + "Use a single command to deploy with Dokploy, which works seamlessly across firewalls, TailScale, and secure environments. Launch applications faster with Dokploy's optimized build system.", + }, + { + icon: Cpu, + title: "Do more with less", + description: + "Keep your VPS fast and responsive with Dokploy's lightweight architecture, which uses minimal CPU and memory, even while idle. Automate builds, alerts, and scaling events effortlessly.", + }, + { + icon: Plug, + title: "Integrate with your favorite platforms", + description: + "Connect Dokploy to GitHub, GitLab, and Bitbucket. Dokploy supports Docker, Compose, Nixpacks, and Buildpacks, and even lets you add APIs and use CLI automation.", + }, + { + icon: LayoutDashboard, + title: "Experience an intuitive, polished UX", + description: + "Enjoy a clean, consistent UI in the cloud, powered by Next.js and TypeScript. Dokploy is the modern deployment dashboard, optimized for productivity and clarity, with smooth navigation and predictable save behavior.", + }, + { + icon: Bell, + title: "Know what's happening before it's a problem", + description: + "Built-in metrics, automated alerting, and volume backups make Dokploy ideal for serious deployments. Monitor CPU, memory, and disk usage, automate notifications, and keep data safe with S3-compatible backups.", + }, +]; + +const integrationRows = [ + { + category: "Git providers", + dokploy: "GitHub, GitLab, Bitbucket, Gitea, Git Generic", + coolify: "GitHub, Git Generic", + }, + { + category: "Build and deployment systems", + dokploy: "Docker, Docker Compose, Nixpacks, Heroku Buildpacks, Paketo Buildpacks, Railpack", + coolify: "Docker, Docker Compose, Nixpacks", + }, + { + category: "Notifications and communication", + dokploy: "Slack, Telegram, Discord, Lark, Email (SMTP), Resend, Gotify, Ntfy, Pushover, Webhook", + coolify: "Slack, Discord, Telegram, Email (SMTP), Pushover, Resend, Teams", + }, +]; + +export default function DokployVsCoolifyPage() { + return ( +
+ {/* Hero Section */} +
+ + +
+

+ Dokploy vs. Coolify +

+

+ If you're looking for a self-hosted, open deployment solution that + lets you run applications on your own VPS or hardware, Dokploy and + Coolify are the two leading options. But which should you choose? +

+ +
+
+

Dokploy

+

+ For a polished, intuitive, open deployment solution with + powerful automation, AI, monitoring and integration features – + designed for developers who want control without complexity – + choose Dokploy. +

+
+
+

Coolify

+

+ For an open source deployment tool that's geared toward indie + devs and OSS hobbyists, with an accessible, less polished + approach that suits individuals over businesses, choose + Coolify. +

+
+
+ + +
+
+
+ + {/* Dokploy vs Coolify at a glance */} +
+ +
+

+ Dokploy vs. Coolify at a glance +

+

+ Read our comprehensive Coolify vs. Dokploy features comparison + before you make your decision. +

+
+ +
+ + + + + + + + + + {featureComparisonRows.map((row) => ( + + + + + + ))} + +
FeatureDokployCoolify
{row.feature} + {row.dokploy ? ( + + ) : ( + + )} + + {row.coolify === true ? ( + + ) : row.coolify === "limited" ? ( + Limited + ) : ( + + )} +
+
+
+
+ + {/* Why you should choose Dokploy */} +
+ +
+

+ Why you should choose Dokploy +

+
+ +
+ {whyChooseItems.map((item, index) => ( +
+
+
+ +
+

+ {item.title} +

+

{item.description}

+
+
+ {index === 0 ? ( +
+ Dokploy deployment panel showing build and deployment logs +
+ ) : index === 1 ? ( +
+ Dokploy monitoring dashboard showing CPU, memory, disk and I/O metrics +
+ ) : index === 2 ? ( +
+ Dokploy deploy settings with GitHub, GitLab, Bitbucket and other providers +
+ ) : index === 3 ? ( +
+ Dokploy projects dashboard with services grid and environment selector +
+ ) : index === 4 ? ( +
+ Dokploy Create Backup modal for database and volume backups +
+ ) : ( +
+ )} +
+
+ ))} +
+ +
+ + {/* Dokploy integrates with the leading solutions */} +
+ +
+

+ Dokploy integrates with the leading solutions +

+
+ +
+ + + + + + + + + + {integrationRows.map((row) => ( + + + + + + ))} + +
CategoryDokployCoolify
{row.category} + {row.dokploy} + + {row.coolify} +
+
+
+
+ + {/* Why Dokploy is perfect for teams */} +
+ +
+

+ Why Dokploy is perfect for teams of any size +

+

+ Empower every team, from solo developers to enterprise engineering + squads, with a deployment platform built for collaboration and + control. Dokploy's organizational and project structuring features + make it simple for you to manage users, permissions, and + environments, while its automation and monitoring tools scale + seamlessly as your team grows. Whether you're running one app or + hundreds, Dokploy adapts to your needs without adding complexity. +

+
+
+
+ + {/* Thousands have chosen Dokploy - Stats */} + + + {/* Testimonials */} + + + {/* Final CTA */} + +
+ ); +} diff --git a/apps/website/components/Footer.tsx b/apps/website/components/Footer.tsx index 4639bc15..9d6b5007 100644 --- a/apps/website/components/Footer.tsx +++ b/apps/website/components/Footer.tsx @@ -41,6 +41,7 @@ export function Footer() {
Features FAQ + Dokploy vs. Coolify { + const fetchGitHubStars = async () => { + try { + const response = await fetch( + "/api/github-stars?owner=dokploy&repo=dokploy", + ); + + if (response.ok) { + const data = await response.json(); + setGithubStars(data.stargazers_count); + } + } catch (error) { + console.error("Error fetching GitHub stars:", error); + } + }; + + fetchGitHubStars(); + }, []); + + return ( +
+ +
+

+ Thousands have chosen Dokploy +

+

+ Just a few numbers to show we're not completely making this up. + Turns out, Dokploy has actually helped a few people – who knew? +

+
+ +
+
+ +

+ GitHub Stars +

+

+ + +

+

+ Trusted by developers worldwide +

+
+
+ +

+ DockerHub Downloads +

+

+ + +

+

+ Go-to solution for deployments +

+
+
+ +

+ Community Contributors +

+

+ + +

+

+ Thriving open source community +

+
+
+ +

+ Sponsors +

+

+ + +

+

+ Supporting the project +

+
+
+
+
+ ); +} diff --git a/apps/website/components/stats.tsx b/apps/website/components/stats.tsx index 7a51bb31..7c2968b5 100644 --- a/apps/website/components/stats.tsx +++ b/apps/website/components/stats.tsx @@ -7,7 +7,7 @@ import NumberTicker from "./ui/number-ticker"; const statsValues = { githubStars: 26000, - dockerDownloads: 4000000, + dockerDownloads: 6500000, contributors: 200, sponsors: 50, }; diff --git a/apps/website/public/images/dokploy-create-backup.png b/apps/website/public/images/dokploy-create-backup.png new file mode 100644 index 00000000..1a11e8ba Binary files /dev/null and b/apps/website/public/images/dokploy-create-backup.png differ diff --git a/apps/website/public/images/dokploy-deployment-log.png b/apps/website/public/images/dokploy-deployment-log.png new file mode 100644 index 00000000..6317001f Binary files /dev/null and b/apps/website/public/images/dokploy-deployment-log.png differ diff --git a/apps/website/public/images/dokploy-monitoring-dashboard.png b/apps/website/public/images/dokploy-monitoring-dashboard.png new file mode 100644 index 00000000..3b6f5e1d Binary files /dev/null and b/apps/website/public/images/dokploy-monitoring-dashboard.png differ diff --git a/apps/website/public/images/dokploy-projects-dashboard.png b/apps/website/public/images/dokploy-projects-dashboard.png new file mode 100644 index 00000000..29f91732 Binary files /dev/null and b/apps/website/public/images/dokploy-projects-dashboard.png differ diff --git a/apps/website/public/images/dokploy-provider-settings.png b/apps/website/public/images/dokploy-provider-settings.png new file mode 100644 index 00000000..07fc19f0 Binary files /dev/null and b/apps/website/public/images/dokploy-provider-settings.png differ