mirror of
https://github.com/Dokploy/website.git
synced 2026-06-15 20:25:25 +02:00
2
apps/docs/.gitignore
vendored
2
apps/docs/.gitignore
vendored
@@ -2,8 +2,6 @@
|
||||
/node_modules
|
||||
|
||||
# generated content
|
||||
.contentlayer
|
||||
.content-collections
|
||||
.source
|
||||
|
||||
# test & build
|
||||
|
||||
@@ -1,26 +1,121 @@
|
||||
# docs-v2
|
||||
# Dokploy Documentation (New)
|
||||
|
||||
This is a Next.js application generated with
|
||||
[Create Fumadocs](https://github.com/fuma-nama/fumadocs).
|
||||
This is a fresh Fumadocs project with the complete Dokploy documentation migrated from the old docs project.
|
||||
|
||||
Run development server:
|
||||
## Features
|
||||
|
||||
- ✨ **Modern Fumadocs Setup** - Built with the latest Fumadocs version
|
||||
- 🎨 **Ocean Theme** - Beautiful ocean-themed UI
|
||||
- 📱 **Responsive Design** - Works perfectly on all devices
|
||||
- 🔍 **Advanced Search** - Built-in search functionality
|
||||
- 🌙 **Dark Mode** - Full dark mode support
|
||||
- 📚 **Complete Documentation** - All docs migrated including:
|
||||
- Core documentation
|
||||
- API references
|
||||
- CLI documentation
|
||||
- Remote Servers section
|
||||
- Examples and tutorials
|
||||
|
||||
## Getting Started
|
||||
|
||||
### Development
|
||||
|
||||
Run the development server:
|
||||
|
||||
```bash
|
||||
npm run dev
|
||||
# or
|
||||
# From workspace root
|
||||
pnpm docs-new:dev
|
||||
|
||||
# Or from this directory
|
||||
pnpm dev
|
||||
# or
|
||||
yarn dev
|
||||
```
|
||||
|
||||
Open http://localhost:3000 with your browser to see the result.
|
||||
The site will be available at `http://localhost:3000`
|
||||
|
||||
## Learn More
|
||||
### Build
|
||||
|
||||
To learn more about Next.js and Fumadocs, take a look at the following
|
||||
resources:
|
||||
Build the documentation for production:
|
||||
|
||||
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js
|
||||
features and API.
|
||||
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
|
||||
- [Fumadocs](https://fumadocs.vercel.app) - learn about Fumadocs
|
||||
```bash
|
||||
# From workspace root
|
||||
pnpm docs-new:build
|
||||
|
||||
# Or from this directory
|
||||
pnpm build
|
||||
```
|
||||
|
||||
### Type Checking
|
||||
|
||||
Run type checking:
|
||||
|
||||
```bash
|
||||
# From workspace root
|
||||
pnpm docs-new:typecheck
|
||||
|
||||
# Or from this directory
|
||||
pnpm run types:check
|
||||
```
|
||||
|
||||
## Structure
|
||||
|
||||
```
|
||||
apps/docs-new/
|
||||
├── app/ # Next.js app directory
|
||||
│ ├── (home)/ # Home page
|
||||
│ ├── docs/ # Documentation pages
|
||||
│ │ ├── [[...slug]]/ # Dynamic doc pages
|
||||
│ │ └── layout.tsx # Docs layout
|
||||
│ ├── api/ # API routes
|
||||
│ └── layout.tsx # Root layout
|
||||
├── content/ # MDX documentation content
|
||||
│ └── docs/ # All documentation files
|
||||
├── lib/ # Utilities
|
||||
│ ├── source.ts # Content source configuration
|
||||
│ └── layout.shared.tsx # Shared layout options
|
||||
├── public/ # Static assets
|
||||
└── source.config.ts # Fumadocs configuration
|
||||
```
|
||||
|
||||
## Customization
|
||||
|
||||
### Theme
|
||||
|
||||
The project uses the **Ocean theme**. To change it, edit `app/global.css`:
|
||||
|
||||
```css
|
||||
@import 'fumadocs-ui/css/ocean.css'; /* Change this to another theme */
|
||||
```
|
||||
|
||||
Available themes: `neutral`, `black`, `vitepress`, `dusk`, `catppuccin`, `ocean`, `purple`
|
||||
|
||||
### Layout Configuration
|
||||
|
||||
Edit `lib/layout.shared.tsx` to customize:
|
||||
- Navigation title
|
||||
- Links
|
||||
- GitHub URL
|
||||
- Other layout options
|
||||
|
||||
### Content
|
||||
|
||||
Add or edit documentation in the `content/docs/` directory. The structure follows Fumadocs conventions with `meta.json` files for navigation.
|
||||
|
||||
## Key Differences from Old Docs
|
||||
|
||||
1. **Modern API** - Uses `fumadocs-mdx:collections/server` instead of legacy approach
|
||||
2. **Better Type Safety** - Full TypeScript support with proper types
|
||||
3. **Simpler Configuration** - Less boilerplate, more conventions
|
||||
4. **Built-in Features** - Search, OG images, and more work out of the box
|
||||
5. **No Build Errors** - Clean slate without legacy issues
|
||||
|
||||
## Documentation
|
||||
|
||||
- [Fumadocs Documentation](https://fumadocs.dev)
|
||||
- [Fumadocs Themes](https://fumadocs.dev/docs/ui/theme)
|
||||
- [Fumadocs Layouts](https://fumadocs.dev/docs/ui/blocks/layout)
|
||||
|
||||
## Notes
|
||||
|
||||
- The `.source` directory is auto-generated - don't edit it manually
|
||||
- Run `pnpm run postinstall` after making changes to content structure
|
||||
- Restart dev server after adding new MDX files
|
||||
|
||||
12690
apps/docs/api.json
12690
apps/docs/api.json
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,21 @@
|
||||
import { source } from "@/lib/source";
|
||||
import { createFromSource } from "fumadocs-core/search/server";
|
||||
import type { InferPageType } from "fumadocs-core/source";
|
||||
|
||||
export const { GET } = createFromSource(source);
|
||||
export const { GET } = createFromSource(source, {
|
||||
// https://docs.orama.com/docs/orama-js/supported-languages
|
||||
language: "english",
|
||||
// Configure tag filter based on the first slug (core, cli, api)
|
||||
buildIndex(page: InferPageType<typeof source>) {
|
||||
const tag = page.slugs[0] || "all";
|
||||
return {
|
||||
title: page.data.title,
|
||||
description: page.data.description,
|
||||
url: page.url,
|
||||
id: page.url,
|
||||
structuredData: page.data.structuredData,
|
||||
// Assign tag based on the first slug (core, cli, api)
|
||||
tag,
|
||||
} as any;
|
||||
},
|
||||
});
|
||||
|
||||
@@ -1,117 +1,54 @@
|
||||
import { source } from "@/lib/source";
|
||||
import { openapi } from "@/lib/source";
|
||||
import { baseUrl } from "@/utils/metadata";
|
||||
import { ImageZoom } from "fumadocs-ui/components/image-zoom";
|
||||
import defaultMdxComponents from "fumadocs-ui/mdx";
|
||||
import { getPageImage, source } from "@/lib/source";
|
||||
import { getMDXComponents } from "@/mdx-components";
|
||||
import {
|
||||
DocsBody,
|
||||
DocsDescription,
|
||||
DocsPage,
|
||||
DocsTitle,
|
||||
} from "fumadocs-ui/page";
|
||||
import { notFound, permanentRedirect } from "next/navigation";
|
||||
DocsBody,
|
||||
DocsDescription,
|
||||
DocsPage,
|
||||
DocsTitle,
|
||||
} from "fumadocs-ui/layouts/docs/page";
|
||||
import { createRelativeLink } from "fumadocs-ui/mdx";
|
||||
import type { Metadata } from "next";
|
||||
import { notFound } from "next/navigation";
|
||||
|
||||
export default async function Page(props: {
|
||||
params: Promise<{ slug?: string[] }>;
|
||||
}) {
|
||||
const params = await props.params;
|
||||
const page = source.getPage(params.slug);
|
||||
if (!page) {
|
||||
permanentRedirect("/docs/core");
|
||||
}
|
||||
export default async function Page(props: PageProps<"/docs/[[...slug]]">) {
|
||||
const params = await props.params;
|
||||
const page = source.getPage(params.slug);
|
||||
if (!page) notFound();
|
||||
|
||||
const MDX = page.data.body;
|
||||
const MDX = page.data.body;
|
||||
|
||||
return (
|
||||
<DocsPage toc={page.data.toc} full={page.data.full}>
|
||||
<DocsTitle>{page.data.title}</DocsTitle>
|
||||
<DocsDescription>{page.data.description}</DocsDescription>
|
||||
<DocsBody>
|
||||
<MDX
|
||||
components={{
|
||||
...defaultMdxComponents,
|
||||
ImageZoom: (props) => <ImageZoom {...(props as any)} />,
|
||||
p: ({ children }) => (
|
||||
<p className="text-[#3E4342] dark:text-muted-foreground">
|
||||
{children}
|
||||
</p>
|
||||
),
|
||||
li: ({ children, id }) => (
|
||||
<li
|
||||
{...{ id }}
|
||||
className="text-[#3E4342] dark:text-muted-foreground"
|
||||
>
|
||||
{children}
|
||||
</li>
|
||||
),
|
||||
APIPage: openapi.APIPage,
|
||||
}}
|
||||
/>
|
||||
</DocsBody>
|
||||
</DocsPage>
|
||||
);
|
||||
return (
|
||||
<DocsPage toc={page.data.toc} full={page.data.full}>
|
||||
<DocsTitle>{page.data.title}</DocsTitle>
|
||||
<DocsDescription>{page.data.description}</DocsDescription>
|
||||
<DocsBody>
|
||||
<MDX
|
||||
components={getMDXComponents({
|
||||
// this allows you to link to other pages with relative file paths
|
||||
a: createRelativeLink(source, page),
|
||||
})}
|
||||
/>
|
||||
</DocsBody>
|
||||
</DocsPage>
|
||||
);
|
||||
}
|
||||
|
||||
export async function generateStaticParams() {
|
||||
return source.generateParams();
|
||||
return source.generateParams();
|
||||
}
|
||||
|
||||
export async function generateMetadata(props: {
|
||||
params: Promise<{ slug?: string[] }>;
|
||||
}) {
|
||||
const params = await props.params;
|
||||
const page = source.getPage(params.slug);
|
||||
if (!page) notFound();
|
||||
export async function generateMetadata(
|
||||
props: PageProps<"/docs/[[...slug]]">,
|
||||
): Promise<Metadata> {
|
||||
const params = await props.params;
|
||||
const page = source.getPage(params.slug);
|
||||
if (!page) notFound();
|
||||
|
||||
return {
|
||||
title: page.data.title,
|
||||
|
||||
description: page.data.description,
|
||||
robots: "index,follow",
|
||||
alternates: {
|
||||
canonical: new URL(`${baseUrl}${page.url}`).toString(),
|
||||
languages: {
|
||||
en: `${baseUrl}/${page.url}`,
|
||||
},
|
||||
},
|
||||
openGraph: {
|
||||
title: page.data.title,
|
||||
description: page.data.description,
|
||||
url: new URL(`${baseUrl}`).toString(),
|
||||
images: [
|
||||
{
|
||||
url: new URL(`${baseUrl}/logo.png`).toString(),
|
||||
width: 1200,
|
||||
height: 630,
|
||||
alt: page.data.title,
|
||||
},
|
||||
],
|
||||
},
|
||||
twitter: {
|
||||
card: "summary_large_image",
|
||||
creator: "@getdokploy",
|
||||
title: page.data.title,
|
||||
description: page.data.description,
|
||||
images: [
|
||||
{
|
||||
url: new URL(`${baseUrl}/logo.png`).toString(),
|
||||
width: 1200,
|
||||
height: 630,
|
||||
alt: page.data.title,
|
||||
},
|
||||
],
|
||||
},
|
||||
applicationName: "Dokploy Docs",
|
||||
keywords: [
|
||||
"dokploy",
|
||||
"vps",
|
||||
"open source",
|
||||
"cloud",
|
||||
"self hosting",
|
||||
"free",
|
||||
],
|
||||
icons: {
|
||||
icon: "/icon.svg",
|
||||
},
|
||||
};
|
||||
return {
|
||||
title: page.data.title,
|
||||
description: page.data.description,
|
||||
openGraph: {
|
||||
images: getPageImage(page).url,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,22 +1,11 @@
|
||||
import { baseOptions } from "@/app/layout.config";
|
||||
import { baseOptions } from "@/lib/layout.shared";
|
||||
import { source } from "@/lib/source";
|
||||
import { baseUrl, createMetadata } from "@/utils/metadata";
|
||||
import { DocsLayout } from "fumadocs-ui/layouts/docs";
|
||||
import type { ReactNode } from "react";
|
||||
|
||||
export const metadata = createMetadata({
|
||||
title: {
|
||||
template: "%s | Dokploy",
|
||||
default: "Dokploy",
|
||||
},
|
||||
description: "The Open Source Alternative to Vercel, Heroku, and Netlify",
|
||||
metadataBase: new URL(baseUrl),
|
||||
});
|
||||
|
||||
export default function Layout({ children }: { children: ReactNode }) {
|
||||
return (
|
||||
<DocsLayout tree={source.pageTree} {...baseOptions}>
|
||||
{children}
|
||||
</DocsLayout>
|
||||
);
|
||||
export default function Layout({ children }: LayoutProps<"/docs">) {
|
||||
return (
|
||||
<DocsLayout tree={source.pageTree} {...baseOptions()}>
|
||||
{children}
|
||||
</DocsLayout>
|
||||
);
|
||||
}
|
||||
|
||||
BIN
apps/docs/app/favicon-16x16.png
Normal file
BIN
apps/docs/app/favicon-16x16.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 730 B |
BIN
apps/docs/app/favicon-32x32.png
Normal file
BIN
apps/docs/app/favicon-32x32.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
BIN
apps/docs/app/favicon.ico
Normal file
BIN
apps/docs/app/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
@@ -1,18 +1,123 @@
|
||||
@tailwind base;
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
||||
@import 'tailwindcss';
|
||||
@import 'fumadocs-ui/css/solar.css';
|
||||
@import 'fumadocs-ui/css/preset.css';
|
||||
@import 'fumadocs-openapi/css/preset.css';
|
||||
@import "tw-animate-css";
|
||||
|
||||
@custom-variant dark (&:is(.dark *));
|
||||
|
||||
@theme inline {
|
||||
--radius-sm: calc(var(--radius) - 4px);
|
||||
--radius-md: calc(var(--radius) - 2px);
|
||||
--radius-lg: var(--radius);
|
||||
--radius-xl: calc(var(--radius) + 4px);
|
||||
--color-background: var(--background);
|
||||
--color-foreground: var(--foreground);
|
||||
--color-card: var(--card);
|
||||
--color-card-foreground: var(--card-foreground);
|
||||
--color-popover: var(--popover);
|
||||
--color-popover-foreground: var(--popover-foreground);
|
||||
--color-primary: var(--primary);
|
||||
--color-primary-foreground: var(--primary-foreground);
|
||||
--color-secondary: var(--secondary);
|
||||
--color-secondary-foreground: var(--secondary-foreground);
|
||||
--color-muted: var(--muted);
|
||||
--color-muted-foreground: var(--muted-foreground);
|
||||
--color-accent: var(--accent);
|
||||
--color-accent-foreground: var(--accent-foreground);
|
||||
--color-destructive: var(--destructive);
|
||||
--color-border: var(--border);
|
||||
--color-input: var(--input);
|
||||
--color-ring: var(--ring);
|
||||
--color-chart-1: var(--chart-1);
|
||||
--color-chart-2: var(--chart-2);
|
||||
--color-chart-3: var(--chart-3);
|
||||
--color-chart-4: var(--chart-4);
|
||||
--color-chart-5: var(--chart-5);
|
||||
--color-sidebar: var(--sidebar);
|
||||
--color-sidebar-foreground: var(--sidebar-foreground);
|
||||
--color-sidebar-primary: var(--sidebar-primary);
|
||||
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
||||
--color-sidebar-accent: var(--sidebar-accent);
|
||||
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
||||
--color-sidebar-border: var(--sidebar-border);
|
||||
--color-sidebar-ring: var(--sidebar-ring);
|
||||
}
|
||||
|
||||
:root {
|
||||
--radius: 0.625rem;
|
||||
--background: oklch(1 0 0);
|
||||
--foreground: oklch(0.145 0 0);
|
||||
--card: oklch(1 0 0);
|
||||
--card-foreground: oklch(0.145 0 0);
|
||||
--popover: oklch(1 0 0);
|
||||
--popover-foreground: oklch(0.145 0 0);
|
||||
--primary: oklch(0.205 0 0);
|
||||
--primary-foreground: oklch(0.985 0 0);
|
||||
--secondary: oklch(0.97 0 0);
|
||||
--secondary-foreground: oklch(0.205 0 0);
|
||||
--muted: oklch(0.97 0 0);
|
||||
--muted-foreground: oklch(0.556 0 0);
|
||||
--accent: oklch(0.97 0 0);
|
||||
--accent-foreground: oklch(0.205 0 0);
|
||||
--destructive: oklch(0.577 0.245 27.325);
|
||||
--border: oklch(0.922 0 0);
|
||||
--input: oklch(0.922 0 0);
|
||||
--ring: oklch(0.708 0 0);
|
||||
--chart-1: oklch(0.646 0.222 41.116);
|
||||
--chart-2: oklch(0.6 0.118 184.704);
|
||||
--chart-3: oklch(0.398 0.07 227.392);
|
||||
--chart-4: oklch(0.828 0.189 84.429);
|
||||
--chart-5: oklch(0.769 0.188 70.08);
|
||||
--sidebar: oklch(0.985 0 0);
|
||||
--sidebar-foreground: oklch(0.145 0 0);
|
||||
--sidebar-primary: oklch(0.205 0 0);
|
||||
--sidebar-primary-foreground: oklch(0.985 0 0);
|
||||
--sidebar-accent: oklch(0.97 0 0);
|
||||
--sidebar-accent-foreground: oklch(0.205 0 0);
|
||||
--sidebar-border: oklch(0.922 0 0);
|
||||
--sidebar-ring: oklch(0.708 0 0);
|
||||
}
|
||||
|
||||
:root {
|
||||
--fd-background: 0 0% 0%;
|
||||
--background: 0 0% 100%;
|
||||
--card: 0 0% 97.6%;
|
||||
.dark {
|
||||
--background: oklch(0.145 0 0);
|
||||
--foreground: oklch(0.985 0 0);
|
||||
--card: oklch(0.205 0 0);
|
||||
--card-foreground: oklch(0.985 0 0);
|
||||
--popover: oklch(0.205 0 0);
|
||||
--popover-foreground: oklch(0.985 0 0);
|
||||
--primary: oklch(0.922 0 0);
|
||||
--primary-foreground: oklch(0.205 0 0);
|
||||
--secondary: oklch(0.269 0 0);
|
||||
--secondary-foreground: oklch(0.985 0 0);
|
||||
--muted: oklch(0.269 0 0);
|
||||
--muted-foreground: oklch(0.708 0 0);
|
||||
--accent: oklch(0.269 0 0);
|
||||
--accent-foreground: oklch(0.985 0 0);
|
||||
--destructive: oklch(0.704 0.191 22.216);
|
||||
--border: oklch(1 0 0 / 10%);
|
||||
--input: oklch(1 0 0 / 15%);
|
||||
--ring: oklch(0.556 0 0);
|
||||
--chart-1: oklch(0.488 0.243 264.376);
|
||||
--chart-2: oklch(0.696 0.17 162.48);
|
||||
--chart-3: oklch(0.769 0.188 70.08);
|
||||
--chart-4: oklch(0.627 0.265 303.9);
|
||||
--chart-5: oklch(0.645 0.246 16.439);
|
||||
--sidebar: oklch(0.205 0 0);
|
||||
--sidebar-foreground: oklch(0.985 0 0);
|
||||
--sidebar-primary: oklch(0.488 0.243 264.376);
|
||||
--sidebar-primary-foreground: oklch(0.985 0 0);
|
||||
--sidebar-accent: oklch(0.269 0 0);
|
||||
--sidebar-accent-foreground: oklch(0.985 0 0);
|
||||
--sidebar-border: oklch(1 0 0 / 10%);
|
||||
--sidebar-ring: oklch(0.556 0 0);
|
||||
}
|
||||
|
||||
@layer base {
|
||||
* {
|
||||
@apply border-border outline-ring/50;
|
||||
}
|
||||
|
||||
.dark{
|
||||
--fd-background: 0 0% 100%;
|
||||
--background: 0 0% 0%;
|
||||
--card: 0 0% 6.0%;
|
||||
body {
|
||||
@apply bg-background text-foreground;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,122 +0,0 @@
|
||||
import type { BaseLayoutProps } from "fumadocs-ui/layouts/shared";
|
||||
import {
|
||||
Github,
|
||||
GlobeIcon,
|
||||
HeartIcon,
|
||||
Rss,
|
||||
LogIn,
|
||||
UserPlus,
|
||||
} from "lucide-react";
|
||||
import Link from "next/link";
|
||||
/**
|
||||
* Shared layout configurations
|
||||
*
|
||||
* you can configure layouts individually from:
|
||||
* Home Layout: app/(home)/layout.tsx
|
||||
* Docs Layout: app/docs/layout.tsx
|
||||
*/
|
||||
|
||||
export const Logo = () => {
|
||||
return (
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 559 446"
|
||||
className="!size-8 lg:!size-10"
|
||||
>
|
||||
<path
|
||||
className="fill-primary stroke-primary"
|
||||
d="M390 56v12c.1 2.3.5 4 1 6a73 73 0 0 0 12 24c2 2.3 5.7 4 7 7 4 3.4 9.6 6.8 14 9 1.7.6 5.7 1.1 7 2 1.9 1.3 2.9 2.3 0 4v1c-.6 1.8-1.9 3.5-3 5q-3 4-7 7c-4.3 3.2-9.5 6.8-15 7h-1q-2 1.6-5 2h-4c-5.2.7-12.9 2.2-18 0h-6c-1.6 0-3-.8-4-1h-3a17 17 0 0 1-6-2h-1c-2.5-.1-4-1.2-6-2l-4-1c-8.4-2-20.3-6.6-27-12h-1c-4.6-1-9.5-4.3-13.7-6.3s-10.5-3-13.3-6.7h-1c-4-1-8.9-3.5-12-6h-1c-6.8-1.6-13.6-6-20-9-6.5-2.8-14.6-5.7-20-10h-1c-7-1.2-15.4-4-22-6h-97c-5.3 4.3-13.7 4.3-18.7 10.3S90.8 101 88 108c-.4 1.5-.8 2.3-1 4-.2 1.6-.8 4-1 5v51c.2 1.2.8 3.2 1 5 .2 2 .5 3.2 1 5a79 79 0 0 0 6 12c.8.7 1.4 2.2 2 3 1.8 2 4.9 3.4 6 6 9.5 8.3 23.5 10.3 33 18h1c5.1 1.2 12 4.8 16 8h1c4 1 8.9 3.5 12 6h1q4.6 1.2 8 4h1c2 .1 2.6 1.3 4 2 1.6.8 2.7.7 4 2h1q2.5.3 4 2h1c3 .7 6.7 2 9 4h1c4.7.8 13.4 3.1 17 6h1c2.5.1 4 1.3 6 2 1.8.4 3 .8 5 1q3 .4 5 1c1.6-.2 2 0 3 1h1q2.5-.5 4 1h1q2.5-.5 4 1h1c2.2-.2 4.5-.3 6 1h1q4-.4 7 1h45c1.2-.2 3.1-1 5-1h6c1.5-.6 2.9-1.3 5-1h1q1.5-1.4 4-1h1q1.5-1.4 4-1h1c2.4-1.3 5-1.6 8-2l5-1c2-.7 3.6-1.6 6-2 4-.7 7.2-1.7 11-3 2.3-1 4.2-2.5 7-3h1q1.5-1.7 4-2h1c1.9-1.5 3.9-2 6-3q2.9-1.6 6-3a95 95 0 0 0 11-5c4.4-2.8 8.9-6 14-8 0 0 .6.2 1 0 1.8-2.8 7-4.8 10-6 0 0 .6.2 1 0 1.5-2.4 5.3-4 8-5 0 0 .6.2 1 0 1.5-2.4 5.3-4 8-5 0 0 .6.2 1 0 1.3-2 3.8-3.1 6-4 0 0 .6.2 1 0 2-3 7.7-5.6 11-7l5-2c6.3-3.8 11.8-9.6 18-14v-1c0-1.9-.4-4.2 0-6-1-4.5-3.9-5.5-7-8h-1c-1.2 0-2.8-.2-4 0-8.9 1.7-16.5 11.3-25.2 14.8-8.8 3.4-16.9 10.7-25.8 14.2h-1c-10.9 10.6-29.2 16-42.7 23.3S343.7 234.6 328 235h-1q-1.5 1.4-4 1h-1q-1.5 1.4-4 1h-1c-1.5 1.3-3.9 1.2-6 1h-1c-1.7 1.3-4.6 1.2-7 1-1 .2-2.4 1-4 1h-5c-6.6 0-13.4.4-20 0-1.9-.1-2.7.3-4-1h-8c-2.8-.2-5.7-1.3-8-2h-2q-5.7.4-10-2h-1q-4.5 0-8-2h-1a10 10 0 0 1-6-2h-1c-5.9-.2-12-3.8-17-6l-4-1c-1.7-.5-2.8-.7-4-2h-1q-2.5-.2-4-2h-1q-3.4-.9-6-3h-1c-3.5-.8-7.3-2.9-10-5h-1c-1.7 0-2.2-.7-3-2h-1c-11.6-2.7-23.2-11.5-34.2-15.8-11-4.2-25.9-9.2-29.8-21.2h4c16.2 0 32.8-1 49 0 1.7.1 3 .8 4 1 2.1.4 3.4-.5 5 1h1c3.6.1 8.4 1.8 11 4h1a45 45 0 0 1 18 8h1q4.6 1.2 8 4h1c4.2 1 8.3 3.4 12 5q3.4 1.2 7 2c5.7 1.3 13 2.3 18 5h1c3.7-.2 7 1.1 10 2h9c1.6 0 3 .8 4 1h32c2.2-1.6 6-1 9-1h1a63 63 0 0 1 22-4 22 22 0 0 1 8-2c1.7-1.4 3.7-1.6 6-2a81 81 0 0 0 12-3c2.3-1 4.2-2.5 7-3h1q1.5-1.7 4-2h1c1.9-1.5 3.6-2.2 6-3l3-1c4.1-2.3 8.4-5.2 13-7 0 0 .6.2 1 0 1.5-2.4 6.3-5 9-6 0 0 .6.2 1 0 5.3-8.1 17.6-12.5 24.8-20.2C439.9 144 445 133 452 126v-1a12 12 0 0 1 2-5c2.1-2.2 8.9-1 12-1q2 .2 4 0c1-.2 2.3-1.2 4-1h1q2.1-1.5 5-2h1q2.1-1.9 5-3s.6.2 1 0c9-9.3 18-15.4 23-28 1.1-2.8 3.5-6.4 4-9 .2-1 .2-3 0-4-1.5-6-12.3-2.4-15.7 2.3S484.7 80 479 80h-7c-7.8 4.3-19.3 5.7-23 16a37 37 0 0 0-22-24c-1.5-.5-2.5-.7-4-1-2.1-.5-3.6-.2-5-2h-1a22 22 0 0 1-12-8c-2-2.9-3.4-6.5-6-9h-1c-3.9-.6-6.1 1-8 4m-181 45h1c2.2-.2 4.5-.3 6 1h1q2.5-.5 4 1h1a33 33 0 0 1 17 7h1c4.4 1 8.2 4.1 12 6 2.1 1 4.1 1.5 6 3h1c4 1 8.9 3.5 12 6h1c4 1 8.9 3.5 12 6h1c4 1 8.9 3.5 12 6h1a61 61 0 0 1 21 10h1c3.5.8 7.3 2.9 10 5h1c6.1 1.4 12.3 5 18 7 1.8.4 3 .8 5 1 1.8.2 3.7.8 5 1q2.5-.5 4 1h6c2.5 0 4 .3 6 1h3q-.7 2.1-3 2a46 46 0 0 1-16 7l-10 3c-2 .8-3.4 1.9-6 2h-1c-2.6 2.1-7.5 3-11 3h-1c-3.1 2.5-10.7 3.5-15 3h-1c-1.5 1.3-3.9 1.2-6 1-1 .2-2.4 1-4 1h-11c-3.8.4-8.3.4-12 0h-9c-2.3 0-4.3-.7-6-1h-3c-1.8 0-2.9-.7-4-1-3.5-.8-7-.7-10-2h-1c-4.1-.7-9.8-1.4-13-4h-1q-4-.6-7-3h-1q-2.5-.2-4-2h-1q-3.4-.9-6-3h-1c-7.2-1.7-13.3-5.9-20.2-8.8-7-2.8-16.2-4.3-22.8-7.2h-11c-14 0-28.9.3-42-1-2.3 0-4.8.3-7 0a6 6 0 0 1-5-5c-1.8-4.8-.4-10.4 0-15 0-4.3-.4-8.7 0-13 .2-3.2 2.2-7.3 4-10q2-3 5-5c2.1-2 5.4-2.3 8-3 15.6-3.9 36.3-1 53-1 5.2 0 12-.5 17 0s12.2-1.8 16 1Z"
|
||||
/>
|
||||
|
||||
<path
|
||||
className="fill-primary stroke-primary"
|
||||
d="M162 132v1c1.8 2.9 4.5 5.3 8 6 .3-.2 3.7-.2 4 0 7-1.4 9.2-8.8 7-15v-1a14 14 0 0 0-7-4c-.3.2-3.7.2-4 0-6.5 1.3-8.6 6.8-8 13Z"
|
||||
/>
|
||||
|
||||
<path
|
||||
className="fill-primary stroke-primary"
|
||||
d="M465 211h-1c-18.2 14.6-41.2 24.6-60 39-19 14.2-42.7 29.3-66 34l-4 1c-2.4 1-4 2-7 2h-1q-3.5 2-8 2h-1c-1.3 1.2-3 1.1-5 1h-2q-2.6 1.1-6 1h-2c-3 1.2-6.5 1-10 1-6.3.6-13.8.6-20 0-3.4 0-8.4.9-11-1h-1c-2.2.2-4.5.3-6-1h-1c-2 .2-3.7.2-5-1h-1c-7.6.5-16.5-3.4-23-6l-4-1a129 129 0 0 1-36.2-15.8c-10.4-6.6-23.2-12.8-32.5-20.5-9.2-7.7-23.8-12.8-30.3-22.7h-1c-2.3-1.4-4.5-2.7-6-5h-1c-4-2.5-8.5-5.2-12-8h-9a9 9 0 0 0-6 7c.3 3.3 0 6.7 0 10v9c.2 1.6 1 3.8 1 6v3c.2 1 1.2 2.2 1 4v1c1.2 1.2.8 2.2 1 4 .8 6.7 3 12.6 5 19 1.7 4.3 4.2 9.1 5 14v1q1.8 1.5 2 4v1a36 36 0 0 1 5 10c.7 2 1 3 2 5 8 12.7 15.7 25.5 25.8 37.3 10 11.7 20.8 20.6 32.4 30.4 11.7 9.9 28.3 14 39.8 23.3h1q2.5.3 4 2h1c2.8.4 4.8 2 7 3l7 2c5.7 1.3 13 2.3 18 5h1c2.1-.3 3.6.8 5 1h3c2.8.2 5.8 1 8 2h8c2.1 0 4.6.8 6 1h21c1.2-.2 3.2-1 5-1h9c3.3-1 7-2.4 11-2h1c2.7-2.2 7.4-2.4 11-3a55 55 0 0 0 8-2c6.5-2.6 13.9-6.3 21-8h1c8.5-6.8 20.6-9.7 29.2-16.8 8.7-7 18.3-12.8 26.8-20.2 4.4-3.8 9-9 13-13 14.8-14.8 20.7-34.6 33-50v-1q.9-3.4 3-6v-1q.3-2.5 2-4v-1c.5-3.3 2-8.6 4-11v-1q0-3.5 2-6v-1c1.1-6.7 2.4-15 5-21v-1c-.2-2-.2-3.7 1-5v-8c0-5.3-.5-10.8 0-16a14 14 0 0 0-4-6c-1-.5-1.1-.4-2-1h-6q-2.1 1.5-5 2m-6 38c-2.1 13.4-21.2 20.3-31 30-10 9.5-23.7 19-35 27-11.5 8-25.1 19.7-39 23h-1a22 22 0 0 1-10 4h-1a25 25 0 0 1-12 4h-1q-3.5 2-8 2h-1c-1.1 1.1-2.3 1-4 1h-2c-1.2.4-2.2 1-4 1h-2c-1.8.7-3.6 1.3-6 1h-1c-1.2 1.2-2.3 1-4 1h-5c-5.7.6-12.3.8-18 0h-4c-1.9 0-2.7-.6-4-1h-6c-1.9 0-2.7.3-4-1h-1q-2.5.5-4-1h-1c-8.1.5-16.8-3.6-24.2-5.8S210 329.8 204 325h-1c-12.8-5-27.1-15.6-37.7-24.3S138.8 284.2 131 273c-.3-.2-1 0-1 0-5.7-4.4-16.6-10-19-17-.9-2.6-1-5.4-2-8-.8-2.2-2.5-5-2-8a667 667 0 0 0 88 56h1q3.4.9 6 3h1c2.8.4 4.8 2 7 3q5 1.8 10 3l6 2q2.9.6 6 1 3 .4 5 1c1.6-.2 2 0 3 1h1c2-.2 3.7-.2 5 1h1c2.2-.3 3.4.4 5 1h8c1.6 0 3 .9 4 1h40c1.8-1.3 4.6-1.2 7-1h1c1.2-1.2 3.2-1.2 5-1h1c1.2-1.2 3.2-1.2 5-1h1c1.1-1.1 2.3-1 4-1h2c3.5-1.7 6.9-2.3 11-3l4-1c3.4-1.4 7.1-3 11-4 1.5-.4 2.5-.5 4-1 1.4-.7 2-1.9 4-2h1q2.6-2.1 6-3h1c2.5-2 6-3.8 9-5l3-1c1.4-.9 2-2.5 4-3h1q1.4-2.2 4-3h1c7.3-7.7 19-13.2 27.7-19.3 8.8-6.1 18.2-15 28.3-18.7.4-.2 1 0 1 0q3.8-3.9 9-6c1.3 2.5-.5 6.7-1 10m-20 55c-.2.4 0 1 0 1-3.4 9.6-12.7 19-19 27a88 88 0 0 1-12 12 214 214 0 0 1-26.7 20.3c-9.5 5.8-20 14.8-31.3 16.7h-1a22 22 0 0 1-10 4h-1c-3.2 2.6-8.9 3.3-13 4h-1q-1.5 1.4-4 1h-1q-1.5 1.4-4 1h-1c-4.9 2.3-10.5 1-16 2-1 .2-2.5 1-4 1-6.2.4-12.8.3-19 0-1.8 0-3.8-.8-5-1h-4c-1.6 0-3-.9-4-1h-4c-3.9-.3-8.8-1.3-12-3h-1c-3.3-.5-7.5-1-10-3h-1c-3.6-.1-8.4-1.8-11-4h-1c-3.9-.6-8-2.6-11-5h-1c-16.1-3.8-32.2-18.9-45-29a200 200 0 0 1-40-51c17.7 11.5 35 25.5 52 38h1c4 1.6 12.8 5.4 15 9h1c4.6 1 10.4 4.1 14 7h1q2.5.3 4 2h1c3.3.5 8.6 2 11 4h1q3.5 0 6 2h1q2.5-.5 4 1h1q2.5-.5 4 1h1c3.8-.2 7.9 1 11 2h9c1.6 0 3 .8 4 1h32c1.2-.2 3.2-1 5-1h8a139 139 0 0 1 20-4l5-1c2-.7 3.7-1.5 6-2l4-1c1.5-.6 3-1.7 5-2h1q3-2.4 7-3h1q2.6-2.1 6-3h1c11.7-9.4 27.6-14.6 39-25 11.6-10.3 25-18.5 37-28a15 15 0 0 1-5 10Z"
|
||||
/>
|
||||
</svg>
|
||||
);
|
||||
};
|
||||
|
||||
export const baseOptions: BaseLayoutProps = {
|
||||
nav: {
|
||||
// title: "Dokploy",
|
||||
children: (
|
||||
<Link href="/docs/core" className="flex items-center gap-2">
|
||||
<Logo />
|
||||
<span className="text-foreground font-semibold">Dokploy</span>
|
||||
</Link>
|
||||
),
|
||||
},
|
||||
links: [
|
||||
{
|
||||
text: "Login",
|
||||
url: "https://app.dokploy.com/",
|
||||
active: "nested-url",
|
||||
icon: <LogIn />,
|
||||
},
|
||||
{
|
||||
text: "Sign Up",
|
||||
url: "https://app.dokploy.com/register",
|
||||
active: "nested-url",
|
||||
icon: <UserPlus />,
|
||||
},
|
||||
{
|
||||
text: "Website",
|
||||
url: "https://dokploy.com",
|
||||
active: "nested-url",
|
||||
icon: <GlobeIcon />,
|
||||
},
|
||||
{
|
||||
text: "Discord",
|
||||
url: "https://discord.com/invite/2tBnJ3jDJc",
|
||||
active: "nested-url",
|
||||
icon: (
|
||||
<>
|
||||
<svg
|
||||
role="img"
|
||||
className="size-6 "
|
||||
fill="currentColor"
|
||||
viewBox="0 0 24 24"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path d="M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z" />
|
||||
</svg>
|
||||
</>
|
||||
),
|
||||
},
|
||||
{
|
||||
text: "Support",
|
||||
url: "https://opencollective.com/dokploy",
|
||||
active: "nested-url",
|
||||
icon: (
|
||||
<>
|
||||
<HeartIcon fill="currentColor" />
|
||||
</>
|
||||
),
|
||||
},
|
||||
{
|
||||
text: "Github",
|
||||
url: "https://github.com/dokploy/dokploy",
|
||||
active: "nested-url",
|
||||
icon: (
|
||||
<>
|
||||
<Github fill="currentColor" />
|
||||
</>
|
||||
),
|
||||
},
|
||||
{
|
||||
text: "Blog",
|
||||
url: "https://dokploy.com/blog",
|
||||
active: "nested-url",
|
||||
icon: (
|
||||
<>
|
||||
<Rss />
|
||||
</>
|
||||
),
|
||||
},
|
||||
],
|
||||
};
|
||||
@@ -1,24 +1,50 @@
|
||||
import { RootProvider } from "fumadocs-ui/provider/next";
|
||||
import "./global.css";
|
||||
import { RootProvider } from "fumadocs-ui/provider";
|
||||
import { Inter } from "next/font/google";
|
||||
import type { ReactNode } from "react";
|
||||
import SearchDialog from "@/components/SearchDialog";
|
||||
import { GoogleAnalytics } from "@next/third-parties/google";
|
||||
import type { Metadata } from "next";
|
||||
import { Inter } from "next/font/google";
|
||||
|
||||
const inter = Inter({
|
||||
subsets: ["latin"],
|
||||
subsets: ["latin"],
|
||||
});
|
||||
|
||||
export default async function Layout({
|
||||
children,
|
||||
...rest
|
||||
}: {
|
||||
children: ReactNode;
|
||||
}) {
|
||||
return (
|
||||
<html lang="en" className={inter.className} suppressHydrationWarning>
|
||||
<body className="flex flex-col min-h-screen">
|
||||
<GoogleAnalytics gaId="G-HZ71HG38HN" />
|
||||
<RootProvider>{children}</RootProvider>
|
||||
</body>
|
||||
</html>
|
||||
);
|
||||
export const metadata: Metadata = {
|
||||
title: {
|
||||
default: "Dokploy Documentation",
|
||||
template: "%s | Dokploy",
|
||||
},
|
||||
description:
|
||||
"Open Source Alternative to Vercel, Netlify and Heroku. Deploy your applications with ease.",
|
||||
keywords: [
|
||||
"dokploy",
|
||||
"deployment",
|
||||
"docker",
|
||||
"hosting",
|
||||
"devops",
|
||||
"open source",
|
||||
],
|
||||
authors: [{ name: "Dokploy Team" }],
|
||||
openGraph: {
|
||||
title: "Dokploy Documentation",
|
||||
description: "Open Source Alternative to Vercel, Netlify and Heroku",
|
||||
type: "website",
|
||||
},
|
||||
};
|
||||
|
||||
export default function Layout({ children }: LayoutProps<"/">) {
|
||||
return (
|
||||
<html lang="en" className={inter.className} suppressHydrationWarning>
|
||||
<body className="flex flex-col min-h-screen">
|
||||
<GoogleAnalytics gaId="G-HZ71HG38HN" />
|
||||
<RootProvider
|
||||
search={{
|
||||
SearchDialog,
|
||||
}}
|
||||
>
|
||||
{children}
|
||||
</RootProvider>
|
||||
</body>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
|
||||
10
apps/docs/app/llms-full.txt/route.ts
Normal file
10
apps/docs/app/llms-full.txt/route.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import { getLLMText, source } from "@/lib/source";
|
||||
|
||||
export const revalidate = false;
|
||||
|
||||
export async function GET() {
|
||||
const scan = source.getPages().map(getLLMText);
|
||||
const scanned = await Promise.all(scan);
|
||||
|
||||
return new Response(scanned.join("\n\n"));
|
||||
}
|
||||
34
apps/docs/app/og/docs/[...slug]/route.tsx
Normal file
34
apps/docs/app/og/docs/[...slug]/route.tsx
Normal file
@@ -0,0 +1,34 @@
|
||||
import { getPageImage, source } from "@/lib/source";
|
||||
import { generate as DefaultImage } from "fumadocs-ui/og";
|
||||
import { notFound } from "next/navigation";
|
||||
import { ImageResponse } from "next/og";
|
||||
|
||||
export const revalidate = false;
|
||||
|
||||
export async function GET(
|
||||
_req: Request,
|
||||
{ params }: RouteContext<"/og/docs/[...slug]">,
|
||||
) {
|
||||
const { slug } = await params;
|
||||
const page = source.getPage(slug.slice(0, -1));
|
||||
if (!page) notFound();
|
||||
|
||||
return new ImageResponse(
|
||||
<DefaultImage
|
||||
title={page.data.title}
|
||||
description={page.data.description}
|
||||
site="My App"
|
||||
/>,
|
||||
{
|
||||
width: 1200,
|
||||
height: 630,
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
export function generateStaticParams() {
|
||||
return source.getPages().map((page) => ({
|
||||
lang: page.locale,
|
||||
slug: getPageImage(page).segments,
|
||||
}));
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
import type { MetadataRoute } from "next";
|
||||
|
||||
export default function robots(): MetadataRoute.Robots {
|
||||
return {
|
||||
rules: {
|
||||
userAgent: "*",
|
||||
allow: "/",
|
||||
},
|
||||
sitemap: "https://docs.dokploy.com/sitemap.xml",
|
||||
};
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
import { source } from "@/lib/source";
|
||||
import { url } from "@/utils/metadata";
|
||||
import type { MetadataRoute } from "next";
|
||||
|
||||
export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
|
||||
return [
|
||||
...(await Promise.all(
|
||||
source.getPages().map(async (page) => {
|
||||
const { lastModified } = page.data;
|
||||
return {
|
||||
url: url(page.url),
|
||||
lastModified: lastModified ? new Date(lastModified) : undefined,
|
||||
changeFrequency: "weekly",
|
||||
priority: 0.5,
|
||||
} as MetadataRoute.Sitemap[number];
|
||||
}),
|
||||
)),
|
||||
];
|
||||
}
|
||||
22
apps/docs/components.json
Normal file
22
apps/docs/components.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"$schema": "https://ui.shadcn.com/schema.json",
|
||||
"style": "new-york",
|
||||
"rsc": true,
|
||||
"tsx": true,
|
||||
"tailwind": {
|
||||
"config": "",
|
||||
"css": "app/global.css",
|
||||
"baseColor": "neutral",
|
||||
"cssVariables": true,
|
||||
"prefix": ""
|
||||
},
|
||||
"iconLibrary": "lucide",
|
||||
"aliases": {
|
||||
"components": "@/components",
|
||||
"utils": "@/lib/utils",
|
||||
"ui": "@/components/ui",
|
||||
"lib": "@/lib",
|
||||
"hooks": "@/hooks"
|
||||
},
|
||||
"registries": {}
|
||||
}
|
||||
27
apps/docs/components/Logo.tsx
Normal file
27
apps/docs/components/Logo.tsx
Normal file
@@ -0,0 +1,27 @@
|
||||
import type { ComponentPropsWithoutRef } from "react";
|
||||
|
||||
export function Logo(props: ComponentPropsWithoutRef<"svg">) {
|
||||
return (
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 559 446"
|
||||
className="h-6 w-6"
|
||||
{...props}
|
||||
>
|
||||
<path
|
||||
className="fill-fd-foreground"
|
||||
d="M390 56v12c.1 2.3.5 4 1 6a73 73 0 0 0 12 24c2 2.3 5.7 4 7 7 4 3.4 9.6 6.8 14 9 1.7.6 5.7 1.1 7 2 1.9 1.3 2.9 2.3 0 4v1c-.6 1.8-1.9 3.5-3 5q-3 4-7 7c-4.3 3.2-9.5 6.8-15 7h-1q-2 1.6-5 2h-4c-5.2.7-12.9 2.2-18 0h-6c-1.6 0-3-.8-4-1h-3a17 17 0 0 1-6-2h-1c-2.5-.1-4-1.2-6-2l-4-1c-8.4-2-20.3-6.6-27-12h-1c-4.6-1-9.5-4.3-13.7-6.3s-10.5-3-13.3-6.7h-1c-4-1-8.9-3.5-12-6h-1c-6.8-1.6-13.6-6-20-9-6.5-2.8-14.6-5.7-20-10h-1c-7-1.2-15.4-4-22-6h-97c-5.3 4.3-13.7 4.3-18.7 10.3S90.8 101 88 108c-.4 1.5-.8 2.3-1 4-.2 1.6-.8 4-1 5v51c.2 1.2.8 3.2 1 5 .2 2 .5 3.2 1 5a79 79 0 0 0 6 12c.8.7 1.4 2.2 2 3 1.8 2 4.9 3.4 6 6 9.5 8.3 23.5 10.3 33 18h1c5.1 1.2 12 4.8 16 8h1c4 1 8.9 3.5 12 6h1q4.6 1.2 8 4h1c2 .1 2.6 1.3 4 2 1.6.8 2.7.7 4 2h1q2.5.3 4 2h1c3 .7 6.7 2 9 4h1c4.7.8 13.4 3.1 17 6h1c2.5.1 4 1.3 6 2 1.8.4 3 .8 5 1q3 .4 5 1c1.6-.2 2 0 3 1h1q2.5-.5 4 1h1q2.5-.5 4 1h1c2.2-.2 4.5-.3 6 1h1q4-.4 7 1h45c1.2-.2 3.1-1 5-1h6c1.5-.6 2.9-1.3 5-1h1q1.5-1.4 4-1h1q1.5-1.4 4-1h1c2.4-1.3 5-1.6 8-2l5-1c2-.7 3.6-1.6 6-2 4-.7 7.2-1.7 11-3 2.3-1 4.2-2.5 7-3h1q1.5-1.7 4-2h1c1.9-1.5 3.9-2 6-3q2.9-1.6 6-3a95 95 0 0 0 11-5c4.4-2.8 8.9-6 14-8 0 0 .6.2 1 0 1.8-2.8 7-4.8 10-6 0 0 .6.2 1 0 1.5-2.4 5.3-4 8-5 0 0 .6.2 1 0 1.5-2.4 5.3-4 8-5 0 0 .6.2 1 0 1.3-2 3.8-3.1 6-4 0 0 .6.2 1 0 2-3 7.7-5.6 11-7l5-2c6.3-3.8 11.8-9.6 18-14v-1c0-1.9-.4-4.2 0-6-1-4.5-3.9-5.5-7-8h-1c-1.2 0-2.8-.2-4 0-8.9 1.7-16.5 11.3-25.2 14.8-8.8 3.4-16.9 10.7-25.8 14.2h-1c-10.9 10.6-29.2 16-42.7 23.3S343.7 234.6 328 235h-1q-1.5 1.4-4 1h-1q-1.5 1.4-4 1h-1c-1.5 1.3-3.9 1.2-6 1h-1c-1.7 1.3-4.6 1.2-7 1-1 .2-2.4 1-4 1h-5c-6.6 0-13.4.4-20 0-1.9-.1-2.7.3-4-1h-8c-2.8-.2-5.7-1.3-8-2h-2q-5.7.4-10-2h-1q-4.5 0-8-2h-1a10 10 0 0 1-6-2h-1c-5.9-.2-12-3.8-17-6l-4-1c-1.7-.5-2.8-.7-4-2h-1q-2.5-.2-4-2h-1q-3.4-.9-6-3h-1c-3.5-.8-7.3-2.9-10-5h-1c-1.7 0-2.2-.7-3-2h-1c-11.6-2.7-23.2-11.5-34.2-15.8-11-4.2-25.9-9.2-29.8-21.2h4c16.2 0 32.8-1 49 0 1.7.1 3 .8 4 1 2.1.4 3.4-.5 5 1h1c3.6.1 8.4 1.8 11 4h1a45 45 0 0 1 18 8h1q4.6 1.2 8 4h1c4.2 1 8.3 3.4 12 5q3.4 1.2 7 2c5.7 1.3 13 2.3 18 5h1c3.7-.2 7 1.1 10 2h9c1.6 0 3 .8 4 1h32c2.2-1.6 6-1 9-1h1a63 63 0 0 1 22-4 22 22 0 0 1 8-2c1.7-1.4 3.7-1.6 6-2a81 81 0 0 0 12-3c2.3-1 4.2-2.5 7-3h1q1.5-1.7 4-2h1c1.9-1.5 3.6-2.2 6-3l3-1c4.1-2.3 8.4-5.2 13-7 0 0 .6.2 1 0 1.5-2.4 6.3-5 9-6 0 0 .6.2 1 0 5.3-8.1 17.6-12.5 24.8-20.2C439.9 144 445 133 452 126v-1a12 12 0 0 1 2-5c2.1-2.2 8.9-1 12-1q2 .2 4 0c1-.2 2.3-1.2 4-1h1q2.1-1.5 5-2h1q2.1-1.9 5-3s.6.2 1 0c9-9.3 18-15.4 23-28 1.1-2.8 3.5-6.4 4-9 .2-1 .2-3 0-4-1.5-6-12.3-2.4-15.7 2.3S484.7 80 479 80h-7c-7.8 4.3-19.3 5.7-23 16a37 37 0 0 0-22-24c-1.5-.5-2.5-.7-4-1-2.1-.5-3.6-.2-5-2h-1a22 22 0 0 1-12-8c-2-2.9-3.4-6.5-6-9h-1c-3.9-.6-6.1 1-8 4m-181 45h1c2.2-.2 4.5-.3 6 1h1q2.5-.5 4 1h1a33 33 0 0 1 17 7h1c4.4 1 8.2 4.1 12 6 2.1 1 4.1 1.5 6 3h1c4 1 8.9 3.5 12 6h1c4 1 8.9 3.5 12 6h1c4 1 8.9 3.5 12 6h1a61 61 0 0 1 21 10h1c3.5.8 7.3 2.9 10 5h1c6.1 1.4 12.3 5 18 7 1.8.4 3 .8 5 1 1.8.2 3.7.8 5 1q2.5-.5 4 1h6c2.5 0 4 .3 6 1h3q-.7 2.1-3 2a46 46 0 0 1-16 7l-10 3c-2 .8-3.4 1.9-6 2h-1c-2.6 2.1-7.5 3-11 3h-1c-3.1 2.5-10.7 3.5-15 3h-1c-1.5 1.3-3.9 1.2-6 1-1 .2-2.4 1-4 1h-11c-3.8.4-8.3.4-12 0h-9c-2.3 0-4.3-.7-6-1h-3c-1.8 0-2.9-.7-4-1-3.5-.8-7-.7-10-2h-1c-4.1-.7-9.8-1.4-13-4h-1q-4-.6-7-3h-1q-2.5-.2-4-2h-1q-3.4-.9-6-3h-1c-7.2-1.7-13.3-5.9-20.2-8.8-7-2.8-16.2-4.3-22.8-7.2h-11c-14 0-28.9.3-42-1-2.3 0-4.8.3-7 0a6 6 0 0 1-5-5c-1.8-4.8-.4-10.4 0-15 0-4.3-.4-8.7 0-13 .2-3.2 2.2-7.3 4-10q2-3 5-5c2.1-2 5.4-2.3 8-3 15.6-3.9 36.3-1 53-1 5.2 0 12-.5 17 0s12.2-1.8 16 1Z"
|
||||
/>
|
||||
|
||||
<path
|
||||
className="fill-fd-foreground"
|
||||
d="M162 132v1c1.8 2.9 4.5 5.3 8 6 .3-.2 3.7-.2 4 0 7-1.4 9.2-8.8 7-15v-1a14 14 0 0 0-7-4c-.3.2-3.7.2-4 0-6.5 1.3-8.6 6.8-8 13Z"
|
||||
/>
|
||||
|
||||
<path
|
||||
className="fill-fd-foreground"
|
||||
d="M465 211h-1c-18.2 14.6-41.2 24.6-60 39-19 14.2-42.7 29.3-66 34l-4 1c-2.4 1-4 2-7 2h-1q-3.5 2-8 2h-1c-1.3 1.2-3 1.1-5 1h-2q-2.6 1.1-6 1h-2c-3 1.2-6.5 1-10 1-6.3.6-13.8.6-20 0-3.4 0-8.4.9-11-1h-1c-2.2.2-4.5.3-6-1h-1c-2 .2-3.7.2-5-1h-1c-7.6.5-16.5-3.4-23-6l-4-1a129 129 0 0 1-36.2-15.8c-10.4-6.6-23.2-12.8-32.5-20.5-9.2-7.7-23.8-12.8-30.3-22.7h-1c-2.3-1.4-4.5-2.7-6-5h-1c-4-2.5-8.5-5.2-12-8h-9a9 9 0 0 0-6 7c.3 3.3 0 6.7 0 10v9c.2 1.6 1 3.8 1 6v3c.2 1 1.2 2.2 1 4v1c1.2 1.2.8 2.2 1 4 .8 6.7 3 12.6 5 19 1.7 4.3 4.2 9.1 5 14v1q1.8 1.5 2 4v1a36 36 0 0 1 5 10c.7 2 1 3 2 5 8 12.7 15.7 25.5 25.8 37.3 10 11.7 20.8 20.6 32.4 30.4 11.7 9.9 28.3 14 39.8 23.3h1q2.5.3 4 2h1c2.8.4 4.8 2 7 3l7 2c5.7 1.3 13 2.3 18 5h1c2.1-.3 3.6.8 5 1h3c2.8.2 5.8 1 8 2h8c2.1 0 4.6.8 6 1h21c1.2-.2 3.2-1 5-1h9c3.3-1 7-2.4 11-2h1c2.7-2.2 7.4-2.4 11-3a55 55 0 0 0 8-2c6.5-2.6 13.9-6.3 21-8h1c8.5-6.8 20.6-9.7 29.2-16.8 8.7-7 18.3-12.8 26.8-20.2 4.4-3.8 9-9 13-13 14.8-14.8 20.7-34.6 33-50v-1q.9-3.4 3-6v-1q.3-2.5 2-4v-1c.5-3.3 2-8.6 4-11v-1q0-3.5 2-6v-1c1.1-6.7 2.4-15 5-21v-1c-.2-2-.2-3.7 1-5v-8c0-5.3-.5-10.8 0-16a14 14 0 0 0-4-6c-1-.5-1.1-.4-2-1h-6q-2.1 1.5-5 2m-6 38c-2.1 13.4-21.2 20.3-31 30-10 9.5-23.7 19-35 27-11.5 8-25.1 19.7-39 23h-1a22 22 0 0 1-10 4h-1a25 25 0 0 1-12 4h-1q-3.5 2-8 2h-1c-1.1 1.1-2.3 1-4 1h-2c-1.2.4-2.2 1-4 1h-2c-1.8.7-3.6 1.3-6 1h-1c-1.2 1.2-2.3 1-4 1h-5c-5.7.6-12.3.8-18 0h-4c-1.9 0-2.7-.6-4-1h-6c-1.9 0-2.7.3-4-1h-1q-2.5.5-4-1h-1c-8.1.5-16.8-3.6-24.2-5.8S210 329.8 204 325h-1c-12.8-5-27.1-15.6-37.7-24.3S138.8 284.2 131 273c-.3-.2-1 0-1 0-5.7-4.4-16.6-10-19-17-.9-2.6-1-5.4-2-8-.8-2.2-2.5-5-2-8a667 667 0 0 0 88 56h1q3.4.9 6 3h1c2.8.4 4.8 2 7 3q5 1.8 10 3l6 2q2.9.6 6 1 3 .4 5 1c1.6-.2 2 0 3 1h1c2-.2 3.7-.2 5 1h1c2.2-.3 3.4.4 5 1h8c1.6 0 3 .9 4 1h40c1.8-1.3 4.6-1.2 7-1h1c1.2-1.2 3.2-1.2 5-1h1c1.2-1.2 3.2-1.2 5-1h1c1.1-1.1 2.3-1 4-1h2c3.5-1.7 6.9-2.3 11-3l4-1c3.4-1.4 7.1-3 11-4 1.5-.4 2.5-.5 4-1 1.4-.7 2-1.9 4-2h1q2.6-2.1 6-3h1c2.5-2 6-3.8 9-5l3-1c1.4-.9 2-2.5 4-3h1q1.4-2.2 4-3h1c7.3-7.7 19-13.2 27.7-19.3 8.8-6.1 18.2-15 28.3-18.7.4-.2 1 0 1 0q3.8-3.9 9-6c1.3 2.5-.5 6.7-1 10m-20 55c-.2.4 0 1 0 1-3.4 9.6-12.7 19-19 27a88 88 0 0 1-12 12 214 214 0 0 1-26.7 20.3c-9.5 5.8-20 14.8-31.3 16.7h-1a22 22 0 0 1-10 4h-1c-3.2 2.6-8.9 3.3-13 4h-1q-1.5 1.4-4 1h-1q-1.5 1.4-4 1h-1c-4.9 2.3-10.5 1-16 2-1 .2-2.5 1-4 1-6.2.4-12.8.3-19 0-1.8 0-3.8-.8-5-1h-4c-1.6 0-3-.9-4-1h-4c-3.9-.3-8.8-1.3-12-3h-1c-3.3-.5-7.5-1-10-3h-1c-3.6-.1-8.4-1.8-11-4h-1c-3.9-.6-8-2.6-11-5h-1c-16.1-3.8-32.2-18.9-45-29a200 200 0 0 1-40-51c17.7 11.5 35 25.5 52 38h1c4 1.6 12.8 5.4 15 9h1c4.6 1 10.4 4.1 14 7h1q2.5.3 4 2h1c3.3.5 8.6 2 11 4h1q3.5 0 6 2h1q2.5-.5 4 1h1q2.5-.5 4 1h1c3.8-.2 7.9 1 11 2h9c1.6 0 3 .8 4 1h32c1.2-.2 3.2-1 5-1h8a139 139 0 0 1 20-4l5-1c2-.7 3.7-1.5 6-2l4-1c1.5-.6 3-1.7 5-2h1q3-2.4 7-3h1q2.6-2.1 6-3h1c11.7-9.4 27.6-14.6 39-25 11.6-10.3 25-18.5 37-28a15 15 0 0 1-5 10Z"
|
||||
/>
|
||||
</svg>
|
||||
);
|
||||
}
|
||||
95
apps/docs/components/NavLinks.tsx
Normal file
95
apps/docs/components/NavLinks.tsx
Normal file
@@ -0,0 +1,95 @@
|
||||
import {
|
||||
DropdownMenu,
|
||||
DropdownMenuContent,
|
||||
DropdownMenuItem,
|
||||
DropdownMenuSeparator,
|
||||
DropdownMenuTrigger,
|
||||
} from "@/components/ui/dropdown-menu";
|
||||
import { Menu } from "lucide-react";
|
||||
import { Github, Globe, Heart, LogIn, Rss, UserPlus } from "lucide-react";
|
||||
|
||||
export function NavLinks() {
|
||||
const links = [
|
||||
{
|
||||
text: "Login",
|
||||
url: "https://app.dokploy.com/",
|
||||
icon: LogIn,
|
||||
},
|
||||
{
|
||||
text: "Sign Up",
|
||||
url: "https://app.dokploy.com/register",
|
||||
icon: UserPlus,
|
||||
},
|
||||
{
|
||||
text: "Website",
|
||||
url: "https://dokploy.com",
|
||||
icon: Globe,
|
||||
},
|
||||
{
|
||||
text: "Discord",
|
||||
url: "https://discord.com/invite/2tBnJ3jDJc",
|
||||
icon: () => (
|
||||
<svg
|
||||
role="img"
|
||||
className="size-4"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 24 24"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path d="M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z" />
|
||||
</svg>
|
||||
),
|
||||
},
|
||||
{
|
||||
text: "Support",
|
||||
url: "https://opencollective.com/dokploy",
|
||||
icon: Heart,
|
||||
},
|
||||
{
|
||||
text: "Github",
|
||||
url: "https://github.com/dokploy/dokploy",
|
||||
icon: Github,
|
||||
},
|
||||
{
|
||||
text: "Blog",
|
||||
url: "https://dokploy.com/blog",
|
||||
icon: Rss,
|
||||
},
|
||||
];
|
||||
|
||||
return (
|
||||
<DropdownMenu>
|
||||
<DropdownMenuTrigger asChild>
|
||||
<button
|
||||
className="inline-flex items-center justify-center rounded-md p-2 hover:bg-fd-accent hover:text-fd-accent-foreground transition-colors"
|
||||
aria-label="Quick links menu"
|
||||
>
|
||||
<Menu className="size-4" />
|
||||
</button>
|
||||
</DropdownMenuTrigger>
|
||||
<DropdownMenuContent align="end" className="w-56">
|
||||
{links.map((link, index) => {
|
||||
const IconComponent = link.icon;
|
||||
const showSeparator = index === 2;
|
||||
|
||||
return (
|
||||
<div key={link.text}>
|
||||
<DropdownMenuItem asChild>
|
||||
<a
|
||||
href={link.url}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center gap-3 cursor-pointer"
|
||||
>
|
||||
<IconComponent className="size-4 text-fd-muted-foreground" />
|
||||
<span>{link.text}</span>
|
||||
</a>
|
||||
</DropdownMenuItem>
|
||||
{showSeparator && <DropdownMenuSeparator />}
|
||||
</div>
|
||||
);
|
||||
})}
|
||||
</DropdownMenuContent>
|
||||
</DropdownMenu>
|
||||
);
|
||||
}
|
||||
54
apps/docs/components/SearchDialog.tsx
Normal file
54
apps/docs/components/SearchDialog.tsx
Normal file
@@ -0,0 +1,54 @@
|
||||
"use client";
|
||||
|
||||
import { useDocsSearch } from "fumadocs-core/search/client";
|
||||
import {
|
||||
SearchDialog,
|
||||
SearchDialogClose,
|
||||
SearchDialogContent,
|
||||
SearchDialogFooter,
|
||||
SearchDialogHeader,
|
||||
SearchDialogIcon,
|
||||
SearchDialogInput,
|
||||
SearchDialogList,
|
||||
SearchDialogOverlay,
|
||||
type SharedProps,
|
||||
TagsList,
|
||||
TagsListItem,
|
||||
} from "fumadocs-ui/components/dialog/search";
|
||||
import { useState } from "react";
|
||||
|
||||
export default function CustomSearchDialog(props: SharedProps) {
|
||||
const [tag, setTag] = useState<string | undefined>("all");
|
||||
// When tag is "all", don't filter by tag (pass undefined)
|
||||
const { search, setSearch, query } = useDocsSearch({
|
||||
type: "fetch",
|
||||
tag: tag === "all" ? undefined : tag,
|
||||
});
|
||||
|
||||
return (
|
||||
<SearchDialog
|
||||
search={search}
|
||||
onSearchChange={setSearch}
|
||||
isLoading={query.isLoading}
|
||||
{...props}
|
||||
>
|
||||
<SearchDialogOverlay />
|
||||
<SearchDialogContent>
|
||||
<SearchDialogHeader>
|
||||
<SearchDialogIcon />
|
||||
<SearchDialogInput />
|
||||
<SearchDialogClose />
|
||||
</SearchDialogHeader>
|
||||
<SearchDialogList items={query.data !== "empty" ? query.data : null} />
|
||||
<SearchDialogFooter>
|
||||
<TagsList tag={tag} onTagChange={setTag}>
|
||||
<TagsListItem value="all">All</TagsListItem>
|
||||
<TagsListItem value="core">Core</TagsListItem>
|
||||
<TagsListItem value="cli">CLI</TagsListItem>
|
||||
<TagsListItem value="api">API</TagsListItem>
|
||||
</TagsList>
|
||||
</SearchDialogFooter>
|
||||
</SearchDialogContent>
|
||||
</SearchDialog>
|
||||
);
|
||||
}
|
||||
257
apps/docs/components/ui/dropdown-menu.tsx
Normal file
257
apps/docs/components/ui/dropdown-menu.tsx
Normal file
@@ -0,0 +1,257 @@
|
||||
"use client";
|
||||
|
||||
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
|
||||
import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react";
|
||||
import type * as React from "react";
|
||||
|
||||
import { cn } from "@/lib/utils";
|
||||
|
||||
function DropdownMenu({
|
||||
...props
|
||||
}: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {
|
||||
return <DropdownMenuPrimitive.Root data-slot="dropdown-menu" {...props} />;
|
||||
}
|
||||
|
||||
function DropdownMenuPortal({
|
||||
...props
|
||||
}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {
|
||||
return (
|
||||
<DropdownMenuPrimitive.Portal data-slot="dropdown-menu-portal" {...props} />
|
||||
);
|
||||
}
|
||||
|
||||
function DropdownMenuTrigger({
|
||||
...props
|
||||
}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {
|
||||
return (
|
||||
<DropdownMenuPrimitive.Trigger
|
||||
data-slot="dropdown-menu-trigger"
|
||||
{...props}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
function DropdownMenuContent({
|
||||
className,
|
||||
sideOffset = 4,
|
||||
...props
|
||||
}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {
|
||||
return (
|
||||
<DropdownMenuPrimitive.Portal>
|
||||
<DropdownMenuPrimitive.Content
|
||||
data-slot="dropdown-menu-content"
|
||||
sideOffset={sideOffset}
|
||||
className={cn(
|
||||
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",
|
||||
className,
|
||||
)}
|
||||
{...props}
|
||||
/>
|
||||
</DropdownMenuPrimitive.Portal>
|
||||
);
|
||||
}
|
||||
|
||||
function DropdownMenuGroup({
|
||||
...props
|
||||
}: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {
|
||||
return (
|
||||
<DropdownMenuPrimitive.Group data-slot="dropdown-menu-group" {...props} />
|
||||
);
|
||||
}
|
||||
|
||||
function DropdownMenuItem({
|
||||
className,
|
||||
inset,
|
||||
variant = "default",
|
||||
...props
|
||||
}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
|
||||
inset?: boolean;
|
||||
variant?: "default" | "destructive";
|
||||
}) {
|
||||
return (
|
||||
<DropdownMenuPrimitive.Item
|
||||
data-slot="dropdown-menu-item"
|
||||
data-inset={inset}
|
||||
data-variant={variant}
|
||||
className={cn(
|
||||
"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
||||
className,
|
||||
)}
|
||||
{...props}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
function DropdownMenuCheckboxItem({
|
||||
className,
|
||||
children,
|
||||
checked,
|
||||
...props
|
||||
}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {
|
||||
return (
|
||||
<DropdownMenuPrimitive.CheckboxItem
|
||||
data-slot="dropdown-menu-checkbox-item"
|
||||
className={cn(
|
||||
"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
||||
className,
|
||||
)}
|
||||
checked={checked}
|
||||
{...props}
|
||||
>
|
||||
<span className="pointer-events-none absolute left-2 flex size-3.5 items-center justify-center">
|
||||
<DropdownMenuPrimitive.ItemIndicator>
|
||||
<CheckIcon className="size-4" />
|
||||
</DropdownMenuPrimitive.ItemIndicator>
|
||||
</span>
|
||||
{children}
|
||||
</DropdownMenuPrimitive.CheckboxItem>
|
||||
);
|
||||
}
|
||||
|
||||
function DropdownMenuRadioGroup({
|
||||
...props
|
||||
}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {
|
||||
return (
|
||||
<DropdownMenuPrimitive.RadioGroup
|
||||
data-slot="dropdown-menu-radio-group"
|
||||
{...props}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
function DropdownMenuRadioItem({
|
||||
className,
|
||||
children,
|
||||
...props
|
||||
}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {
|
||||
return (
|
||||
<DropdownMenuPrimitive.RadioItem
|
||||
data-slot="dropdown-menu-radio-item"
|
||||
className={cn(
|
||||
"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
||||
className,
|
||||
)}
|
||||
{...props}
|
||||
>
|
||||
<span className="pointer-events-none absolute left-2 flex size-3.5 items-center justify-center">
|
||||
<DropdownMenuPrimitive.ItemIndicator>
|
||||
<CircleIcon className="size-2 fill-current" />
|
||||
</DropdownMenuPrimitive.ItemIndicator>
|
||||
</span>
|
||||
{children}
|
||||
</DropdownMenuPrimitive.RadioItem>
|
||||
);
|
||||
}
|
||||
|
||||
function DropdownMenuLabel({
|
||||
className,
|
||||
inset,
|
||||
...props
|
||||
}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {
|
||||
inset?: boolean;
|
||||
}) {
|
||||
return (
|
||||
<DropdownMenuPrimitive.Label
|
||||
data-slot="dropdown-menu-label"
|
||||
data-inset={inset}
|
||||
className={cn(
|
||||
"px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",
|
||||
className,
|
||||
)}
|
||||
{...props}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
function DropdownMenuSeparator({
|
||||
className,
|
||||
...props
|
||||
}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {
|
||||
return (
|
||||
<DropdownMenuPrimitive.Separator
|
||||
data-slot="dropdown-menu-separator"
|
||||
className={cn("bg-border -mx-1 my-1 h-px", className)}
|
||||
{...props}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
function DropdownMenuShortcut({
|
||||
className,
|
||||
...props
|
||||
}: React.ComponentProps<"span">) {
|
||||
return (
|
||||
<span
|
||||
data-slot="dropdown-menu-shortcut"
|
||||
className={cn(
|
||||
"text-muted-foreground ml-auto text-xs tracking-widest",
|
||||
className,
|
||||
)}
|
||||
{...props}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
function DropdownMenuSub({
|
||||
...props
|
||||
}: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {
|
||||
return <DropdownMenuPrimitive.Sub data-slot="dropdown-menu-sub" {...props} />;
|
||||
}
|
||||
|
||||
function DropdownMenuSubTrigger({
|
||||
className,
|
||||
inset,
|
||||
children,
|
||||
...props
|
||||
}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
|
||||
inset?: boolean;
|
||||
}) {
|
||||
return (
|
||||
<DropdownMenuPrimitive.SubTrigger
|
||||
data-slot="dropdown-menu-sub-trigger"
|
||||
data-inset={inset}
|
||||
className={cn(
|
||||
"focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
||||
className,
|
||||
)}
|
||||
{...props}
|
||||
>
|
||||
{children}
|
||||
<ChevronRightIcon className="ml-auto size-4" />
|
||||
</DropdownMenuPrimitive.SubTrigger>
|
||||
);
|
||||
}
|
||||
|
||||
function DropdownMenuSubContent({
|
||||
className,
|
||||
...props
|
||||
}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {
|
||||
return (
|
||||
<DropdownMenuPrimitive.SubContent
|
||||
data-slot="dropdown-menu-sub-content"
|
||||
className={cn(
|
||||
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg",
|
||||
className,
|
||||
)}
|
||||
{...props}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
export {
|
||||
DropdownMenu,
|
||||
DropdownMenuPortal,
|
||||
DropdownMenuTrigger,
|
||||
DropdownMenuContent,
|
||||
DropdownMenuGroup,
|
||||
DropdownMenuLabel,
|
||||
DropdownMenuItem,
|
||||
DropdownMenuCheckboxItem,
|
||||
DropdownMenuRadioGroup,
|
||||
DropdownMenuRadioItem,
|
||||
DropdownMenuSeparator,
|
||||
DropdownMenuShortcut,
|
||||
DropdownMenuSub,
|
||||
DropdownMenuSubTrigger,
|
||||
DropdownMenuSubContent,
|
||||
};
|
||||
19
apps/docs/content/docs/api/admin.mdx
Normal file
19
apps/docs/content/docs/api/admin.mdx
Normal file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
title: Admin
|
||||
full: true
|
||||
_openapi:
|
||||
method: POST
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Admin setup Monitoring
|
||||
url: '#admin-setup-monitoring'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Admin setup Monitoring
|
||||
id: admin-setup-monitoring
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/admin.setupMonitoring","method":"post"}]} showTitle={true} />
|
||||
58
apps/docs/content/docs/api/ai.mdx
Normal file
58
apps/docs/content/docs/api/ai.mdx
Normal file
@@ -0,0 +1,58 @@
|
||||
---
|
||||
title: Ai
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Ai one
|
||||
url: '#ai-one'
|
||||
- depth: 2
|
||||
title: Ai get Models
|
||||
url: '#ai-get-models'
|
||||
- depth: 2
|
||||
title: Ai create
|
||||
url: '#ai-create'
|
||||
- depth: 2
|
||||
title: Ai update
|
||||
url: '#ai-update'
|
||||
- depth: 2
|
||||
title: Ai get All
|
||||
url: '#ai-get-all'
|
||||
- depth: 2
|
||||
title: Ai get
|
||||
url: '#ai-get'
|
||||
- depth: 2
|
||||
title: Ai delete
|
||||
url: '#ai-delete'
|
||||
- depth: 2
|
||||
title: Ai suggest
|
||||
url: '#ai-suggest'
|
||||
- depth: 2
|
||||
title: Ai deploy
|
||||
url: '#ai-deploy'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Ai one
|
||||
id: ai-one
|
||||
- content: Ai get Models
|
||||
id: ai-get-models
|
||||
- content: Ai create
|
||||
id: ai-create
|
||||
- content: Ai update
|
||||
id: ai-update
|
||||
- content: Ai get All
|
||||
id: ai-get-all
|
||||
- content: Ai get
|
||||
id: ai-get
|
||||
- content: Ai delete
|
||||
id: ai-delete
|
||||
- content: Ai suggest
|
||||
id: ai-suggest
|
||||
- content: Ai deploy
|
||||
id: ai-deploy
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/ai.one","method":"get"},{"path":"/ai.getModels","method":"get"},{"path":"/ai.create","method":"post"},{"path":"/ai.update","method":"post"},{"path":"/ai.getAll","method":"get"},{"path":"/ai.get","method":"get"},{"path":"/ai.delete","method":"post"},{"path":"/ai.suggest","method":"post"},{"path":"/ai.deploy","method":"post"}]} showTitle={true} />
|
||||
148
apps/docs/content/docs/api/application.mdx
Normal file
148
apps/docs/content/docs/api/application.mdx
Normal file
@@ -0,0 +1,148 @@
|
||||
---
|
||||
title: Application
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Application create
|
||||
url: '#application-create'
|
||||
- depth: 2
|
||||
title: Application one
|
||||
url: '#application-one'
|
||||
- depth: 2
|
||||
title: Application reload
|
||||
url: '#application-reload'
|
||||
- depth: 2
|
||||
title: Application delete
|
||||
url: '#application-delete'
|
||||
- depth: 2
|
||||
title: Application stop
|
||||
url: '#application-stop'
|
||||
- depth: 2
|
||||
title: Application start
|
||||
url: '#application-start'
|
||||
- depth: 2
|
||||
title: Application redeploy
|
||||
url: '#application-redeploy'
|
||||
- depth: 2
|
||||
title: Application save Environment
|
||||
url: '#application-save-environment'
|
||||
- depth: 2
|
||||
title: Application save Build Type
|
||||
url: '#application-save-build-type'
|
||||
- depth: 2
|
||||
title: Application save Github Provider
|
||||
url: '#application-save-github-provider'
|
||||
- depth: 2
|
||||
title: Application save Gitlab Provider
|
||||
url: '#application-save-gitlab-provider'
|
||||
- depth: 2
|
||||
title: Application save Bitbucket Provider
|
||||
url: '#application-save-bitbucket-provider'
|
||||
- depth: 2
|
||||
title: Application save Gitea Provider
|
||||
url: '#application-save-gitea-provider'
|
||||
- depth: 2
|
||||
title: Application save Docker Provider
|
||||
url: '#application-save-docker-provider'
|
||||
- depth: 2
|
||||
title: Application save Git Provider
|
||||
url: '#application-save-git-provider'
|
||||
- depth: 2
|
||||
title: Application disconnect Git Provider
|
||||
url: '#application-disconnect-git-provider'
|
||||
- depth: 2
|
||||
title: Application mark Running
|
||||
url: '#application-mark-running'
|
||||
- depth: 2
|
||||
title: Application update
|
||||
url: '#application-update'
|
||||
- depth: 2
|
||||
title: Application refresh Token
|
||||
url: '#application-refresh-token'
|
||||
- depth: 2
|
||||
title: Application deploy
|
||||
url: '#application-deploy'
|
||||
- depth: 2
|
||||
title: Application clean Queues
|
||||
url: '#application-clean-queues'
|
||||
- depth: 2
|
||||
title: Application kill Build
|
||||
url: '#application-kill-build'
|
||||
- depth: 2
|
||||
title: Application read Traefik Config
|
||||
url: '#application-read-traefik-config'
|
||||
- depth: 2
|
||||
title: Application update Traefik Config
|
||||
url: '#application-update-traefik-config'
|
||||
- depth: 2
|
||||
title: Application read App Monitoring
|
||||
url: '#application-read-app-monitoring'
|
||||
- depth: 2
|
||||
title: Application move
|
||||
url: '#application-move'
|
||||
- depth: 2
|
||||
title: Application cancel Deployment
|
||||
url: '#application-cancel-deployment'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Application create
|
||||
id: application-create
|
||||
- content: Application one
|
||||
id: application-one
|
||||
- content: Application reload
|
||||
id: application-reload
|
||||
- content: Application delete
|
||||
id: application-delete
|
||||
- content: Application stop
|
||||
id: application-stop
|
||||
- content: Application start
|
||||
id: application-start
|
||||
- content: Application redeploy
|
||||
id: application-redeploy
|
||||
- content: Application save Environment
|
||||
id: application-save-environment
|
||||
- content: Application save Build Type
|
||||
id: application-save-build-type
|
||||
- content: Application save Github Provider
|
||||
id: application-save-github-provider
|
||||
- content: Application save Gitlab Provider
|
||||
id: application-save-gitlab-provider
|
||||
- content: Application save Bitbucket Provider
|
||||
id: application-save-bitbucket-provider
|
||||
- content: Application save Gitea Provider
|
||||
id: application-save-gitea-provider
|
||||
- content: Application save Docker Provider
|
||||
id: application-save-docker-provider
|
||||
- content: Application save Git Provider
|
||||
id: application-save-git-provider
|
||||
- content: Application disconnect Git Provider
|
||||
id: application-disconnect-git-provider
|
||||
- content: Application mark Running
|
||||
id: application-mark-running
|
||||
- content: Application update
|
||||
id: application-update
|
||||
- content: Application refresh Token
|
||||
id: application-refresh-token
|
||||
- content: Application deploy
|
||||
id: application-deploy
|
||||
- content: Application clean Queues
|
||||
id: application-clean-queues
|
||||
- content: Application kill Build
|
||||
id: application-kill-build
|
||||
- content: Application read Traefik Config
|
||||
id: application-read-traefik-config
|
||||
- content: Application update Traefik Config
|
||||
id: application-update-traefik-config
|
||||
- content: Application read App Monitoring
|
||||
id: application-read-app-monitoring
|
||||
- content: Application move
|
||||
id: application-move
|
||||
- content: Application cancel Deployment
|
||||
id: application-cancel-deployment
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/application.create","method":"post"},{"path":"/application.one","method":"get"},{"path":"/application.reload","method":"post"},{"path":"/application.delete","method":"post"},{"path":"/application.stop","method":"post"},{"path":"/application.start","method":"post"},{"path":"/application.redeploy","method":"post"},{"path":"/application.saveEnvironment","method":"post"},{"path":"/application.saveBuildType","method":"post"},{"path":"/application.saveGithubProvider","method":"post"},{"path":"/application.saveGitlabProvider","method":"post"},{"path":"/application.saveBitbucketProvider","method":"post"},{"path":"/application.saveGiteaProvider","method":"post"},{"path":"/application.saveDockerProvider","method":"post"},{"path":"/application.saveGitProvider","method":"post"},{"path":"/application.disconnectGitProvider","method":"post"},{"path":"/application.markRunning","method":"post"},{"path":"/application.update","method":"post"},{"path":"/application.refreshToken","method":"post"},{"path":"/application.deploy","method":"post"},{"path":"/application.cleanQueues","method":"post"},{"path":"/application.killBuild","method":"post"},{"path":"/application.readTraefikConfig","method":"get"},{"path":"/application.updateTraefikConfig","method":"post"},{"path":"/application.readAppMonitoring","method":"get"},{"path":"/application.move","method":"post"},{"path":"/application.cancelDeployment","method":"post"}]} showTitle={true} />
|
||||
68
apps/docs/content/docs/api/backup.mdx
Normal file
68
apps/docs/content/docs/api/backup.mdx
Normal file
@@ -0,0 +1,68 @@
|
||||
---
|
||||
title: Backup
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Backup create
|
||||
url: '#backup-create'
|
||||
- depth: 2
|
||||
title: Backup one
|
||||
url: '#backup-one'
|
||||
- depth: 2
|
||||
title: Backup update
|
||||
url: '#backup-update'
|
||||
- depth: 2
|
||||
title: Backup remove
|
||||
url: '#backup-remove'
|
||||
- depth: 2
|
||||
title: Backup manual Backup Postgres
|
||||
url: '#backup-manual-backup-postgres'
|
||||
- depth: 2
|
||||
title: Backup manual Backup My Sql
|
||||
url: '#backup-manual-backup-my-sql'
|
||||
- depth: 2
|
||||
title: Backup manual Backup Mariadb
|
||||
url: '#backup-manual-backup-mariadb'
|
||||
- depth: 2
|
||||
title: Backup manual Backup Compose
|
||||
url: '#backup-manual-backup-compose'
|
||||
- depth: 2
|
||||
title: Backup manual Backup Mongo
|
||||
url: '#backup-manual-backup-mongo'
|
||||
- depth: 2
|
||||
title: Backup manual Backup Web Server
|
||||
url: '#backup-manual-backup-web-server'
|
||||
- depth: 2
|
||||
title: Backup list Backup Files
|
||||
url: '#backup-list-backup-files'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Backup create
|
||||
id: backup-create
|
||||
- content: Backup one
|
||||
id: backup-one
|
||||
- content: Backup update
|
||||
id: backup-update
|
||||
- content: Backup remove
|
||||
id: backup-remove
|
||||
- content: Backup manual Backup Postgres
|
||||
id: backup-manual-backup-postgres
|
||||
- content: Backup manual Backup My Sql
|
||||
id: backup-manual-backup-my-sql
|
||||
- content: Backup manual Backup Mariadb
|
||||
id: backup-manual-backup-mariadb
|
||||
- content: Backup manual Backup Compose
|
||||
id: backup-manual-backup-compose
|
||||
- content: Backup manual Backup Mongo
|
||||
id: backup-manual-backup-mongo
|
||||
- content: Backup manual Backup Web Server
|
||||
id: backup-manual-backup-web-server
|
||||
- content: Backup list Backup Files
|
||||
id: backup-list-backup-files
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/backup.create","method":"post"},{"path":"/backup.one","method":"get"},{"path":"/backup.update","method":"post"},{"path":"/backup.remove","method":"post"},{"path":"/backup.manualBackupPostgres","method":"post"},{"path":"/backup.manualBackupMySql","method":"post"},{"path":"/backup.manualBackupMariadb","method":"post"},{"path":"/backup.manualBackupCompose","method":"post"},{"path":"/backup.manualBackupMongo","method":"post"},{"path":"/backup.manualBackupWebServer","method":"post"},{"path":"/backup.listBackupFiles","method":"get"}]} showTitle={true} />
|
||||
48
apps/docs/content/docs/api/bitbucket.mdx
Normal file
48
apps/docs/content/docs/api/bitbucket.mdx
Normal file
@@ -0,0 +1,48 @@
|
||||
---
|
||||
title: Bitbucket
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Bitbucket create
|
||||
url: '#bitbucket-create'
|
||||
- depth: 2
|
||||
title: Bitbucket one
|
||||
url: '#bitbucket-one'
|
||||
- depth: 2
|
||||
title: Bitbucket bitbucket Providers
|
||||
url: '#bitbucket-bitbucket-providers'
|
||||
- depth: 2
|
||||
title: Bitbucket get Bitbucket Repositories
|
||||
url: '#bitbucket-get-bitbucket-repositories'
|
||||
- depth: 2
|
||||
title: Bitbucket get Bitbucket Branches
|
||||
url: '#bitbucket-get-bitbucket-branches'
|
||||
- depth: 2
|
||||
title: Bitbucket test Connection
|
||||
url: '#bitbucket-test-connection'
|
||||
- depth: 2
|
||||
title: Bitbucket update
|
||||
url: '#bitbucket-update'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Bitbucket create
|
||||
id: bitbucket-create
|
||||
- content: Bitbucket one
|
||||
id: bitbucket-one
|
||||
- content: Bitbucket bitbucket Providers
|
||||
id: bitbucket-bitbucket-providers
|
||||
- content: Bitbucket get Bitbucket Repositories
|
||||
id: bitbucket-get-bitbucket-repositories
|
||||
- content: Bitbucket get Bitbucket Branches
|
||||
id: bitbucket-get-bitbucket-branches
|
||||
- content: Bitbucket test Connection
|
||||
id: bitbucket-test-connection
|
||||
- content: Bitbucket update
|
||||
id: bitbucket-update
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/bitbucket.create","method":"post"},{"path":"/bitbucket.one","method":"get"},{"path":"/bitbucket.bitbucketProviders","method":"get"},{"path":"/bitbucket.getBitbucketRepositories","method":"get"},{"path":"/bitbucket.getBitbucketBranches","method":"get"},{"path":"/bitbucket.testConnection","method":"post"},{"path":"/bitbucket.update","method":"post"}]} showTitle={true} />
|
||||
33
apps/docs/content/docs/api/certificates.mdx
Normal file
33
apps/docs/content/docs/api/certificates.mdx
Normal file
@@ -0,0 +1,33 @@
|
||||
---
|
||||
title: Certificates
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Certificates create
|
||||
url: '#certificates-create'
|
||||
- depth: 2
|
||||
title: Certificates one
|
||||
url: '#certificates-one'
|
||||
- depth: 2
|
||||
title: Certificates remove
|
||||
url: '#certificates-remove'
|
||||
- depth: 2
|
||||
title: Certificates all
|
||||
url: '#certificates-all'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Certificates create
|
||||
id: certificates-create
|
||||
- content: Certificates one
|
||||
id: certificates-one
|
||||
- content: Certificates remove
|
||||
id: certificates-remove
|
||||
- content: Certificates all
|
||||
id: certificates-all
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/certificates.create","method":"post"},{"path":"/certificates.one","method":"get"},{"path":"/certificates.remove","method":"post"},{"path":"/certificates.all","method":"get"}]} showTitle={true} />
|
||||
33
apps/docs/content/docs/api/cluster.mdx
Normal file
33
apps/docs/content/docs/api/cluster.mdx
Normal file
@@ -0,0 +1,33 @@
|
||||
---
|
||||
title: Cluster
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Cluster get Nodes
|
||||
url: '#cluster-get-nodes'
|
||||
- depth: 2
|
||||
title: Cluster remove Worker
|
||||
url: '#cluster-remove-worker'
|
||||
- depth: 2
|
||||
title: Cluster add Worker
|
||||
url: '#cluster-add-worker'
|
||||
- depth: 2
|
||||
title: Cluster add Manager
|
||||
url: '#cluster-add-manager'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Cluster get Nodes
|
||||
id: cluster-get-nodes
|
||||
- content: Cluster remove Worker
|
||||
id: cluster-remove-worker
|
||||
- content: Cluster add Worker
|
||||
id: cluster-add-worker
|
||||
- content: Cluster add Manager
|
||||
id: cluster-add-manager
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/cluster.getNodes","method":"get"},{"path":"/cluster.removeWorker","method":"post"},{"path":"/cluster.addWorker","method":"get"},{"path":"/cluster.addManager","method":"get"}]} showTitle={true} />
|
||||
143
apps/docs/content/docs/api/compose.mdx
Normal file
143
apps/docs/content/docs/api/compose.mdx
Normal file
@@ -0,0 +1,143 @@
|
||||
---
|
||||
title: Compose
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Compose create
|
||||
url: '#compose-create'
|
||||
- depth: 2
|
||||
title: Compose one
|
||||
url: '#compose-one'
|
||||
- depth: 2
|
||||
title: Compose update
|
||||
url: '#compose-update'
|
||||
- depth: 2
|
||||
title: Compose delete
|
||||
url: '#compose-delete'
|
||||
- depth: 2
|
||||
title: Compose clean Queues
|
||||
url: '#compose-clean-queues'
|
||||
- depth: 2
|
||||
title: Compose kill Build
|
||||
url: '#compose-kill-build'
|
||||
- depth: 2
|
||||
title: Compose load Services
|
||||
url: '#compose-load-services'
|
||||
- depth: 2
|
||||
title: Compose load Mounts By Service
|
||||
url: '#compose-load-mounts-by-service'
|
||||
- depth: 2
|
||||
title: Compose fetch Source Type
|
||||
url: '#compose-fetch-source-type'
|
||||
- depth: 2
|
||||
title: Compose randomize Compose
|
||||
url: '#compose-randomize-compose'
|
||||
- depth: 2
|
||||
title: Compose isolated Deployment
|
||||
url: '#compose-isolated-deployment'
|
||||
- depth: 2
|
||||
title: Compose get Converted Compose
|
||||
url: '#compose-get-converted-compose'
|
||||
- depth: 2
|
||||
title: Compose deploy
|
||||
url: '#compose-deploy'
|
||||
- depth: 2
|
||||
title: Compose redeploy
|
||||
url: '#compose-redeploy'
|
||||
- depth: 2
|
||||
title: Compose stop
|
||||
url: '#compose-stop'
|
||||
- depth: 2
|
||||
title: Compose start
|
||||
url: '#compose-start'
|
||||
- depth: 2
|
||||
title: Compose get Default Command
|
||||
url: '#compose-get-default-command'
|
||||
- depth: 2
|
||||
title: Compose refresh Token
|
||||
url: '#compose-refresh-token'
|
||||
- depth: 2
|
||||
title: Compose deploy Template
|
||||
url: '#compose-deploy-template'
|
||||
- depth: 2
|
||||
title: Compose templates
|
||||
url: '#compose-templates'
|
||||
- depth: 2
|
||||
title: Compose get Tags
|
||||
url: '#compose-get-tags'
|
||||
- depth: 2
|
||||
title: Compose disconnect Git Provider
|
||||
url: '#compose-disconnect-git-provider'
|
||||
- depth: 2
|
||||
title: Compose move
|
||||
url: '#compose-move'
|
||||
- depth: 2
|
||||
title: Compose process Template
|
||||
url: '#compose-process-template'
|
||||
- depth: 2
|
||||
title: Compose import
|
||||
url: '#compose-import'
|
||||
- depth: 2
|
||||
title: Compose cancel Deployment
|
||||
url: '#compose-cancel-deployment'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Compose create
|
||||
id: compose-create
|
||||
- content: Compose one
|
||||
id: compose-one
|
||||
- content: Compose update
|
||||
id: compose-update
|
||||
- content: Compose delete
|
||||
id: compose-delete
|
||||
- content: Compose clean Queues
|
||||
id: compose-clean-queues
|
||||
- content: Compose kill Build
|
||||
id: compose-kill-build
|
||||
- content: Compose load Services
|
||||
id: compose-load-services
|
||||
- content: Compose load Mounts By Service
|
||||
id: compose-load-mounts-by-service
|
||||
- content: Compose fetch Source Type
|
||||
id: compose-fetch-source-type
|
||||
- content: Compose randomize Compose
|
||||
id: compose-randomize-compose
|
||||
- content: Compose isolated Deployment
|
||||
id: compose-isolated-deployment
|
||||
- content: Compose get Converted Compose
|
||||
id: compose-get-converted-compose
|
||||
- content: Compose deploy
|
||||
id: compose-deploy
|
||||
- content: Compose redeploy
|
||||
id: compose-redeploy
|
||||
- content: Compose stop
|
||||
id: compose-stop
|
||||
- content: Compose start
|
||||
id: compose-start
|
||||
- content: Compose get Default Command
|
||||
id: compose-get-default-command
|
||||
- content: Compose refresh Token
|
||||
id: compose-refresh-token
|
||||
- content: Compose deploy Template
|
||||
id: compose-deploy-template
|
||||
- content: Compose templates
|
||||
id: compose-templates
|
||||
- content: Compose get Tags
|
||||
id: compose-get-tags
|
||||
- content: Compose disconnect Git Provider
|
||||
id: compose-disconnect-git-provider
|
||||
- content: Compose move
|
||||
id: compose-move
|
||||
- content: Compose process Template
|
||||
id: compose-process-template
|
||||
- content: Compose import
|
||||
id: compose-import
|
||||
- content: Compose cancel Deployment
|
||||
id: compose-cancel-deployment
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/compose.create","method":"post"},{"path":"/compose.one","method":"get"},{"path":"/compose.update","method":"post"},{"path":"/compose.delete","method":"post"},{"path":"/compose.cleanQueues","method":"post"},{"path":"/compose.killBuild","method":"post"},{"path":"/compose.loadServices","method":"get"},{"path":"/compose.loadMountsByService","method":"get"},{"path":"/compose.fetchSourceType","method":"post"},{"path":"/compose.randomizeCompose","method":"post"},{"path":"/compose.isolatedDeployment","method":"post"},{"path":"/compose.getConvertedCompose","method":"get"},{"path":"/compose.deploy","method":"post"},{"path":"/compose.redeploy","method":"post"},{"path":"/compose.stop","method":"post"},{"path":"/compose.start","method":"post"},{"path":"/compose.getDefaultCommand","method":"get"},{"path":"/compose.refreshToken","method":"post"},{"path":"/compose.deployTemplate","method":"post"},{"path":"/compose.templates","method":"get"},{"path":"/compose.getTags","method":"get"},{"path":"/compose.disconnectGitProvider","method":"post"},{"path":"/compose.move","method":"post"},{"path":"/compose.processTemplate","method":"post"},{"path":"/compose.import","method":"post"},{"path":"/compose.cancelDeployment","method":"post"}]} showTitle={true} />
|
||||
38
apps/docs/content/docs/api/deployment.mdx
Normal file
38
apps/docs/content/docs/api/deployment.mdx
Normal file
@@ -0,0 +1,38 @@
|
||||
---
|
||||
title: Deployment
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Deployment all
|
||||
url: '#deployment-all'
|
||||
- depth: 2
|
||||
title: Deployment all By Compose
|
||||
url: '#deployment-all-by-compose'
|
||||
- depth: 2
|
||||
title: Deployment all By Server
|
||||
url: '#deployment-all-by-server'
|
||||
- depth: 2
|
||||
title: Deployment all By Type
|
||||
url: '#deployment-all-by-type'
|
||||
- depth: 2
|
||||
title: Deployment kill Process
|
||||
url: '#deployment-kill-process'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Deployment all
|
||||
id: deployment-all
|
||||
- content: Deployment all By Compose
|
||||
id: deployment-all-by-compose
|
||||
- content: Deployment all By Server
|
||||
id: deployment-all-by-server
|
||||
- content: Deployment all By Type
|
||||
id: deployment-all-by-type
|
||||
- content: Deployment kill Process
|
||||
id: deployment-kill-process
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/deployment.all","method":"get"},{"path":"/deployment.allByCompose","method":"get"},{"path":"/deployment.allByServer","method":"get"},{"path":"/deployment.allByType","method":"get"},{"path":"/deployment.killProcess","method":"post"}]} showTitle={true} />
|
||||
43
apps/docs/content/docs/api/destination.mdx
Normal file
43
apps/docs/content/docs/api/destination.mdx
Normal file
@@ -0,0 +1,43 @@
|
||||
---
|
||||
title: Destination
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Destination create
|
||||
url: '#destination-create'
|
||||
- depth: 2
|
||||
title: Destination test Connection
|
||||
url: '#destination-test-connection'
|
||||
- depth: 2
|
||||
title: Destination one
|
||||
url: '#destination-one'
|
||||
- depth: 2
|
||||
title: Destination all
|
||||
url: '#destination-all'
|
||||
- depth: 2
|
||||
title: Destination remove
|
||||
url: '#destination-remove'
|
||||
- depth: 2
|
||||
title: Destination update
|
||||
url: '#destination-update'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Destination create
|
||||
id: destination-create
|
||||
- content: Destination test Connection
|
||||
id: destination-test-connection
|
||||
- content: Destination one
|
||||
id: destination-one
|
||||
- content: Destination all
|
||||
id: destination-all
|
||||
- content: Destination remove
|
||||
id: destination-remove
|
||||
- content: Destination update
|
||||
id: destination-update
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/destination.create","method":"post"},{"path":"/destination.testConnection","method":"post"},{"path":"/destination.one","method":"get"},{"path":"/destination.all","method":"get"},{"path":"/destination.remove","method":"post"},{"path":"/destination.update","method":"post"}]} showTitle={true} />
|
||||
48
apps/docs/content/docs/api/docker.mdx
Normal file
48
apps/docs/content/docs/api/docker.mdx
Normal file
@@ -0,0 +1,48 @@
|
||||
---
|
||||
title: Docker
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Docker get Containers
|
||||
url: '#docker-get-containers'
|
||||
- depth: 2
|
||||
title: Docker restart Container
|
||||
url: '#docker-restart-container'
|
||||
- depth: 2
|
||||
title: Docker get Config
|
||||
url: '#docker-get-config'
|
||||
- depth: 2
|
||||
title: Docker get Containers By App Name Match
|
||||
url: '#docker-get-containers-by-app-name-match'
|
||||
- depth: 2
|
||||
title: Docker get Containers By App Label
|
||||
url: '#docker-get-containers-by-app-label'
|
||||
- depth: 2
|
||||
title: Docker get Stack Containers By App Name
|
||||
url: '#docker-get-stack-containers-by-app-name'
|
||||
- depth: 2
|
||||
title: Docker get Service Containers By App Name
|
||||
url: '#docker-get-service-containers-by-app-name'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Docker get Containers
|
||||
id: docker-get-containers
|
||||
- content: Docker restart Container
|
||||
id: docker-restart-container
|
||||
- content: Docker get Config
|
||||
id: docker-get-config
|
||||
- content: Docker get Containers By App Name Match
|
||||
id: docker-get-containers-by-app-name-match
|
||||
- content: Docker get Containers By App Label
|
||||
id: docker-get-containers-by-app-label
|
||||
- content: Docker get Stack Containers By App Name
|
||||
id: docker-get-stack-containers-by-app-name
|
||||
- content: Docker get Service Containers By App Name
|
||||
id: docker-get-service-containers-by-app-name
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/docker.getContainers","method":"get"},{"path":"/docker.restartContainer","method":"post"},{"path":"/docker.getConfig","method":"get"},{"path":"/docker.getContainersByAppNameMatch","method":"get"},{"path":"/docker.getContainersByAppLabel","method":"get"},{"path":"/docker.getStackContainersByAppName","method":"get"},{"path":"/docker.getServiceContainersByAppName","method":"get"}]} showTitle={true} />
|
||||
58
apps/docs/content/docs/api/domain.mdx
Normal file
58
apps/docs/content/docs/api/domain.mdx
Normal file
@@ -0,0 +1,58 @@
|
||||
---
|
||||
title: Domain
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Domain create
|
||||
url: '#domain-create'
|
||||
- depth: 2
|
||||
title: Domain by Application Id
|
||||
url: '#domain-by-application-id'
|
||||
- depth: 2
|
||||
title: Domain by Compose Id
|
||||
url: '#domain-by-compose-id'
|
||||
- depth: 2
|
||||
title: Domain generate Domain
|
||||
url: '#domain-generate-domain'
|
||||
- depth: 2
|
||||
title: Domain can Generate Traefik Me Domains
|
||||
url: '#domain-can-generate-traefik-me-domains'
|
||||
- depth: 2
|
||||
title: Domain update
|
||||
url: '#domain-update'
|
||||
- depth: 2
|
||||
title: Domain one
|
||||
url: '#domain-one'
|
||||
- depth: 2
|
||||
title: Domain delete
|
||||
url: '#domain-delete'
|
||||
- depth: 2
|
||||
title: Domain validate Domain
|
||||
url: '#domain-validate-domain'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Domain create
|
||||
id: domain-create
|
||||
- content: Domain by Application Id
|
||||
id: domain-by-application-id
|
||||
- content: Domain by Compose Id
|
||||
id: domain-by-compose-id
|
||||
- content: Domain generate Domain
|
||||
id: domain-generate-domain
|
||||
- content: Domain can Generate Traefik Me Domains
|
||||
id: domain-can-generate-traefik-me-domains
|
||||
- content: Domain update
|
||||
id: domain-update
|
||||
- content: Domain one
|
||||
id: domain-one
|
||||
- content: Domain delete
|
||||
id: domain-delete
|
||||
- content: Domain validate Domain
|
||||
id: domain-validate-domain
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/domain.create","method":"post"},{"path":"/domain.byApplicationId","method":"get"},{"path":"/domain.byComposeId","method":"get"},{"path":"/domain.generateDomain","method":"post"},{"path":"/domain.canGenerateTraefikMeDomains","method":"get"},{"path":"/domain.update","method":"post"},{"path":"/domain.one","method":"get"},{"path":"/domain.delete","method":"post"},{"path":"/domain.validateDomain","method":"post"}]} showTitle={true} />
|
||||
43
apps/docs/content/docs/api/environment.mdx
Normal file
43
apps/docs/content/docs/api/environment.mdx
Normal file
@@ -0,0 +1,43 @@
|
||||
---
|
||||
title: Environment
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Environment create
|
||||
url: '#environment-create'
|
||||
- depth: 2
|
||||
title: Environment one
|
||||
url: '#environment-one'
|
||||
- depth: 2
|
||||
title: Environment by Project Id
|
||||
url: '#environment-by-project-id'
|
||||
- depth: 2
|
||||
title: Environment remove
|
||||
url: '#environment-remove'
|
||||
- depth: 2
|
||||
title: Environment update
|
||||
url: '#environment-update'
|
||||
- depth: 2
|
||||
title: Environment duplicate
|
||||
url: '#environment-duplicate'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Environment create
|
||||
id: environment-create
|
||||
- content: Environment one
|
||||
id: environment-one
|
||||
- content: Environment by Project Id
|
||||
id: environment-by-project-id
|
||||
- content: Environment remove
|
||||
id: environment-remove
|
||||
- content: Environment update
|
||||
id: environment-update
|
||||
- content: Environment duplicate
|
||||
id: environment-duplicate
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/environment.create","method":"post"},{"path":"/environment.one","method":"get"},{"path":"/environment.byProjectId","method":"get"},{"path":"/environment.remove","method":"post"},{"path":"/environment.update","method":"post"},{"path":"/environment.duplicate","method":"post"}]} showTitle={true} />
|
||||
53
apps/docs/content/docs/api/gitea.mdx
Normal file
53
apps/docs/content/docs/api/gitea.mdx
Normal file
@@ -0,0 +1,53 @@
|
||||
---
|
||||
title: Gitea
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Gitea create
|
||||
url: '#gitea-create'
|
||||
- depth: 2
|
||||
title: Gitea one
|
||||
url: '#gitea-one'
|
||||
- depth: 2
|
||||
title: Gitea gitea Providers
|
||||
url: '#gitea-gitea-providers'
|
||||
- depth: 2
|
||||
title: Gitea get Gitea Repositories
|
||||
url: '#gitea-get-gitea-repositories'
|
||||
- depth: 2
|
||||
title: Gitea get Gitea Branches
|
||||
url: '#gitea-get-gitea-branches'
|
||||
- depth: 2
|
||||
title: Gitea test Connection
|
||||
url: '#gitea-test-connection'
|
||||
- depth: 2
|
||||
title: Gitea update
|
||||
url: '#gitea-update'
|
||||
- depth: 2
|
||||
title: Gitea get Gitea Url
|
||||
url: '#gitea-get-gitea-url'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Gitea create
|
||||
id: gitea-create
|
||||
- content: Gitea one
|
||||
id: gitea-one
|
||||
- content: Gitea gitea Providers
|
||||
id: gitea-gitea-providers
|
||||
- content: Gitea get Gitea Repositories
|
||||
id: gitea-get-gitea-repositories
|
||||
- content: Gitea get Gitea Branches
|
||||
id: gitea-get-gitea-branches
|
||||
- content: Gitea test Connection
|
||||
id: gitea-test-connection
|
||||
- content: Gitea update
|
||||
id: gitea-update
|
||||
- content: Gitea get Gitea Url
|
||||
id: gitea-get-gitea-url
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/gitea.create","method":"post"},{"path":"/gitea.one","method":"get"},{"path":"/gitea.giteaProviders","method":"get"},{"path":"/gitea.getGiteaRepositories","method":"get"},{"path":"/gitea.getGiteaBranches","method":"get"},{"path":"/gitea.testConnection","method":"post"},{"path":"/gitea.update","method":"post"},{"path":"/gitea.getGiteaUrl","method":"get"}]} showTitle={true} />
|
||||
43
apps/docs/content/docs/api/github.mdx
Normal file
43
apps/docs/content/docs/api/github.mdx
Normal file
@@ -0,0 +1,43 @@
|
||||
---
|
||||
title: Github
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Github one
|
||||
url: '#github-one'
|
||||
- depth: 2
|
||||
title: Github get Github Repositories
|
||||
url: '#github-get-github-repositories'
|
||||
- depth: 2
|
||||
title: Github get Github Branches
|
||||
url: '#github-get-github-branches'
|
||||
- depth: 2
|
||||
title: Github github Providers
|
||||
url: '#github-github-providers'
|
||||
- depth: 2
|
||||
title: Github test Connection
|
||||
url: '#github-test-connection'
|
||||
- depth: 2
|
||||
title: Github update
|
||||
url: '#github-update'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Github one
|
||||
id: github-one
|
||||
- content: Github get Github Repositories
|
||||
id: github-get-github-repositories
|
||||
- content: Github get Github Branches
|
||||
id: github-get-github-branches
|
||||
- content: Github github Providers
|
||||
id: github-github-providers
|
||||
- content: Github test Connection
|
||||
id: github-test-connection
|
||||
- content: Github update
|
||||
id: github-update
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/github.one","method":"get"},{"path":"/github.getGithubRepositories","method":"get"},{"path":"/github.getGithubBranches","method":"get"},{"path":"/github.githubProviders","method":"get"},{"path":"/github.testConnection","method":"post"},{"path":"/github.update","method":"post"}]} showTitle={true} />
|
||||
48
apps/docs/content/docs/api/gitlab.mdx
Normal file
48
apps/docs/content/docs/api/gitlab.mdx
Normal file
@@ -0,0 +1,48 @@
|
||||
---
|
||||
title: Gitlab
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Gitlab create
|
||||
url: '#gitlab-create'
|
||||
- depth: 2
|
||||
title: Gitlab one
|
||||
url: '#gitlab-one'
|
||||
- depth: 2
|
||||
title: Gitlab gitlab Providers
|
||||
url: '#gitlab-gitlab-providers'
|
||||
- depth: 2
|
||||
title: Gitlab get Gitlab Repositories
|
||||
url: '#gitlab-get-gitlab-repositories'
|
||||
- depth: 2
|
||||
title: Gitlab get Gitlab Branches
|
||||
url: '#gitlab-get-gitlab-branches'
|
||||
- depth: 2
|
||||
title: Gitlab test Connection
|
||||
url: '#gitlab-test-connection'
|
||||
- depth: 2
|
||||
title: Gitlab update
|
||||
url: '#gitlab-update'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Gitlab create
|
||||
id: gitlab-create
|
||||
- content: Gitlab one
|
||||
id: gitlab-one
|
||||
- content: Gitlab gitlab Providers
|
||||
id: gitlab-gitlab-providers
|
||||
- content: Gitlab get Gitlab Repositories
|
||||
id: gitlab-get-gitlab-repositories
|
||||
- content: Gitlab get Gitlab Branches
|
||||
id: gitlab-get-gitlab-branches
|
||||
- content: Gitlab test Connection
|
||||
id: gitlab-test-connection
|
||||
- content: Gitlab update
|
||||
id: gitlab-update
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/gitlab.create","method":"post"},{"path":"/gitlab.one","method":"get"},{"path":"/gitlab.gitlabProviders","method":"get"},{"path":"/gitlab.getGitlabRepositories","method":"get"},{"path":"/gitlab.getGitlabBranches","method":"get"},{"path":"/gitlab.testConnection","method":"post"},{"path":"/gitlab.update","method":"post"}]} showTitle={true} />
|
||||
23
apps/docs/content/docs/api/gitprovider.mdx
Normal file
23
apps/docs/content/docs/api/gitprovider.mdx
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
title: Git Provider
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Git Provider get All
|
||||
url: '#git-provider-get-all'
|
||||
- depth: 2
|
||||
title: Git Provider remove
|
||||
url: '#git-provider-remove'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Git Provider get All
|
||||
id: git-provider-get-all
|
||||
- content: Git Provider remove
|
||||
id: git-provider-remove
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/gitProvider.getAll","method":"get"},{"path":"/gitProvider.remove","method":"post"}]} showTitle={true} />
|
||||
78
apps/docs/content/docs/api/mariadb.mdx
Normal file
78
apps/docs/content/docs/api/mariadb.mdx
Normal file
@@ -0,0 +1,78 @@
|
||||
---
|
||||
title: Mariadb
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Mariadb create
|
||||
url: '#mariadb-create'
|
||||
- depth: 2
|
||||
title: Mariadb one
|
||||
url: '#mariadb-one'
|
||||
- depth: 2
|
||||
title: Mariadb start
|
||||
url: '#mariadb-start'
|
||||
- depth: 2
|
||||
title: Mariadb stop
|
||||
url: '#mariadb-stop'
|
||||
- depth: 2
|
||||
title: Mariadb save External Port
|
||||
url: '#mariadb-save-external-port'
|
||||
- depth: 2
|
||||
title: Mariadb deploy
|
||||
url: '#mariadb-deploy'
|
||||
- depth: 2
|
||||
title: Mariadb change Status
|
||||
url: '#mariadb-change-status'
|
||||
- depth: 2
|
||||
title: Mariadb remove
|
||||
url: '#mariadb-remove'
|
||||
- depth: 2
|
||||
title: Mariadb save Environment
|
||||
url: '#mariadb-save-environment'
|
||||
- depth: 2
|
||||
title: Mariadb reload
|
||||
url: '#mariadb-reload'
|
||||
- depth: 2
|
||||
title: Mariadb update
|
||||
url: '#mariadb-update'
|
||||
- depth: 2
|
||||
title: Mariadb move
|
||||
url: '#mariadb-move'
|
||||
- depth: 2
|
||||
title: Mariadb rebuild
|
||||
url: '#mariadb-rebuild'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Mariadb create
|
||||
id: mariadb-create
|
||||
- content: Mariadb one
|
||||
id: mariadb-one
|
||||
- content: Mariadb start
|
||||
id: mariadb-start
|
||||
- content: Mariadb stop
|
||||
id: mariadb-stop
|
||||
- content: Mariadb save External Port
|
||||
id: mariadb-save-external-port
|
||||
- content: Mariadb deploy
|
||||
id: mariadb-deploy
|
||||
- content: Mariadb change Status
|
||||
id: mariadb-change-status
|
||||
- content: Mariadb remove
|
||||
id: mariadb-remove
|
||||
- content: Mariadb save Environment
|
||||
id: mariadb-save-environment
|
||||
- content: Mariadb reload
|
||||
id: mariadb-reload
|
||||
- content: Mariadb update
|
||||
id: mariadb-update
|
||||
- content: Mariadb move
|
||||
id: mariadb-move
|
||||
- content: Mariadb rebuild
|
||||
id: mariadb-rebuild
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/mariadb.create","method":"post"},{"path":"/mariadb.one","method":"get"},{"path":"/mariadb.start","method":"post"},{"path":"/mariadb.stop","method":"post"},{"path":"/mariadb.saveExternalPort","method":"post"},{"path":"/mariadb.deploy","method":"post"},{"path":"/mariadb.changeStatus","method":"post"},{"path":"/mariadb.remove","method":"post"},{"path":"/mariadb.saveEnvironment","method":"post"},{"path":"/mariadb.reload","method":"post"},{"path":"/mariadb.update","method":"post"},{"path":"/mariadb.move","method":"post"},{"path":"/mariadb.rebuild","method":"post"}]} showTitle={true} />
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"title": "API",
|
||||
"description": "API Documentation",
|
||||
"icon": "Building2",
|
||||
"description": "RESTful API reference for programmatic access to Dokploy",
|
||||
"icon": "Code",
|
||||
"root": true,
|
||||
"pages": ["---Get Started---", "index", "---API---", "...", "---Reference---"]
|
||||
"pages": ["---Get Started---", "index", "---Reference---", "..."]
|
||||
}
|
||||
|
||||
78
apps/docs/content/docs/api/mongo.mdx
Normal file
78
apps/docs/content/docs/api/mongo.mdx
Normal file
@@ -0,0 +1,78 @@
|
||||
---
|
||||
title: Mongo
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Mongo create
|
||||
url: '#mongo-create'
|
||||
- depth: 2
|
||||
title: Mongo one
|
||||
url: '#mongo-one'
|
||||
- depth: 2
|
||||
title: Mongo start
|
||||
url: '#mongo-start'
|
||||
- depth: 2
|
||||
title: Mongo stop
|
||||
url: '#mongo-stop'
|
||||
- depth: 2
|
||||
title: Mongo save External Port
|
||||
url: '#mongo-save-external-port'
|
||||
- depth: 2
|
||||
title: Mongo deploy
|
||||
url: '#mongo-deploy'
|
||||
- depth: 2
|
||||
title: Mongo change Status
|
||||
url: '#mongo-change-status'
|
||||
- depth: 2
|
||||
title: Mongo reload
|
||||
url: '#mongo-reload'
|
||||
- depth: 2
|
||||
title: Mongo remove
|
||||
url: '#mongo-remove'
|
||||
- depth: 2
|
||||
title: Mongo save Environment
|
||||
url: '#mongo-save-environment'
|
||||
- depth: 2
|
||||
title: Mongo update
|
||||
url: '#mongo-update'
|
||||
- depth: 2
|
||||
title: Mongo move
|
||||
url: '#mongo-move'
|
||||
- depth: 2
|
||||
title: Mongo rebuild
|
||||
url: '#mongo-rebuild'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Mongo create
|
||||
id: mongo-create
|
||||
- content: Mongo one
|
||||
id: mongo-one
|
||||
- content: Mongo start
|
||||
id: mongo-start
|
||||
- content: Mongo stop
|
||||
id: mongo-stop
|
||||
- content: Mongo save External Port
|
||||
id: mongo-save-external-port
|
||||
- content: Mongo deploy
|
||||
id: mongo-deploy
|
||||
- content: Mongo change Status
|
||||
id: mongo-change-status
|
||||
- content: Mongo reload
|
||||
id: mongo-reload
|
||||
- content: Mongo remove
|
||||
id: mongo-remove
|
||||
- content: Mongo save Environment
|
||||
id: mongo-save-environment
|
||||
- content: Mongo update
|
||||
id: mongo-update
|
||||
- content: Mongo move
|
||||
id: mongo-move
|
||||
- content: Mongo rebuild
|
||||
id: mongo-rebuild
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/mongo.create","method":"post"},{"path":"/mongo.one","method":"get"},{"path":"/mongo.start","method":"post"},{"path":"/mongo.stop","method":"post"},{"path":"/mongo.saveExternalPort","method":"post"},{"path":"/mongo.deploy","method":"post"},{"path":"/mongo.changeStatus","method":"post"},{"path":"/mongo.reload","method":"post"},{"path":"/mongo.remove","method":"post"},{"path":"/mongo.saveEnvironment","method":"post"},{"path":"/mongo.update","method":"post"},{"path":"/mongo.move","method":"post"},{"path":"/mongo.rebuild","method":"post"}]} showTitle={true} />
|
||||
38
apps/docs/content/docs/api/mounts.mdx
Normal file
38
apps/docs/content/docs/api/mounts.mdx
Normal file
@@ -0,0 +1,38 @@
|
||||
---
|
||||
title: Mounts
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Mounts create
|
||||
url: '#mounts-create'
|
||||
- depth: 2
|
||||
title: Mounts remove
|
||||
url: '#mounts-remove'
|
||||
- depth: 2
|
||||
title: Mounts one
|
||||
url: '#mounts-one'
|
||||
- depth: 2
|
||||
title: Mounts update
|
||||
url: '#mounts-update'
|
||||
- depth: 2
|
||||
title: Mounts all Named By Application Id
|
||||
url: '#mounts-all-named-by-application-id'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Mounts create
|
||||
id: mounts-create
|
||||
- content: Mounts remove
|
||||
id: mounts-remove
|
||||
- content: Mounts one
|
||||
id: mounts-one
|
||||
- content: Mounts update
|
||||
id: mounts-update
|
||||
- content: Mounts all Named By Application Id
|
||||
id: mounts-all-named-by-application-id
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/mounts.create","method":"post"},{"path":"/mounts.remove","method":"post"},{"path":"/mounts.one","method":"get"},{"path":"/mounts.update","method":"post"},{"path":"/mounts.allNamedByApplicationId","method":"get"}]} showTitle={true} />
|
||||
78
apps/docs/content/docs/api/mysql.mdx
Normal file
78
apps/docs/content/docs/api/mysql.mdx
Normal file
@@ -0,0 +1,78 @@
|
||||
---
|
||||
title: Mysql
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Mysql create
|
||||
url: '#mysql-create'
|
||||
- depth: 2
|
||||
title: Mysql one
|
||||
url: '#mysql-one'
|
||||
- depth: 2
|
||||
title: Mysql start
|
||||
url: '#mysql-start'
|
||||
- depth: 2
|
||||
title: Mysql stop
|
||||
url: '#mysql-stop'
|
||||
- depth: 2
|
||||
title: Mysql save External Port
|
||||
url: '#mysql-save-external-port'
|
||||
- depth: 2
|
||||
title: Mysql deploy
|
||||
url: '#mysql-deploy'
|
||||
- depth: 2
|
||||
title: Mysql change Status
|
||||
url: '#mysql-change-status'
|
||||
- depth: 2
|
||||
title: Mysql reload
|
||||
url: '#mysql-reload'
|
||||
- depth: 2
|
||||
title: Mysql remove
|
||||
url: '#mysql-remove'
|
||||
- depth: 2
|
||||
title: Mysql save Environment
|
||||
url: '#mysql-save-environment'
|
||||
- depth: 2
|
||||
title: Mysql update
|
||||
url: '#mysql-update'
|
||||
- depth: 2
|
||||
title: Mysql move
|
||||
url: '#mysql-move'
|
||||
- depth: 2
|
||||
title: Mysql rebuild
|
||||
url: '#mysql-rebuild'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Mysql create
|
||||
id: mysql-create
|
||||
- content: Mysql one
|
||||
id: mysql-one
|
||||
- content: Mysql start
|
||||
id: mysql-start
|
||||
- content: Mysql stop
|
||||
id: mysql-stop
|
||||
- content: Mysql save External Port
|
||||
id: mysql-save-external-port
|
||||
- content: Mysql deploy
|
||||
id: mysql-deploy
|
||||
- content: Mysql change Status
|
||||
id: mysql-change-status
|
||||
- content: Mysql reload
|
||||
id: mysql-reload
|
||||
- content: Mysql remove
|
||||
id: mysql-remove
|
||||
- content: Mysql save Environment
|
||||
id: mysql-save-environment
|
||||
- content: Mysql update
|
||||
id: mysql-update
|
||||
- content: Mysql move
|
||||
id: mysql-move
|
||||
- content: Mysql rebuild
|
||||
id: mysql-rebuild
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/mysql.create","method":"post"},{"path":"/mysql.one","method":"get"},{"path":"/mysql.start","method":"post"},{"path":"/mysql.stop","method":"post"},{"path":"/mysql.saveExternalPort","method":"post"},{"path":"/mysql.deploy","method":"post"},{"path":"/mysql.changeStatus","method":"post"},{"path":"/mysql.reload","method":"post"},{"path":"/mysql.remove","method":"post"},{"path":"/mysql.saveEnvironment","method":"post"},{"path":"/mysql.update","method":"post"},{"path":"/mysql.move","method":"post"},{"path":"/mysql.rebuild","method":"post"}]} showTitle={true} />
|
||||
58
apps/docs/content/docs/api/organization.mdx
Normal file
58
apps/docs/content/docs/api/organization.mdx
Normal file
@@ -0,0 +1,58 @@
|
||||
---
|
||||
title: Organization
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Organization create
|
||||
url: '#organization-create'
|
||||
- depth: 2
|
||||
title: Organization all
|
||||
url: '#organization-all'
|
||||
- depth: 2
|
||||
title: Organization one
|
||||
url: '#organization-one'
|
||||
- depth: 2
|
||||
title: Organization update
|
||||
url: '#organization-update'
|
||||
- depth: 2
|
||||
title: Organization delete
|
||||
url: '#organization-delete'
|
||||
- depth: 2
|
||||
title: Organization all Invitations
|
||||
url: '#organization-all-invitations'
|
||||
- depth: 2
|
||||
title: Organization remove Invitation
|
||||
url: '#organization-remove-invitation'
|
||||
- depth: 2
|
||||
title: Organization update Member Role
|
||||
url: '#organization-update-member-role'
|
||||
- depth: 2
|
||||
title: Organization set Default
|
||||
url: '#organization-set-default'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Organization create
|
||||
id: organization-create
|
||||
- content: Organization all
|
||||
id: organization-all
|
||||
- content: Organization one
|
||||
id: organization-one
|
||||
- content: Organization update
|
||||
id: organization-update
|
||||
- content: Organization delete
|
||||
id: organization-delete
|
||||
- content: Organization all Invitations
|
||||
id: organization-all-invitations
|
||||
- content: Organization remove Invitation
|
||||
id: organization-remove-invitation
|
||||
- content: Organization update Member Role
|
||||
id: organization-update-member-role
|
||||
- content: Organization set Default
|
||||
id: organization-set-default
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/organization.create","method":"post"},{"path":"/organization.all","method":"get"},{"path":"/organization.one","method":"get"},{"path":"/organization.update","method":"post"},{"path":"/organization.delete","method":"post"},{"path":"/organization.allInvitations","method":"get"},{"path":"/organization.removeInvitation","method":"post"},{"path":"/organization.updateMemberRole","method":"post"},{"path":"/organization.setDefault","method":"post"}]} showTitle={true} />
|
||||
33
apps/docs/content/docs/api/port.mdx
Normal file
33
apps/docs/content/docs/api/port.mdx
Normal file
@@ -0,0 +1,33 @@
|
||||
---
|
||||
title: Port
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Port create
|
||||
url: '#port-create'
|
||||
- depth: 2
|
||||
title: Port one
|
||||
url: '#port-one'
|
||||
- depth: 2
|
||||
title: Port delete
|
||||
url: '#port-delete'
|
||||
- depth: 2
|
||||
title: Port update
|
||||
url: '#port-update'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Port create
|
||||
id: port-create
|
||||
- content: Port one
|
||||
id: port-one
|
||||
- content: Port delete
|
||||
id: port-delete
|
||||
- content: Port update
|
||||
id: port-update
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/port.create","method":"post"},{"path":"/port.one","method":"get"},{"path":"/port.delete","method":"post"},{"path":"/port.update","method":"post"}]} showTitle={true} />
|
||||
78
apps/docs/content/docs/api/postgres.mdx
Normal file
78
apps/docs/content/docs/api/postgres.mdx
Normal file
@@ -0,0 +1,78 @@
|
||||
---
|
||||
title: Postgres
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Postgres create
|
||||
url: '#postgres-create'
|
||||
- depth: 2
|
||||
title: Postgres one
|
||||
url: '#postgres-one'
|
||||
- depth: 2
|
||||
title: Postgres start
|
||||
url: '#postgres-start'
|
||||
- depth: 2
|
||||
title: Postgres stop
|
||||
url: '#postgres-stop'
|
||||
- depth: 2
|
||||
title: Postgres save External Port
|
||||
url: '#postgres-save-external-port'
|
||||
- depth: 2
|
||||
title: Postgres deploy
|
||||
url: '#postgres-deploy'
|
||||
- depth: 2
|
||||
title: Postgres change Status
|
||||
url: '#postgres-change-status'
|
||||
- depth: 2
|
||||
title: Postgres remove
|
||||
url: '#postgres-remove'
|
||||
- depth: 2
|
||||
title: Postgres save Environment
|
||||
url: '#postgres-save-environment'
|
||||
- depth: 2
|
||||
title: Postgres reload
|
||||
url: '#postgres-reload'
|
||||
- depth: 2
|
||||
title: Postgres update
|
||||
url: '#postgres-update'
|
||||
- depth: 2
|
||||
title: Postgres move
|
||||
url: '#postgres-move'
|
||||
- depth: 2
|
||||
title: Postgres rebuild
|
||||
url: '#postgres-rebuild'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Postgres create
|
||||
id: postgres-create
|
||||
- content: Postgres one
|
||||
id: postgres-one
|
||||
- content: Postgres start
|
||||
id: postgres-start
|
||||
- content: Postgres stop
|
||||
id: postgres-stop
|
||||
- content: Postgres save External Port
|
||||
id: postgres-save-external-port
|
||||
- content: Postgres deploy
|
||||
id: postgres-deploy
|
||||
- content: Postgres change Status
|
||||
id: postgres-change-status
|
||||
- content: Postgres remove
|
||||
id: postgres-remove
|
||||
- content: Postgres save Environment
|
||||
id: postgres-save-environment
|
||||
- content: Postgres reload
|
||||
id: postgres-reload
|
||||
- content: Postgres update
|
||||
id: postgres-update
|
||||
- content: Postgres move
|
||||
id: postgres-move
|
||||
- content: Postgres rebuild
|
||||
id: postgres-rebuild
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/postgres.create","method":"post"},{"path":"/postgres.one","method":"get"},{"path":"/postgres.start","method":"post"},{"path":"/postgres.stop","method":"post"},{"path":"/postgres.saveExternalPort","method":"post"},{"path":"/postgres.deploy","method":"post"},{"path":"/postgres.changeStatus","method":"post"},{"path":"/postgres.remove","method":"post"},{"path":"/postgres.saveEnvironment","method":"post"},{"path":"/postgres.reload","method":"post"},{"path":"/postgres.update","method":"post"},{"path":"/postgres.move","method":"post"},{"path":"/postgres.rebuild","method":"post"}]} showTitle={true} />
|
||||
43
apps/docs/content/docs/api/project.mdx
Normal file
43
apps/docs/content/docs/api/project.mdx
Normal file
@@ -0,0 +1,43 @@
|
||||
---
|
||||
title: Project
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Project create
|
||||
url: '#project-create'
|
||||
- depth: 2
|
||||
title: Project one
|
||||
url: '#project-one'
|
||||
- depth: 2
|
||||
title: Project all
|
||||
url: '#project-all'
|
||||
- depth: 2
|
||||
title: Project remove
|
||||
url: '#project-remove'
|
||||
- depth: 2
|
||||
title: Project update
|
||||
url: '#project-update'
|
||||
- depth: 2
|
||||
title: Project duplicate
|
||||
url: '#project-duplicate'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Project create
|
||||
id: project-create
|
||||
- content: Project one
|
||||
id: project-one
|
||||
- content: Project all
|
||||
id: project-all
|
||||
- content: Project remove
|
||||
id: project-remove
|
||||
- content: Project update
|
||||
id: project-update
|
||||
- content: Project duplicate
|
||||
id: project-duplicate
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/project.create","method":"post"},{"path":"/project.one","method":"get"},{"path":"/project.all","method":"get"},{"path":"/project.remove","method":"post"},{"path":"/project.update","method":"post"},{"path":"/project.duplicate","method":"post"}]} showTitle={true} />
|
||||
33
apps/docs/content/docs/api/redirects.mdx
Normal file
33
apps/docs/content/docs/api/redirects.mdx
Normal file
@@ -0,0 +1,33 @@
|
||||
---
|
||||
title: Redirects
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Redirects create
|
||||
url: '#redirects-create'
|
||||
- depth: 2
|
||||
title: Redirects one
|
||||
url: '#redirects-one'
|
||||
- depth: 2
|
||||
title: Redirects delete
|
||||
url: '#redirects-delete'
|
||||
- depth: 2
|
||||
title: Redirects update
|
||||
url: '#redirects-update'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Redirects create
|
||||
id: redirects-create
|
||||
- content: Redirects one
|
||||
id: redirects-one
|
||||
- content: Redirects delete
|
||||
id: redirects-delete
|
||||
- content: Redirects update
|
||||
id: redirects-update
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/redirects.create","method":"post"},{"path":"/redirects.one","method":"get"},{"path":"/redirects.delete","method":"post"},{"path":"/redirects.update","method":"post"}]} showTitle={true} />
|
||||
78
apps/docs/content/docs/api/redis.mdx
Normal file
78
apps/docs/content/docs/api/redis.mdx
Normal file
@@ -0,0 +1,78 @@
|
||||
---
|
||||
title: Redis
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Redis create
|
||||
url: '#redis-create'
|
||||
- depth: 2
|
||||
title: Redis one
|
||||
url: '#redis-one'
|
||||
- depth: 2
|
||||
title: Redis start
|
||||
url: '#redis-start'
|
||||
- depth: 2
|
||||
title: Redis reload
|
||||
url: '#redis-reload'
|
||||
- depth: 2
|
||||
title: Redis stop
|
||||
url: '#redis-stop'
|
||||
- depth: 2
|
||||
title: Redis save External Port
|
||||
url: '#redis-save-external-port'
|
||||
- depth: 2
|
||||
title: Redis deploy
|
||||
url: '#redis-deploy'
|
||||
- depth: 2
|
||||
title: Redis change Status
|
||||
url: '#redis-change-status'
|
||||
- depth: 2
|
||||
title: Redis remove
|
||||
url: '#redis-remove'
|
||||
- depth: 2
|
||||
title: Redis save Environment
|
||||
url: '#redis-save-environment'
|
||||
- depth: 2
|
||||
title: Redis update
|
||||
url: '#redis-update'
|
||||
- depth: 2
|
||||
title: Redis move
|
||||
url: '#redis-move'
|
||||
- depth: 2
|
||||
title: Redis rebuild
|
||||
url: '#redis-rebuild'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Redis create
|
||||
id: redis-create
|
||||
- content: Redis one
|
||||
id: redis-one
|
||||
- content: Redis start
|
||||
id: redis-start
|
||||
- content: Redis reload
|
||||
id: redis-reload
|
||||
- content: Redis stop
|
||||
id: redis-stop
|
||||
- content: Redis save External Port
|
||||
id: redis-save-external-port
|
||||
- content: Redis deploy
|
||||
id: redis-deploy
|
||||
- content: Redis change Status
|
||||
id: redis-change-status
|
||||
- content: Redis remove
|
||||
id: redis-remove
|
||||
- content: Redis save Environment
|
||||
id: redis-save-environment
|
||||
- content: Redis update
|
||||
id: redis-update
|
||||
- content: Redis move
|
||||
id: redis-move
|
||||
- content: Redis rebuild
|
||||
id: redis-rebuild
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/redis.create","method":"post"},{"path":"/redis.one","method":"get"},{"path":"/redis.start","method":"post"},{"path":"/redis.reload","method":"post"},{"path":"/redis.stop","method":"post"},{"path":"/redis.saveExternalPort","method":"post"},{"path":"/redis.deploy","method":"post"},{"path":"/redis.changeStatus","method":"post"},{"path":"/redis.remove","method":"post"},{"path":"/redis.saveEnvironment","method":"post"},{"path":"/redis.update","method":"post"},{"path":"/redis.move","method":"post"},{"path":"/redis.rebuild","method":"post"}]} showTitle={true} />
|
||||
43
apps/docs/content/docs/api/registry.mdx
Normal file
43
apps/docs/content/docs/api/registry.mdx
Normal file
@@ -0,0 +1,43 @@
|
||||
---
|
||||
title: Registry
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Registry create
|
||||
url: '#registry-create'
|
||||
- depth: 2
|
||||
title: Registry remove
|
||||
url: '#registry-remove'
|
||||
- depth: 2
|
||||
title: Registry update
|
||||
url: '#registry-update'
|
||||
- depth: 2
|
||||
title: Registry all
|
||||
url: '#registry-all'
|
||||
- depth: 2
|
||||
title: Registry one
|
||||
url: '#registry-one'
|
||||
- depth: 2
|
||||
title: Registry test Registry
|
||||
url: '#registry-test-registry'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Registry create
|
||||
id: registry-create
|
||||
- content: Registry remove
|
||||
id: registry-remove
|
||||
- content: Registry update
|
||||
id: registry-update
|
||||
- content: Registry all
|
||||
id: registry-all
|
||||
- content: Registry one
|
||||
id: registry-one
|
||||
- content: Registry test Registry
|
||||
id: registry-test-registry
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/registry.create","method":"post"},{"path":"/registry.remove","method":"post"},{"path":"/registry.update","method":"post"},{"path":"/registry.all","method":"get"},{"path":"/registry.one","method":"get"},{"path":"/registry.testRegistry","method":"post"}]} showTitle={true} />
|
||||
23
apps/docs/content/docs/api/rollback.mdx
Normal file
23
apps/docs/content/docs/api/rollback.mdx
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
title: Rollback
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Rollback delete
|
||||
url: '#rollback-delete'
|
||||
- depth: 2
|
||||
title: Rollback rollback
|
||||
url: '#rollback-rollback'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Rollback delete
|
||||
id: rollback-delete
|
||||
- content: Rollback rollback
|
||||
id: rollback-rollback
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/rollback.delete","method":"post"},{"path":"/rollback.rollback","method":"post"}]} showTitle={true} />
|
||||
43
apps/docs/content/docs/api/schedule.mdx
Normal file
43
apps/docs/content/docs/api/schedule.mdx
Normal file
@@ -0,0 +1,43 @@
|
||||
---
|
||||
title: Schedule
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Schedule create
|
||||
url: '#schedule-create'
|
||||
- depth: 2
|
||||
title: Schedule update
|
||||
url: '#schedule-update'
|
||||
- depth: 2
|
||||
title: Schedule delete
|
||||
url: '#schedule-delete'
|
||||
- depth: 2
|
||||
title: Schedule list
|
||||
url: '#schedule-list'
|
||||
- depth: 2
|
||||
title: Schedule one
|
||||
url: '#schedule-one'
|
||||
- depth: 2
|
||||
title: Schedule run Manually
|
||||
url: '#schedule-run-manually'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Schedule create
|
||||
id: schedule-create
|
||||
- content: Schedule update
|
||||
id: schedule-update
|
||||
- content: Schedule delete
|
||||
id: schedule-delete
|
||||
- content: Schedule list
|
||||
id: schedule-list
|
||||
- content: Schedule one
|
||||
id: schedule-one
|
||||
- content: Schedule run Manually
|
||||
id: schedule-run-manually
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/schedule.create","method":"post"},{"path":"/schedule.update","method":"post"},{"path":"/schedule.delete","method":"post"},{"path":"/schedule.list","method":"get"},{"path":"/schedule.one","method":"get"},{"path":"/schedule.runManually","method":"post"}]} showTitle={true} />
|
||||
33
apps/docs/content/docs/api/security.mdx
Normal file
33
apps/docs/content/docs/api/security.mdx
Normal file
@@ -0,0 +1,33 @@
|
||||
---
|
||||
title: Security
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Security create
|
||||
url: '#security-create'
|
||||
- depth: 2
|
||||
title: Security one
|
||||
url: '#security-one'
|
||||
- depth: 2
|
||||
title: Security delete
|
||||
url: '#security-delete'
|
||||
- depth: 2
|
||||
title: Security update
|
||||
url: '#security-update'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Security create
|
||||
id: security-create
|
||||
- content: Security one
|
||||
id: security-one
|
||||
- content: Security delete
|
||||
id: security-delete
|
||||
- content: Security update
|
||||
id: security-update
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/security.create","method":"post"},{"path":"/security.one","method":"get"},{"path":"/security.delete","method":"post"},{"path":"/security.update","method":"post"}]} showTitle={true} />
|
||||
93
apps/docs/content/docs/api/server.mdx
Normal file
93
apps/docs/content/docs/api/server.mdx
Normal file
@@ -0,0 +1,93 @@
|
||||
---
|
||||
title: Server
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Server create
|
||||
url: '#server-create'
|
||||
- depth: 2
|
||||
title: Server one
|
||||
url: '#server-one'
|
||||
- depth: 2
|
||||
title: Server get Default Command
|
||||
url: '#server-get-default-command'
|
||||
- depth: 2
|
||||
title: Server all
|
||||
url: '#server-all'
|
||||
- depth: 2
|
||||
title: Server count
|
||||
url: '#server-count'
|
||||
- depth: 2
|
||||
title: Server with S S H Key
|
||||
url: '#server-with-s-s-h-key'
|
||||
- depth: 2
|
||||
title: Server build Servers
|
||||
url: '#server-build-servers'
|
||||
- depth: 2
|
||||
title: Server setup
|
||||
url: '#server-setup'
|
||||
- depth: 2
|
||||
title: Server validate
|
||||
url: '#server-validate'
|
||||
- depth: 2
|
||||
title: Server security
|
||||
url: '#server-security'
|
||||
- depth: 2
|
||||
title: Server setup Monitoring
|
||||
url: '#server-setup-monitoring'
|
||||
- depth: 2
|
||||
title: Server remove
|
||||
url: '#server-remove'
|
||||
- depth: 2
|
||||
title: Server update
|
||||
url: '#server-update'
|
||||
- depth: 2
|
||||
title: Server public Ip
|
||||
url: '#server-public-ip'
|
||||
- depth: 2
|
||||
title: Server get Server Time
|
||||
url: '#server-get-server-time'
|
||||
- depth: 2
|
||||
title: Server get Server Metrics
|
||||
url: '#server-get-server-metrics'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Server create
|
||||
id: server-create
|
||||
- content: Server one
|
||||
id: server-one
|
||||
- content: Server get Default Command
|
||||
id: server-get-default-command
|
||||
- content: Server all
|
||||
id: server-all
|
||||
- content: Server count
|
||||
id: server-count
|
||||
- content: Server with S S H Key
|
||||
id: server-with-s-s-h-key
|
||||
- content: Server build Servers
|
||||
id: server-build-servers
|
||||
- content: Server setup
|
||||
id: server-setup
|
||||
- content: Server validate
|
||||
id: server-validate
|
||||
- content: Server security
|
||||
id: server-security
|
||||
- content: Server setup Monitoring
|
||||
id: server-setup-monitoring
|
||||
- content: Server remove
|
||||
id: server-remove
|
||||
- content: Server update
|
||||
id: server-update
|
||||
- content: Server public Ip
|
||||
id: server-public-ip
|
||||
- content: Server get Server Time
|
||||
id: server-get-server-time
|
||||
- content: Server get Server Metrics
|
||||
id: server-get-server-metrics
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/server.create","method":"post"},{"path":"/server.one","method":"get"},{"path":"/server.getDefaultCommand","method":"get"},{"path":"/server.all","method":"get"},{"path":"/server.count","method":"get"},{"path":"/server.withSSHKey","method":"get"},{"path":"/server.buildServers","method":"get"},{"path":"/server.setup","method":"post"},{"path":"/server.validate","method":"get"},{"path":"/server.security","method":"get"},{"path":"/server.setupMonitoring","method":"post"},{"path":"/server.remove","method":"post"},{"path":"/server.update","method":"post"},{"path":"/server.publicIp","method":"get"},{"path":"/server.getServerTime","method":"get"},{"path":"/server.getServerMetrics","method":"get"}]} showTitle={true} />
|
||||
243
apps/docs/content/docs/api/settings.mdx
Normal file
243
apps/docs/content/docs/api/settings.mdx
Normal file
@@ -0,0 +1,243 @@
|
||||
---
|
||||
title: Settings
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Settings reload Server
|
||||
url: '#settings-reload-server'
|
||||
- depth: 2
|
||||
title: Settings clean Redis
|
||||
url: '#settings-clean-redis'
|
||||
- depth: 2
|
||||
title: Settings reload Redis
|
||||
url: '#settings-reload-redis'
|
||||
- depth: 2
|
||||
title: Settings reload Traefik
|
||||
url: '#settings-reload-traefik'
|
||||
- depth: 2
|
||||
title: Settings toggle Dashboard
|
||||
url: '#settings-toggle-dashboard'
|
||||
- depth: 2
|
||||
title: Settings clean Unused Images
|
||||
url: '#settings-clean-unused-images'
|
||||
- depth: 2
|
||||
title: Settings clean Unused Volumes
|
||||
url: '#settings-clean-unused-volumes'
|
||||
- depth: 2
|
||||
title: Settings clean Stopped Containers
|
||||
url: '#settings-clean-stopped-containers'
|
||||
- depth: 2
|
||||
title: Settings clean Docker Builder
|
||||
url: '#settings-clean-docker-builder'
|
||||
- depth: 2
|
||||
title: Settings clean Docker Prune
|
||||
url: '#settings-clean-docker-prune'
|
||||
- depth: 2
|
||||
title: Settings clean All
|
||||
url: '#settings-clean-all'
|
||||
- depth: 2
|
||||
title: Settings clean Monitoring
|
||||
url: '#settings-clean-monitoring'
|
||||
- depth: 2
|
||||
title: Settings save S S H Private Key
|
||||
url: '#settings-save-s-s-h-private-key'
|
||||
- depth: 2
|
||||
title: Settings assign Domain Server
|
||||
url: '#settings-assign-domain-server'
|
||||
- depth: 2
|
||||
title: Settings clean S S H Private Key
|
||||
url: '#settings-clean-s-s-h-private-key'
|
||||
- depth: 2
|
||||
title: Settings update Docker Cleanup
|
||||
url: '#settings-update-docker-cleanup'
|
||||
- depth: 2
|
||||
title: Settings read Traefik Config
|
||||
url: '#settings-read-traefik-config'
|
||||
- depth: 2
|
||||
title: Settings update Traefik Config
|
||||
url: '#settings-update-traefik-config'
|
||||
- depth: 2
|
||||
title: Settings read Web Server Traefik Config
|
||||
url: '#settings-read-web-server-traefik-config'
|
||||
- depth: 2
|
||||
title: Settings update Web Server Traefik Config
|
||||
url: '#settings-update-web-server-traefik-config'
|
||||
- depth: 2
|
||||
title: Settings read Middleware Traefik Config
|
||||
url: '#settings-read-middleware-traefik-config'
|
||||
- depth: 2
|
||||
title: Settings update Middleware Traefik Config
|
||||
url: '#settings-update-middleware-traefik-config'
|
||||
- depth: 2
|
||||
title: Settings get Update Data
|
||||
url: '#settings-get-update-data'
|
||||
- depth: 2
|
||||
title: Settings update Server
|
||||
url: '#settings-update-server'
|
||||
- depth: 2
|
||||
title: Settings get Dokploy Version
|
||||
url: '#settings-get-dokploy-version'
|
||||
- depth: 2
|
||||
title: Settings get Release Tag
|
||||
url: '#settings-get-release-tag'
|
||||
- depth: 2
|
||||
title: Settings read Directories
|
||||
url: '#settings-read-directories'
|
||||
- depth: 2
|
||||
title: Settings update Traefik File
|
||||
url: '#settings-update-traefik-file'
|
||||
- depth: 2
|
||||
title: Settings read Traefik File
|
||||
url: '#settings-read-traefik-file'
|
||||
- depth: 2
|
||||
title: Settings get Ip
|
||||
url: '#settings-get-ip'
|
||||
- depth: 2
|
||||
title: Settings get Open Api Document
|
||||
url: '#settings-get-open-api-document'
|
||||
- depth: 2
|
||||
title: Settings read Traefik Env
|
||||
url: '#settings-read-traefik-env'
|
||||
- depth: 2
|
||||
title: Settings write Traefik Env
|
||||
url: '#settings-write-traefik-env'
|
||||
- depth: 2
|
||||
title: Settings have Traefik Dashboard Port Enabled
|
||||
url: '#settings-have-traefik-dashboard-port-enabled'
|
||||
- depth: 2
|
||||
title: Settings have Activate Requests
|
||||
url: '#settings-have-activate-requests'
|
||||
- depth: 2
|
||||
title: Settings toggle Requests
|
||||
url: '#settings-toggle-requests'
|
||||
- depth: 2
|
||||
title: Settings is Cloud
|
||||
url: '#settings-is-cloud'
|
||||
- depth: 2
|
||||
title: Settings is User Subscribed
|
||||
url: '#settings-is-user-subscribed'
|
||||
- depth: 2
|
||||
title: Settings health
|
||||
url: '#settings-health'
|
||||
- depth: 2
|
||||
title: Settings setup G P U
|
||||
url: '#settings-setup-g-p-u'
|
||||
- depth: 2
|
||||
title: Settings check G P U Status
|
||||
url: '#settings-check-g-p-u-status'
|
||||
- depth: 2
|
||||
title: Settings update Traefik Ports
|
||||
url: '#settings-update-traefik-ports'
|
||||
- depth: 2
|
||||
title: Settings get Traefik Ports
|
||||
url: '#settings-get-traefik-ports'
|
||||
- depth: 2
|
||||
title: Settings update Log Cleanup
|
||||
url: '#settings-update-log-cleanup'
|
||||
- depth: 2
|
||||
title: Settings get Log Cleanup Status
|
||||
url: '#settings-get-log-cleanup-status'
|
||||
- depth: 2
|
||||
title: Settings get Dokploy Cloud Ips
|
||||
url: '#settings-get-dokploy-cloud-ips'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Settings reload Server
|
||||
id: settings-reload-server
|
||||
- content: Settings clean Redis
|
||||
id: settings-clean-redis
|
||||
- content: Settings reload Redis
|
||||
id: settings-reload-redis
|
||||
- content: Settings reload Traefik
|
||||
id: settings-reload-traefik
|
||||
- content: Settings toggle Dashboard
|
||||
id: settings-toggle-dashboard
|
||||
- content: Settings clean Unused Images
|
||||
id: settings-clean-unused-images
|
||||
- content: Settings clean Unused Volumes
|
||||
id: settings-clean-unused-volumes
|
||||
- content: Settings clean Stopped Containers
|
||||
id: settings-clean-stopped-containers
|
||||
- content: Settings clean Docker Builder
|
||||
id: settings-clean-docker-builder
|
||||
- content: Settings clean Docker Prune
|
||||
id: settings-clean-docker-prune
|
||||
- content: Settings clean All
|
||||
id: settings-clean-all
|
||||
- content: Settings clean Monitoring
|
||||
id: settings-clean-monitoring
|
||||
- content: Settings save S S H Private Key
|
||||
id: settings-save-s-s-h-private-key
|
||||
- content: Settings assign Domain Server
|
||||
id: settings-assign-domain-server
|
||||
- content: Settings clean S S H Private Key
|
||||
id: settings-clean-s-s-h-private-key
|
||||
- content: Settings update Docker Cleanup
|
||||
id: settings-update-docker-cleanup
|
||||
- content: Settings read Traefik Config
|
||||
id: settings-read-traefik-config
|
||||
- content: Settings update Traefik Config
|
||||
id: settings-update-traefik-config
|
||||
- content: Settings read Web Server Traefik Config
|
||||
id: settings-read-web-server-traefik-config
|
||||
- content: Settings update Web Server Traefik Config
|
||||
id: settings-update-web-server-traefik-config
|
||||
- content: Settings read Middleware Traefik Config
|
||||
id: settings-read-middleware-traefik-config
|
||||
- content: Settings update Middleware Traefik Config
|
||||
id: settings-update-middleware-traefik-config
|
||||
- content: Settings get Update Data
|
||||
id: settings-get-update-data
|
||||
- content: Settings update Server
|
||||
id: settings-update-server
|
||||
- content: Settings get Dokploy Version
|
||||
id: settings-get-dokploy-version
|
||||
- content: Settings get Release Tag
|
||||
id: settings-get-release-tag
|
||||
- content: Settings read Directories
|
||||
id: settings-read-directories
|
||||
- content: Settings update Traefik File
|
||||
id: settings-update-traefik-file
|
||||
- content: Settings read Traefik File
|
||||
id: settings-read-traefik-file
|
||||
- content: Settings get Ip
|
||||
id: settings-get-ip
|
||||
- content: Settings get Open Api Document
|
||||
id: settings-get-open-api-document
|
||||
- content: Settings read Traefik Env
|
||||
id: settings-read-traefik-env
|
||||
- content: Settings write Traefik Env
|
||||
id: settings-write-traefik-env
|
||||
- content: Settings have Traefik Dashboard Port Enabled
|
||||
id: settings-have-traefik-dashboard-port-enabled
|
||||
- content: Settings have Activate Requests
|
||||
id: settings-have-activate-requests
|
||||
- content: Settings toggle Requests
|
||||
id: settings-toggle-requests
|
||||
- content: Settings is Cloud
|
||||
id: settings-is-cloud
|
||||
- content: Settings is User Subscribed
|
||||
id: settings-is-user-subscribed
|
||||
- content: Settings health
|
||||
id: settings-health
|
||||
- content: Settings setup G P U
|
||||
id: settings-setup-g-p-u
|
||||
- content: Settings check G P U Status
|
||||
id: settings-check-g-p-u-status
|
||||
- content: Settings update Traefik Ports
|
||||
id: settings-update-traefik-ports
|
||||
- content: Settings get Traefik Ports
|
||||
id: settings-get-traefik-ports
|
||||
- content: Settings update Log Cleanup
|
||||
id: settings-update-log-cleanup
|
||||
- content: Settings get Log Cleanup Status
|
||||
id: settings-get-log-cleanup-status
|
||||
- content: Settings get Dokploy Cloud Ips
|
||||
id: settings-get-dokploy-cloud-ips
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/settings.reloadServer","method":"post"},{"path":"/settings.cleanRedis","method":"post"},{"path":"/settings.reloadRedis","method":"post"},{"path":"/settings.reloadTraefik","method":"post"},{"path":"/settings.toggleDashboard","method":"post"},{"path":"/settings.cleanUnusedImages","method":"post"},{"path":"/settings.cleanUnusedVolumes","method":"post"},{"path":"/settings.cleanStoppedContainers","method":"post"},{"path":"/settings.cleanDockerBuilder","method":"post"},{"path":"/settings.cleanDockerPrune","method":"post"},{"path":"/settings.cleanAll","method":"post"},{"path":"/settings.cleanMonitoring","method":"post"},{"path":"/settings.saveSSHPrivateKey","method":"post"},{"path":"/settings.assignDomainServer","method":"post"},{"path":"/settings.cleanSSHPrivateKey","method":"post"},{"path":"/settings.updateDockerCleanup","method":"post"},{"path":"/settings.readTraefikConfig","method":"get"},{"path":"/settings.updateTraefikConfig","method":"post"},{"path":"/settings.readWebServerTraefikConfig","method":"get"},{"path":"/settings.updateWebServerTraefikConfig","method":"post"},{"path":"/settings.readMiddlewareTraefikConfig","method":"get"},{"path":"/settings.updateMiddlewareTraefikConfig","method":"post"},{"path":"/settings.getUpdateData","method":"post"},{"path":"/settings.updateServer","method":"post"},{"path":"/settings.getDokployVersion","method":"get"},{"path":"/settings.getReleaseTag","method":"get"},{"path":"/settings.readDirectories","method":"get"},{"path":"/settings.updateTraefikFile","method":"post"},{"path":"/settings.readTraefikFile","method":"get"},{"path":"/settings.getIp","method":"get"},{"path":"/settings.getOpenApiDocument","method":"get"},{"path":"/settings.readTraefikEnv","method":"get"},{"path":"/settings.writeTraefikEnv","method":"post"},{"path":"/settings.haveTraefikDashboardPortEnabled","method":"get"},{"path":"/settings.haveActivateRequests","method":"get"},{"path":"/settings.toggleRequests","method":"post"},{"path":"/settings.isCloud","method":"get"},{"path":"/settings.isUserSubscribed","method":"get"},{"path":"/settings.health","method":"get"},{"path":"/settings.setupGPU","method":"post"},{"path":"/settings.checkGPUStatus","method":"get"},{"path":"/settings.updateTraefikPorts","method":"post"},{"path":"/settings.getTraefikPorts","method":"get"},{"path":"/settings.updateLogCleanup","method":"post"},{"path":"/settings.getLogCleanupStatus","method":"get"},{"path":"/settings.getDokployCloudIps","method":"get"}]} showTitle={true} />
|
||||
13
apps/docs/content/docs/api/sshrouter.mdx
Normal file
13
apps/docs/content/docs/api/sshrouter.mdx
Normal file
@@ -0,0 +1,13 @@
|
||||
---
|
||||
title: Ssh Router
|
||||
full: true
|
||||
_openapi:
|
||||
toc: []
|
||||
structuredData:
|
||||
headings: []
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[]} showTitle={true} />
|
||||
28
apps/docs/content/docs/api/swarm.mdx
Normal file
28
apps/docs/content/docs/api/swarm.mdx
Normal file
@@ -0,0 +1,28 @@
|
||||
---
|
||||
title: Swarm
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Swarm get Nodes
|
||||
url: '#swarm-get-nodes'
|
||||
- depth: 2
|
||||
title: Swarm get Node Info
|
||||
url: '#swarm-get-node-info'
|
||||
- depth: 2
|
||||
title: Swarm get Node Apps
|
||||
url: '#swarm-get-node-apps'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Swarm get Nodes
|
||||
id: swarm-get-nodes
|
||||
- content: Swarm get Node Info
|
||||
id: swarm-get-node-info
|
||||
- content: Swarm get Node Apps
|
||||
id: swarm-get-node-apps
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/swarm.getNodes","method":"get"},{"path":"/swarm.getNodeInfo","method":"get"},{"path":"/swarm.getNodeApps","method":"get"}]} showTitle={true} />
|
||||
103
apps/docs/content/docs/api/user.mdx
Normal file
103
apps/docs/content/docs/api/user.mdx
Normal file
@@ -0,0 +1,103 @@
|
||||
---
|
||||
title: User
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: User all
|
||||
url: '#user-all'
|
||||
- depth: 2
|
||||
title: User one
|
||||
url: '#user-one'
|
||||
- depth: 2
|
||||
title: User get
|
||||
url: '#user-get'
|
||||
- depth: 2
|
||||
title: User have Root Access
|
||||
url: '#user-have-root-access'
|
||||
- depth: 2
|
||||
title: User get Backups
|
||||
url: '#user-get-backups'
|
||||
- depth: 2
|
||||
title: User get Server Metrics
|
||||
url: '#user-get-server-metrics'
|
||||
- depth: 2
|
||||
title: User update
|
||||
url: '#user-update'
|
||||
- depth: 2
|
||||
title: User get User By Token
|
||||
url: '#user-get-user-by-token'
|
||||
- depth: 2
|
||||
title: User get Metrics Token
|
||||
url: '#user-get-metrics-token'
|
||||
- depth: 2
|
||||
title: User remove
|
||||
url: '#user-remove'
|
||||
- depth: 2
|
||||
title: User assign Permissions
|
||||
url: '#user-assign-permissions'
|
||||
- depth: 2
|
||||
title: User get Invitations
|
||||
url: '#user-get-invitations'
|
||||
- depth: 2
|
||||
title: User get Container Metrics
|
||||
url: '#user-get-container-metrics'
|
||||
- depth: 2
|
||||
title: User generate Token
|
||||
url: '#user-generate-token'
|
||||
- depth: 2
|
||||
title: User delete Api Key
|
||||
url: '#user-delete-api-key'
|
||||
- depth: 2
|
||||
title: User create Api Key
|
||||
url: '#user-create-api-key'
|
||||
- depth: 2
|
||||
title: User check User Organizations
|
||||
url: '#user-check-user-organizations'
|
||||
- depth: 2
|
||||
title: User send Invitation
|
||||
url: '#user-send-invitation'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: User all
|
||||
id: user-all
|
||||
- content: User one
|
||||
id: user-one
|
||||
- content: User get
|
||||
id: user-get
|
||||
- content: User have Root Access
|
||||
id: user-have-root-access
|
||||
- content: User get Backups
|
||||
id: user-get-backups
|
||||
- content: User get Server Metrics
|
||||
id: user-get-server-metrics
|
||||
- content: User update
|
||||
id: user-update
|
||||
- content: User get User By Token
|
||||
id: user-get-user-by-token
|
||||
- content: User get Metrics Token
|
||||
id: user-get-metrics-token
|
||||
- content: User remove
|
||||
id: user-remove
|
||||
- content: User assign Permissions
|
||||
id: user-assign-permissions
|
||||
- content: User get Invitations
|
||||
id: user-get-invitations
|
||||
- content: User get Container Metrics
|
||||
id: user-get-container-metrics
|
||||
- content: User generate Token
|
||||
id: user-generate-token
|
||||
- content: User delete Api Key
|
||||
id: user-delete-api-key
|
||||
- content: User create Api Key
|
||||
id: user-create-api-key
|
||||
- content: User check User Organizations
|
||||
id: user-check-user-organizations
|
||||
- content: User send Invitation
|
||||
id: user-send-invitation
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/user.all","method":"get"},{"path":"/user.one","method":"get"},{"path":"/user.get","method":"get"},{"path":"/user.haveRootAccess","method":"get"},{"path":"/user.getBackups","method":"get"},{"path":"/user.getServerMetrics","method":"get"},{"path":"/user.update","method":"post"},{"path":"/user.getUserByToken","method":"get"},{"path":"/user.getMetricsToken","method":"get"},{"path":"/user.remove","method":"post"},{"path":"/user.assignPermissions","method":"post"},{"path":"/user.getInvitations","method":"get"},{"path":"/user.getContainerMetrics","method":"get"},{"path":"/user.generateToken","method":"post"},{"path":"/user.deleteApiKey","method":"post"},{"path":"/user.createApiKey","method":"post"},{"path":"/user.checkUserOrganizations","method":"get"},{"path":"/user.sendInvitation","method":"post"}]} showTitle={true} />
|
||||
43
apps/docs/content/docs/api/volumebackups.mdx
Normal file
43
apps/docs/content/docs/api/volumebackups.mdx
Normal file
@@ -0,0 +1,43 @@
|
||||
---
|
||||
title: Volume Backups
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Volume Backups list
|
||||
url: '#volume-backups-list'
|
||||
- depth: 2
|
||||
title: Volume Backups create
|
||||
url: '#volume-backups-create'
|
||||
- depth: 2
|
||||
title: Volume Backups one
|
||||
url: '#volume-backups-one'
|
||||
- depth: 2
|
||||
title: Volume Backups delete
|
||||
url: '#volume-backups-delete'
|
||||
- depth: 2
|
||||
title: Volume Backups update
|
||||
url: '#volume-backups-update'
|
||||
- depth: 2
|
||||
title: Volume Backups run Manually
|
||||
url: '#volume-backups-run-manually'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Volume Backups list
|
||||
id: volume-backups-list
|
||||
- content: Volume Backups create
|
||||
id: volume-backups-create
|
||||
- content: Volume Backups one
|
||||
id: volume-backups-one
|
||||
- content: Volume Backups delete
|
||||
id: volume-backups-delete
|
||||
- content: Volume Backups update
|
||||
id: volume-backups-update
|
||||
- content: Volume Backups run Manually
|
||||
id: volume-backups-run-manually
|
||||
contents: []
|
||||
---
|
||||
|
||||
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||
|
||||
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/volumeBackups.list","method":"get"},{"path":"/volumeBackups.create","method":"post"},{"path":"/volumeBackups.one","method":"get"},{"path":"/volumeBackups.delete","method":"post"},{"path":"/volumeBackups.update","method":"post"},{"path":"/volumeBackups.runManually","method":"post"}]} showTitle={true} />
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"title": "CLI",
|
||||
"description": "CLI Documentation",
|
||||
"icon": "Building2",
|
||||
"description": "Command-line interface for managing Dokploy from your terminal",
|
||||
"icon": "SquareTerminal",
|
||||
"root": true,
|
||||
"pages": [
|
||||
"---Get Started---",
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user