diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS deleted file mode 100644 index 2d3b039..0000000 --- a/.github/CODEOWNERS +++ /dev/null @@ -1,2 +0,0 @@ -# These owners will be the default owners for everything in -* @siumauricio diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml deleted file mode 100644 index d906938..0000000 --- a/.github/workflows/pull-request.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: Pull request -on: - pull_request: - branches: - - main -jobs: - build: - runs-on: ubuntu-20.04 - strategy: - matrix: - node-version: [18.18.0] - steps: - - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v3 - with: - version: 8 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3 - with: - node-version: ${{ matrix.node-version }} - cache: 'pnpm' - - name: Install dependencies - run: pnpm install - - name: Run Build - run: pnpm build \ No newline at end of file diff --git a/README.md b/README.md index ddcd17e..5756291 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,15 @@ # Dokploy Website +Main Landing Page of Dokploy + +Run development server: + +```bash +npm run dev +# or +pnpm dev +# or +yarn dev +``` + +Open http://localhost:3000 with your browser to see the result. diff --git a/app/[locale]/[...rest]/page.tsx b/app/[locale]/[...rest]/page.tsx new file mode 100644 index 0000000..4583936 --- /dev/null +++ b/app/[locale]/[...rest]/page.tsx @@ -0,0 +1,5 @@ +import { notFound } from "next/navigation"; + +export default function CatchAll() { + notFound(); +} diff --git a/app/[locale]/layout.tsx b/app/[locale]/layout.tsx new file mode 100644 index 0000000..26a161b --- /dev/null +++ b/app/[locale]/layout.tsx @@ -0,0 +1,106 @@ +import clsx from "clsx"; +import { Inter, Lexend } from "next/font/google"; +import "@/styles/tailwind.css"; +import { NextIntlClientProvider } from "next-intl"; +import { getMessages } from "next-intl/server"; + +import { Footer } from "@/components/Footer"; +import { Header } from "@/components/Header"; +import type { Metadata } from "next"; + +export const metadata: Metadata = { + title: { + default: "Dokploy - Effortless Deployment Solutions", + template: "%s | Simplify Your DevOps", + }, + alternates: { + canonical: "https://dokploy.com", + languages: { + en: "https://dokploy.com", + }, + }, + description: + "Streamline your deployment process with Dokploy. Effortlessly manage applications and databases on any VPS using Docker and Traefik for improved performance and security.", + applicationName: "Dokploy", + keywords: [ + "Dokploy", + "Docker", + "Traefik", + "deployment", + "VPS", + "application management", + "database management", + "DevOps", + "cloud infrastructure", + "UI Self hosted", + ], + referrer: "origin", + robots: "index, follow", + openGraph: { + type: "website", + url: "https://dokploy.com", + title: "Dokploy - Effortless Deployment Solutions", + description: + "Simplify your DevOps with Dokploy. Deploy applications and manage databases efficiently on any VPS.", + siteName: "Dokploy", + images: [ + { + url: "http://dokploy.com/og.png", + }, + ], + }, + twitter: { + card: "summary_large_image", + site: "@Dokploy", + creator: "@Dokploy", + title: "Dokploy - Simplify Your DevOps", + description: + "Deploy applications and manage databases with ease using Dokploy. Learn how our platform can elevate your infrastructure management.", + images: "https://dokploy.com/og.png", + }, +}; + +const inter = Inter({ + subsets: ["latin"], + display: "swap", + variable: "--font-inter", +}); + +const lexend = Lexend({ + subsets: ["latin"], + display: "swap", + variable: "--font-lexend", +}); + +export default async function RootLayout({ + children, + params, +}: { + children: React.ReactNode; + params: { locale: string }; +}) { + const { locale } = params; + const messages = await getMessages(); + return ( + + +