mirror of
https://github.com/Dokploy/website.git
synced 2026-06-15 20:25:25 +02:00
feat: add new documentation and assets for the website
- Introduced new MDX components and configuration files for the documentation site. - Added various images and icons to enhance the visual representation of the documentation. - Updated package.json and pnpm-lock.yaml to include new dependencies for the documentation. - Created a .gitignore file for the new docs app to manage ignored files effectively. - Enhanced README with instructions for restarting the dev server after adding new MDX files.
This commit is contained in:
26
apps/docs-new/.gitignore
vendored
Normal file
26
apps/docs-new/.gitignore
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
# deps
|
||||
/node_modules
|
||||
|
||||
# generated content
|
||||
.source
|
||||
|
||||
# test & build
|
||||
/coverage
|
||||
/.next/
|
||||
/out/
|
||||
/build
|
||||
*.tsbuildinfo
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
*.pem
|
||||
/.pnp
|
||||
.pnp.js
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# others
|
||||
.env*.local
|
||||
.vercel
|
||||
next-env.d.ts
|
||||
121
apps/docs-new/README.md
Normal file
121
apps/docs-new/README.md
Normal file
@@ -0,0 +1,121 @@
|
||||
# Dokploy Documentation (New)
|
||||
|
||||
This is a fresh Fumadocs project with the complete Dokploy documentation migrated from the old docs project.
|
||||
|
||||
## 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
|
||||
# From workspace root
|
||||
pnpm docs-new:dev
|
||||
|
||||
# Or from this directory
|
||||
pnpm dev
|
||||
```
|
||||
|
||||
The site will be available at `http://localhost:3000`
|
||||
|
||||
### Build
|
||||
|
||||
Build the documentation for production:
|
||||
|
||||
```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
|
||||
6
apps/docs-new/app/(home)/layout.tsx
Normal file
6
apps/docs-new/app/(home)/layout.tsx
Normal file
@@ -0,0 +1,6 @@
|
||||
import { HomeLayout } from 'fumadocs-ui/layouts/home';
|
||||
import { baseOptions } from '@/lib/layout.shared';
|
||||
|
||||
export default function Layout({ children }: LayoutProps<'/'>) {
|
||||
return <HomeLayout {...baseOptions()}>{children}</HomeLayout>;
|
||||
}
|
||||
27
apps/docs-new/app/(home)/page.tsx
Normal file
27
apps/docs-new/app/(home)/page.tsx
Normal file
@@ -0,0 +1,27 @@
|
||||
import Link from 'next/link';
|
||||
|
||||
export default function HomePage() {
|
||||
return (
|
||||
<div className="flex flex-col justify-center text-center flex-1 px-4">
|
||||
<h1 className="text-4xl font-bold mb-4">Dokploy Documentation</h1>
|
||||
<p className="text-lg text-fd-muted-foreground mb-8 max-w-2xl mx-auto">
|
||||
Open Source Alternative to Vercel, Netlify and Heroku. Deploy your applications with ease.
|
||||
</p>
|
||||
<div className="flex gap-4 justify-center">
|
||||
<Link
|
||||
href="/docs"
|
||||
className="px-6 py-3 bg-fd-primary text-fd-primary-foreground rounded-lg font-medium hover:opacity-90 transition-opacity"
|
||||
>
|
||||
Get Started
|
||||
</Link>
|
||||
<Link
|
||||
href="https://github.com/Dokploy/dokploy"
|
||||
className="px-6 py-3 border border-fd-border rounded-lg font-medium hover:bg-fd-accent transition-colors"
|
||||
target="_blank"
|
||||
>
|
||||
View on GitHub
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
7
apps/docs-new/app/api/search/route.ts
Normal file
7
apps/docs-new/app/api/search/route.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
import { source } from '@/lib/source';
|
||||
import { createFromSource } from 'fumadocs-core/search/server';
|
||||
|
||||
export const { GET } = createFromSource(source, {
|
||||
// https://docs.orama.com/docs/orama-js/supported-languages
|
||||
language: 'english',
|
||||
});
|
||||
54
apps/docs-new/app/docs/[[...slug]]/page.tsx
Normal file
54
apps/docs-new/app/docs/[[...slug]]/page.tsx
Normal file
@@ -0,0 +1,54 @@
|
||||
import { getPageImage, source } from '@/lib/source';
|
||||
import {
|
||||
DocsBody,
|
||||
DocsDescription,
|
||||
DocsPage,
|
||||
DocsTitle,
|
||||
} from 'fumadocs-ui/layouts/docs/page';
|
||||
import { notFound } from 'next/navigation';
|
||||
import { getMDXComponents } from '@/mdx-components';
|
||||
import type { Metadata } from 'next';
|
||||
import { createRelativeLink } from 'fumadocs-ui/mdx';
|
||||
|
||||
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;
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
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,
|
||||
openGraph: {
|
||||
images: getPageImage(page).url,
|
||||
},
|
||||
};
|
||||
}
|
||||
11
apps/docs-new/app/docs/layout.tsx
Normal file
11
apps/docs-new/app/docs/layout.tsx
Normal file
@@ -0,0 +1,11 @@
|
||||
import { source } from '@/lib/source';
|
||||
import { DocsLayout } from 'fumadocs-ui/layouts/docs';
|
||||
import { baseOptions } from '@/lib/layout.shared';
|
||||
|
||||
export default function Layout({ children }: LayoutProps<'/docs'>) {
|
||||
return (
|
||||
<DocsLayout tree={source.pageTree} {...baseOptions()}>
|
||||
{children}
|
||||
</DocsLayout>
|
||||
);
|
||||
}
|
||||
BIN
apps/docs-new/app/favicon-16x16.png
Normal file
BIN
apps/docs-new/app/favicon-16x16.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 730 B |
BIN
apps/docs-new/app/favicon-32x32.png
Normal file
BIN
apps/docs-new/app/favicon-32x32.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
BIN
apps/docs-new/app/favicon.ico
Normal file
BIN
apps/docs-new/app/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
3
apps/docs-new/app/global.css
Normal file
3
apps/docs-new/app/global.css
Normal file
@@ -0,0 +1,3 @@
|
||||
@import 'tailwindcss';
|
||||
@import 'fumadocs-ui/css/ocean.css';
|
||||
@import 'fumadocs-ui/css/preset.css';
|
||||
33
apps/docs-new/app/layout.tsx
Normal file
33
apps/docs-new/app/layout.tsx
Normal file
@@ -0,0 +1,33 @@
|
||||
import { RootProvider } from 'fumadocs-ui/provider/next';
|
||||
import './global.css';
|
||||
import { Inter } from 'next/font/google';
|
||||
import type { Metadata } from 'next';
|
||||
|
||||
const inter = Inter({
|
||||
subsets: ['latin'],
|
||||
});
|
||||
|
||||
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">
|
||||
<RootProvider>{children}</RootProvider>
|
||||
</body>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
10
apps/docs-new/app/llms-full.txt/route.ts
Normal file
10
apps/docs-new/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-new/app/og/docs/[...slug]/route.tsx
Normal file
34
apps/docs-new/app/og/docs/[...slug]/route.tsx
Normal file
@@ -0,0 +1,34 @@
|
||||
import { getPageImage, source } from '@/lib/source';
|
||||
import { notFound } from 'next/navigation';
|
||||
import { ImageResponse } from 'next/og';
|
||||
import { generate as DefaultImage } from 'fumadocs-ui/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,
|
||||
}));
|
||||
}
|
||||
16
apps/docs-new/content/docs/api/generated/reference-admin.mdx
Normal file
16
apps/docs-new/content/docs/api/generated/reference-admin.mdx
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
title: Admin
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Admin setup Monitoring
|
||||
url: '#admin-setup-monitoring'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Admin setup Monitoring
|
||||
id: admin-setup-monitoring
|
||||
contents: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"post","path":"/admin.setupMonitoring"}]} hasHead={true} />
|
||||
56
apps/docs-new/content/docs/api/generated/reference-ai.mdx
Normal file
56
apps/docs-new/content/docs/api/generated/reference-ai.mdx
Normal file
@@ -0,0 +1,56 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"get","path":"/ai.one"},{"method":"get","path":"/ai.getModels"},{"method":"post","path":"/ai.create"},{"method":"post","path":"/ai.update"},{"method":"get","path":"/ai.getAll"},{"method":"get","path":"/ai.get"},{"method":"post","path":"/ai.delete"},{"method":"post","path":"/ai.suggest"},{"method":"post","path":"/ai.deploy"}]} hasHead={true} />
|
||||
@@ -0,0 +1,146 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"post","path":"/application.create"},{"method":"get","path":"/application.one"},{"method":"post","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":"get","path":"/application.readTraefikConfig"},{"method":"post","path":"/application.updateTraefikConfig"},{"method":"get","path":"/application.readAppMonitoring"},{"method":"post","path":"/application.move"},{"method":"post","path":"/application.cancelDeployment"}]} hasHead={true} />
|
||||
@@ -0,0 +1,66 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"post","path":"/backup.create"},{"method":"get","path":"/backup.one"},{"method":"post","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":"get","path":"/backup.listBackupFiles"}]} hasHead={true} />
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"post","path":"/bitbucket.create"},{"method":"get","path":"/bitbucket.one"},{"method":"get","path":"/bitbucket.bitbucketProviders"},{"method":"get","path":"/bitbucket.getBitbucketRepositories"},{"method":"get","path":"/bitbucket.getBitbucketBranches"},{"method":"post","path":"/bitbucket.testConnection"},{"method":"post","path":"/bitbucket.update"}]} hasHead={true} />
|
||||
@@ -0,0 +1,31 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"post","path":"/certificates.create"},{"method":"get","path":"/certificates.one"},{"method":"post","path":"/certificates.remove"},{"method":"get","path":"/certificates.all"}]} hasHead={true} />
|
||||
@@ -0,0 +1,31 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"get","path":"/cluster.getNodes"},{"method":"post","path":"/cluster.removeWorker"},{"method":"get","path":"/cluster.addWorker"},{"method":"get","path":"/cluster.addManager"}]} hasHead={true} />
|
||||
141
apps/docs-new/content/docs/api/generated/reference-compose.mdx
Normal file
141
apps/docs-new/content/docs/api/generated/reference-compose.mdx
Normal file
@@ -0,0 +1,141 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"post","path":"/compose.create"},{"method":"get","path":"/compose.one"},{"method":"post","path":"/compose.update"},{"method":"post","path":"/compose.delete"},{"method":"post","path":"/compose.cleanQueues"},{"method":"post","path":"/compose.killBuild"},{"method":"get","path":"/compose.loadServices"},{"method":"get","path":"/compose.loadMountsByService"},{"method":"post","path":"/compose.fetchSourceType"},{"method":"post","path":"/compose.randomizeCompose"},{"method":"post","path":"/compose.isolatedDeployment"},{"method":"get","path":"/compose.getConvertedCompose"},{"method":"post","path":"/compose.deploy"},{"method":"post","path":"/compose.redeploy"},{"method":"post","path":"/compose.stop"},{"method":"post","path":"/compose.start"},{"method":"get","path":"/compose.getDefaultCommand"},{"method":"post","path":"/compose.refreshToken"},{"method":"post","path":"/compose.deployTemplate"},{"method":"get","path":"/compose.templates"},{"method":"get","path":"/compose.getTags"},{"method":"post","path":"/compose.disconnectGitProvider"},{"method":"post","path":"/compose.move"},{"method":"post","path":"/compose.processTemplate"},{"method":"post","path":"/compose.import"},{"method":"post","path":"/compose.cancelDeployment"}]} hasHead={true} />
|
||||
@@ -0,0 +1,36 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"get","path":"/deployment.all"},{"method":"get","path":"/deployment.allByCompose"},{"method":"get","path":"/deployment.allByServer"},{"method":"get","path":"/deployment.allByType"},{"method":"post","path":"/deployment.killProcess"}]} hasHead={true} />
|
||||
@@ -0,0 +1,41 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"post","path":"/destination.create"},{"method":"post","path":"/destination.testConnection"},{"method":"get","path":"/destination.one"},{"method":"get","path":"/destination.all"},{"method":"post","path":"/destination.remove"},{"method":"post","path":"/destination.update"}]} hasHead={true} />
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"get","path":"/docker.getContainers"},{"method":"post","path":"/docker.restartContainer"},{"method":"get","path":"/docker.getConfig"},{"method":"get","path":"/docker.getContainersByAppNameMatch"},{"method":"get","path":"/docker.getContainersByAppLabel"},{"method":"get","path":"/docker.getStackContainersByAppName"},{"method":"get","path":"/docker.getServiceContainersByAppName"}]} hasHead={true} />
|
||||
@@ -0,0 +1,56 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"post","path":"/domain.create"},{"method":"get","path":"/domain.byApplicationId"},{"method":"get","path":"/domain.byComposeId"},{"method":"post","path":"/domain.generateDomain"},{"method":"get","path":"/domain.canGenerateTraefikMeDomains"},{"method":"post","path":"/domain.update"},{"method":"get","path":"/domain.one"},{"method":"post","path":"/domain.delete"},{"method":"post","path":"/domain.validateDomain"}]} hasHead={true} />
|
||||
@@ -0,0 +1,41 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"post","path":"/environment.create"},{"method":"get","path":"/environment.one"},{"method":"get","path":"/environment.byProjectId"},{"method":"post","path":"/environment.remove"},{"method":"post","path":"/environment.update"},{"method":"post","path":"/environment.duplicate"}]} hasHead={true} />
|
||||
@@ -0,0 +1,21 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"get","path":"/gitProvider.getAll"},{"method":"post","path":"/gitProvider.remove"}]} hasHead={true} />
|
||||
51
apps/docs-new/content/docs/api/generated/reference-gitea.mdx
Normal file
51
apps/docs-new/content/docs/api/generated/reference-gitea.mdx
Normal file
@@ -0,0 +1,51 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"post","path":"/gitea.create"},{"method":"get","path":"/gitea.one"},{"method":"get","path":"/gitea.giteaProviders"},{"method":"get","path":"/gitea.getGiteaRepositories"},{"method":"get","path":"/gitea.getGiteaBranches"},{"method":"post","path":"/gitea.testConnection"},{"method":"post","path":"/gitea.update"},{"method":"get","path":"/gitea.getGiteaUrl"}]} hasHead={true} />
|
||||
@@ -0,0 +1,41 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"get","path":"/github.one"},{"method":"get","path":"/github.getGithubRepositories"},{"method":"get","path":"/github.getGithubBranches"},{"method":"get","path":"/github.githubProviders"},{"method":"post","path":"/github.testConnection"},{"method":"post","path":"/github.update"}]} hasHead={true} />
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"post","path":"/gitlab.create"},{"method":"get","path":"/gitlab.one"},{"method":"get","path":"/gitlab.gitlabProviders"},{"method":"get","path":"/gitlab.getGitlabRepositories"},{"method":"get","path":"/gitlab.getGitlabBranches"},{"method":"post","path":"/gitlab.testConnection"},{"method":"post","path":"/gitlab.update"}]} hasHead={true} />
|
||||
@@ -0,0 +1,76 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"post","path":"/mariadb.create"},{"method":"get","path":"/mariadb.one"},{"method":"post","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"}]} hasHead={true} />
|
||||
76
apps/docs-new/content/docs/api/generated/reference-mongo.mdx
Normal file
76
apps/docs-new/content/docs/api/generated/reference-mongo.mdx
Normal file
@@ -0,0 +1,76 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"post","path":"/mongo.create"},{"method":"get","path":"/mongo.one"},{"method":"post","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"}]} hasHead={true} />
|
||||
@@ -0,0 +1,36 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"post","path":"/mounts.create"},{"method":"post","path":"/mounts.remove"},{"method":"get","path":"/mounts.one"},{"method":"post","path":"/mounts.update"},{"method":"get","path":"/mounts.allNamedByApplicationId"}]} hasHead={true} />
|
||||
76
apps/docs-new/content/docs/api/generated/reference-mysql.mdx
Normal file
76
apps/docs-new/content/docs/api/generated/reference-mysql.mdx
Normal file
@@ -0,0 +1,76 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"post","path":"/mysql.create"},{"method":"get","path":"/mysql.one"},{"method":"post","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"}]} hasHead={true} />
|
||||
@@ -0,0 +1,141 @@
|
||||
---
|
||||
title: Notification
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Notification create Slack
|
||||
url: '#notification-create-slack'
|
||||
- depth: 2
|
||||
title: Notification update Slack
|
||||
url: '#notification-update-slack'
|
||||
- depth: 2
|
||||
title: Notification test Slack Connection
|
||||
url: '#notification-test-slack-connection'
|
||||
- depth: 2
|
||||
title: Notification create Telegram
|
||||
url: '#notification-create-telegram'
|
||||
- depth: 2
|
||||
title: Notification update Telegram
|
||||
url: '#notification-update-telegram'
|
||||
- depth: 2
|
||||
title: Notification test Telegram Connection
|
||||
url: '#notification-test-telegram-connection'
|
||||
- depth: 2
|
||||
title: Notification create Discord
|
||||
url: '#notification-create-discord'
|
||||
- depth: 2
|
||||
title: Notification update Discord
|
||||
url: '#notification-update-discord'
|
||||
- depth: 2
|
||||
title: Notification test Discord Connection
|
||||
url: '#notification-test-discord-connection'
|
||||
- depth: 2
|
||||
title: Notification create Email
|
||||
url: '#notification-create-email'
|
||||
- depth: 2
|
||||
title: Notification update Email
|
||||
url: '#notification-update-email'
|
||||
- depth: 2
|
||||
title: Notification test Email Connection
|
||||
url: '#notification-test-email-connection'
|
||||
- depth: 2
|
||||
title: Notification remove
|
||||
url: '#notification-remove'
|
||||
- depth: 2
|
||||
title: Notification one
|
||||
url: '#notification-one'
|
||||
- depth: 2
|
||||
title: Notification all
|
||||
url: '#notification-all'
|
||||
- depth: 2
|
||||
title: Notification receive Notification
|
||||
url: '#notification-receive-notification'
|
||||
- depth: 2
|
||||
title: Notification create Gotify
|
||||
url: '#notification-create-gotify'
|
||||
- depth: 2
|
||||
title: Notification update Gotify
|
||||
url: '#notification-update-gotify'
|
||||
- depth: 2
|
||||
title: Notification test Gotify Connection
|
||||
url: '#notification-test-gotify-connection'
|
||||
- depth: 2
|
||||
title: Notification create Ntfy
|
||||
url: '#notification-create-ntfy'
|
||||
- depth: 2
|
||||
title: Notification update Ntfy
|
||||
url: '#notification-update-ntfy'
|
||||
- depth: 2
|
||||
title: Notification test Ntfy Connection
|
||||
url: '#notification-test-ntfy-connection'
|
||||
- depth: 2
|
||||
title: Notification create Lark
|
||||
url: '#notification-create-lark'
|
||||
- depth: 2
|
||||
title: Notification update Lark
|
||||
url: '#notification-update-lark'
|
||||
- depth: 2
|
||||
title: Notification test Lark Connection
|
||||
url: '#notification-test-lark-connection'
|
||||
- depth: 2
|
||||
title: Notification get Email Providers
|
||||
url: '#notification-get-email-providers'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Notification create Slack
|
||||
id: notification-create-slack
|
||||
- content: Notification update Slack
|
||||
id: notification-update-slack
|
||||
- content: Notification test Slack Connection
|
||||
id: notification-test-slack-connection
|
||||
- content: Notification create Telegram
|
||||
id: notification-create-telegram
|
||||
- content: Notification update Telegram
|
||||
id: notification-update-telegram
|
||||
- content: Notification test Telegram Connection
|
||||
id: notification-test-telegram-connection
|
||||
- content: Notification create Discord
|
||||
id: notification-create-discord
|
||||
- content: Notification update Discord
|
||||
id: notification-update-discord
|
||||
- content: Notification test Discord Connection
|
||||
id: notification-test-discord-connection
|
||||
- content: Notification create Email
|
||||
id: notification-create-email
|
||||
- content: Notification update Email
|
||||
id: notification-update-email
|
||||
- content: Notification test Email Connection
|
||||
id: notification-test-email-connection
|
||||
- content: Notification remove
|
||||
id: notification-remove
|
||||
- content: Notification one
|
||||
id: notification-one
|
||||
- content: Notification all
|
||||
id: notification-all
|
||||
- content: Notification receive Notification
|
||||
id: notification-receive-notification
|
||||
- content: Notification create Gotify
|
||||
id: notification-create-gotify
|
||||
- content: Notification update Gotify
|
||||
id: notification-update-gotify
|
||||
- content: Notification test Gotify Connection
|
||||
id: notification-test-gotify-connection
|
||||
- content: Notification create Ntfy
|
||||
id: notification-create-ntfy
|
||||
- content: Notification update Ntfy
|
||||
id: notification-update-ntfy
|
||||
- content: Notification test Ntfy Connection
|
||||
id: notification-test-ntfy-connection
|
||||
- content: Notification create Lark
|
||||
id: notification-create-lark
|
||||
- content: Notification update Lark
|
||||
id: notification-update-lark
|
||||
- content: Notification test Lark Connection
|
||||
id: notification-test-lark-connection
|
||||
- content: Notification get Email Providers
|
||||
id: notification-get-email-providers
|
||||
contents: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"post","path":"/notification.createSlack"},{"method":"post","path":"/notification.updateSlack"},{"method":"post","path":"/notification.testSlackConnection"},{"method":"post","path":"/notification.createTelegram"},{"method":"post","path":"/notification.updateTelegram"},{"method":"post","path":"/notification.testTelegramConnection"},{"method":"post","path":"/notification.createDiscord"},{"method":"post","path":"/notification.updateDiscord"},{"method":"post","path":"/notification.testDiscordConnection"},{"method":"post","path":"/notification.createEmail"},{"method":"post","path":"/notification.updateEmail"},{"method":"post","path":"/notification.testEmailConnection"},{"method":"post","path":"/notification.remove"},{"method":"get","path":"/notification.one"},{"method":"get","path":"/notification.all"},{"method":"post","path":"/notification.receiveNotification"},{"method":"post","path":"/notification.createGotify"},{"method":"post","path":"/notification.updateGotify"},{"method":"post","path":"/notification.testGotifyConnection"},{"method":"post","path":"/notification.createNtfy"},{"method":"post","path":"/notification.updateNtfy"},{"method":"post","path":"/notification.testNtfyConnection"},{"method":"post","path":"/notification.createLark"},{"method":"post","path":"/notification.updateLark"},{"method":"post","path":"/notification.testLarkConnection"},{"method":"get","path":"/notification.getEmailProviders"}]} hasHead={true} />
|
||||
@@ -0,0 +1,51 @@
|
||||
---
|
||||
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 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 set Default
|
||||
id: organization-set-default
|
||||
contents: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"post","path":"/organization.create"},{"method":"get","path":"/organization.all"},{"method":"get","path":"/organization.one"},{"method":"post","path":"/organization.update"},{"method":"post","path":"/organization.delete"},{"method":"get","path":"/organization.allInvitations"},{"method":"post","path":"/organization.removeInvitation"},{"method":"post","path":"/organization.setDefault"}]} hasHead={true} />
|
||||
31
apps/docs-new/content/docs/api/generated/reference-port.mdx
Normal file
31
apps/docs-new/content/docs/api/generated/reference-port.mdx
Normal file
@@ -0,0 +1,31 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"post","path":"/port.create"},{"method":"get","path":"/port.one"},{"method":"post","path":"/port.delete"},{"method":"post","path":"/port.update"}]} hasHead={true} />
|
||||
@@ -0,0 +1,76 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"post","path":"/postgres.create"},{"method":"get","path":"/postgres.one"},{"method":"post","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"}]} hasHead={true} />
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
title: Preview Deployment
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Preview Deployment all
|
||||
url: '#preview-deployment-all'
|
||||
- depth: 2
|
||||
title: Preview Deployment delete
|
||||
url: '#preview-deployment-delete'
|
||||
- depth: 2
|
||||
title: Preview Deployment one
|
||||
url: '#preview-deployment-one'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Preview Deployment all
|
||||
id: preview-deployment-all
|
||||
- content: Preview Deployment delete
|
||||
id: preview-deployment-delete
|
||||
- content: Preview Deployment one
|
||||
id: preview-deployment-one
|
||||
contents: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"get","path":"/previewDeployment.all"},{"method":"post","path":"/previewDeployment.delete"},{"method":"get","path":"/previewDeployment.one"}]} hasHead={true} />
|
||||
@@ -0,0 +1,41 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"post","path":"/project.create"},{"method":"get","path":"/project.one"},{"method":"get","path":"/project.all"},{"method":"post","path":"/project.remove"},{"method":"post","path":"/project.update"},{"method":"post","path":"/project.duplicate"}]} hasHead={true} />
|
||||
@@ -0,0 +1,31 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"post","path":"/redirects.create"},{"method":"get","path":"/redirects.one"},{"method":"post","path":"/redirects.delete"},{"method":"post","path":"/redirects.update"}]} hasHead={true} />
|
||||
76
apps/docs-new/content/docs/api/generated/reference-redis.mdx
Normal file
76
apps/docs-new/content/docs/api/generated/reference-redis.mdx
Normal file
@@ -0,0 +1,76 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"post","path":"/redis.create"},{"method":"get","path":"/redis.one"},{"method":"post","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"}]} hasHead={true} />
|
||||
@@ -0,0 +1,41 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"post","path":"/registry.create"},{"method":"post","path":"/registry.remove"},{"method":"post","path":"/registry.update"},{"method":"get","path":"/registry.all"},{"method":"get","path":"/registry.one"},{"method":"post","path":"/registry.testRegistry"}]} hasHead={true} />
|
||||
@@ -0,0 +1,21 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"post","path":"/rollback.delete"},{"method":"post","path":"/rollback.rollback"}]} hasHead={true} />
|
||||
@@ -0,0 +1,41 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"post","path":"/schedule.create"},{"method":"post","path":"/schedule.update"},{"method":"post","path":"/schedule.delete"},{"method":"get","path":"/schedule.list"},{"method":"get","path":"/schedule.one"},{"method":"post","path":"/schedule.runManually"}]} hasHead={true} />
|
||||
@@ -0,0 +1,31 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"post","path":"/security.create"},{"method":"get","path":"/security.one"},{"method":"post","path":"/security.delete"},{"method":"post","path":"/security.update"}]} hasHead={true} />
|
||||
@@ -0,0 +1,91 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"post","path":"/server.create"},{"method":"get","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":"post","path":"/server.setup"},{"method":"get","path":"/server.validate"},{"method":"get","path":"/server.security"},{"method":"post","path":"/server.setupMonitoring"},{"method":"post","path":"/server.remove"},{"method":"post","path":"/server.update"},{"method":"get","path":"/server.publicIp"},{"method":"get","path":"/server.getServerTime"},{"method":"get","path":"/server.getServerMetrics"}]} hasHead={true} />
|
||||
241
apps/docs-new/content/docs/api/generated/reference-settings.mdx
Normal file
241
apps/docs-new/content/docs/api/generated/reference-settings.mdx
Normal file
@@ -0,0 +1,241 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"post","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":"get","path":"/settings.readTraefikConfig"},{"method":"post","path":"/settings.updateTraefikConfig"},{"method":"get","path":"/settings.readWebServerTraefikConfig"},{"method":"post","path":"/settings.updateWebServerTraefikConfig"},{"method":"get","path":"/settings.readMiddlewareTraefikConfig"},{"method":"post","path":"/settings.updateMiddlewareTraefikConfig"},{"method":"post","path":"/settings.getUpdateData"},{"method":"post","path":"/settings.updateServer"},{"method":"get","path":"/settings.getDokployVersion"},{"method":"get","path":"/settings.getReleaseTag"},{"method":"get","path":"/settings.readDirectories"},{"method":"post","path":"/settings.updateTraefikFile"},{"method":"get","path":"/settings.readTraefikFile"},{"method":"get","path":"/settings.getIp"},{"method":"get","path":"/settings.getOpenApiDocument"},{"method":"get","path":"/settings.readTraefikEnv"},{"method":"post","path":"/settings.writeTraefikEnv"},{"method":"get","path":"/settings.haveTraefikDashboardPortEnabled"},{"method":"get","path":"/settings.haveActivateRequests"},{"method":"post","path":"/settings.toggleRequests"},{"method":"get","path":"/settings.isCloud"},{"method":"get","path":"/settings.isUserSubscribed"},{"method":"get","path":"/settings.health"},{"method":"post","path":"/settings.setupGPU"},{"method":"get","path":"/settings.checkGPUStatus"},{"method":"post","path":"/settings.updateTraefikPorts"},{"method":"get","path":"/settings.getTraefikPorts"},{"method":"post","path":"/settings.updateLogCleanup"},{"method":"get","path":"/settings.getLogCleanupStatus"},{"method":"get","path":"/settings.getDokployCloudIps"}]} hasHead={true} />
|
||||
@@ -0,0 +1,41 @@
|
||||
---
|
||||
title: Ssh Key
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Ssh Key create
|
||||
url: '#ssh-key-create'
|
||||
- depth: 2
|
||||
title: Ssh Key remove
|
||||
url: '#ssh-key-remove'
|
||||
- depth: 2
|
||||
title: Ssh Key one
|
||||
url: '#ssh-key-one'
|
||||
- depth: 2
|
||||
title: Ssh Key all
|
||||
url: '#ssh-key-all'
|
||||
- depth: 2
|
||||
title: Ssh Key generate
|
||||
url: '#ssh-key-generate'
|
||||
- depth: 2
|
||||
title: Ssh Key update
|
||||
url: '#ssh-key-update'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Ssh Key create
|
||||
id: ssh-key-create
|
||||
- content: Ssh Key remove
|
||||
id: ssh-key-remove
|
||||
- content: Ssh Key one
|
||||
id: ssh-key-one
|
||||
- content: Ssh Key all
|
||||
id: ssh-key-all
|
||||
- content: Ssh Key generate
|
||||
id: ssh-key-generate
|
||||
- content: Ssh Key update
|
||||
id: ssh-key-update
|
||||
contents: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"post","path":"/sshKey.create"},{"method":"post","path":"/sshKey.remove"},{"method":"get","path":"/sshKey.one"},{"method":"get","path":"/sshKey.all"},{"method":"post","path":"/sshKey.generate"},{"method":"post","path":"/sshKey.update"}]} hasHead={true} />
|
||||
@@ -0,0 +1,31 @@
|
||||
---
|
||||
title: Stripe
|
||||
full: true
|
||||
_openapi:
|
||||
toc:
|
||||
- depth: 2
|
||||
title: Stripe get Products
|
||||
url: '#stripe-get-products'
|
||||
- depth: 2
|
||||
title: Stripe create Checkout Session
|
||||
url: '#stripe-create-checkout-session'
|
||||
- depth: 2
|
||||
title: Stripe create Customer Portal Session
|
||||
url: '#stripe-create-customer-portal-session'
|
||||
- depth: 2
|
||||
title: Stripe can Create More Servers
|
||||
url: '#stripe-can-create-more-servers'
|
||||
structuredData:
|
||||
headings:
|
||||
- content: Stripe get Products
|
||||
id: stripe-get-products
|
||||
- content: Stripe create Checkout Session
|
||||
id: stripe-create-checkout-session
|
||||
- content: Stripe create Customer Portal Session
|
||||
id: stripe-create-customer-portal-session
|
||||
- content: Stripe can Create More Servers
|
||||
id: stripe-can-create-more-servers
|
||||
contents: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"get","path":"/stripe.getProducts"},{"method":"post","path":"/stripe.createCheckoutSession"},{"method":"post","path":"/stripe.createCustomerPortalSession"},{"method":"get","path":"/stripe.canCreateMoreServers"}]} hasHead={true} />
|
||||
26
apps/docs-new/content/docs/api/generated/reference-swarm.mdx
Normal file
26
apps/docs-new/content/docs/api/generated/reference-swarm.mdx
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"get","path":"/swarm.getNodes"},{"method":"get","path":"/swarm.getNodeInfo"},{"method":"get","path":"/swarm.getNodeApps"}]} hasHead={true} />
|
||||
101
apps/docs-new/content/docs/api/generated/reference-user.mdx
Normal file
101
apps/docs-new/content/docs/api/generated/reference-user.mdx
Normal file
@@ -0,0 +1,101 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"get","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":"post","path":"/user.update"},{"method":"get","path":"/user.getUserByToken"},{"method":"get","path":"/user.getMetricsToken"},{"method":"post","path":"/user.remove"},{"method":"post","path":"/user.assignPermissions"},{"method":"get","path":"/user.getInvitations"},{"method":"get","path":"/user.getContainerMetrics"},{"method":"post","path":"/user.generateToken"},{"method":"post","path":"/user.deleteApiKey"},{"method":"post","path":"/user.createApiKey"},{"method":"get","path":"/user.checkUserOrganizations"},{"method":"post","path":"/user.sendInvitation"}]} hasHead={true} />
|
||||
@@ -0,0 +1,41 @@
|
||||
---
|
||||
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: []
|
||||
---
|
||||
|
||||
<APIPage document={"./public/openapi.json"} operations={[{"method":"get","path":"/volumeBackups.list"},{"method":"post","path":"/volumeBackups.create"},{"method":"get","path":"/volumeBackups.one"},{"method":"post","path":"/volumeBackups.delete"},{"method":"post","path":"/volumeBackups.update"},{"method":"post","path":"/volumeBackups.runManually"}]} hasHead={true} />
|
||||
99
apps/docs-new/content/docs/api/index.mdx
Normal file
99
apps/docs-new/content/docs/api/index.mdx
Normal file
@@ -0,0 +1,99 @@
|
||||
---
|
||||
title: Dokploy API
|
||||
description: How to interact with the dokploy API for administrators and users
|
||||
---
|
||||
|
||||
In some cases, you may need to interact directly with the dokploy API. Here's how both administrators and users can do this.
|
||||
|
||||
## For Administrators
|
||||
|
||||
1. Access the Swagger UI by navigating to `your-vps-ip:3000/swagger`.
|
||||
2. Use the Swagger interface to interact with the API.
|
||||
3. By default, access to the Swagger UI is restricted, and only authenticated administrators can access the API.
|
||||
|
||||
## For Users
|
||||
|
||||
1. By default, users do not have direct access to the API.
|
||||
2. Administrators can grant users access to:
|
||||
- Generate access tokens
|
||||
- Access the Swagger UI
|
||||
3. If you need access, contact your administrator.
|
||||
|
||||
Note: The API provides advanced functionalities. Make sure you understand the operations you're performing to avoid unintended changes to the system.
|
||||
|
||||
## Usage
|
||||
|
||||
By default the OpenApi base url is `http://localhost:3000/api`, you need to replace with the ip of your dokploy instance or the domain name.
|
||||
|
||||
### Authentication
|
||||
|
||||
The API uses JWT tokens for authentication. You can generate a token by going to the `/settings/profile` page and go to API/CLI Section and generate the token.
|
||||
|
||||
Let's take a example of authenticated request:
|
||||
```bash
|
||||
curl -X 'GET' \
|
||||
'https://dokploy.com/api/project.all' \
|
||||
-H 'accept: application/json' \
|
||||
-H 'x-api-key: YOUR-GENERATED-API-KEY'
|
||||
```
|
||||
then you will get the something like this:
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"projectId": "klZKsyw5g-QT_jrWJ5T-w",
|
||||
"name": "Random",
|
||||
"description": "",
|
||||
"createdAt": "2024-06-19T15:05:58.785Z",
|
||||
"adminId": "_WrKZbs7iJAA3p4N2Yfyu",
|
||||
"applications": [],
|
||||
"mariadb": [],
|
||||
"mongo": [],
|
||||
"mysql": [
|
||||
{
|
||||
"mysqlId": "N3cudwO46TiDXzBm4SaQ1",
|
||||
"name": "mysql",
|
||||
"appName": "random-mysql-924715",
|
||||
"description": "",
|
||||
"databaseName": "mysql",
|
||||
"databaseUser": "mysql",
|
||||
"databasePassword": "h13BzO6y3KYSHaQg",
|
||||
"databaseRootPassword": "mM1b7JeoPA7jArxj",
|
||||
"dockerImage": "mysql:8",
|
||||
"command": null,
|
||||
"env": null,
|
||||
"memoryReservation": null,
|
||||
"memoryLimit": null,
|
||||
"cpuReservation": null,
|
||||
"cpuLimit": null,
|
||||
"externalPort": null,
|
||||
"applicationStatus": "done",
|
||||
"createdAt": "2024-06-24T01:55:40.378Z",
|
||||
"projectId": "klZKsyw5g-QT_jrWJ5T-w"
|
||||
}
|
||||
],
|
||||
"postgres": [],
|
||||
"redis": [
|
||||
{
|
||||
"redisId": "TtFK5S4QFaIjaNGOb8Ku-",
|
||||
"name": "redis",
|
||||
"appName": "random-redis-7eec62",
|
||||
"description": "",
|
||||
"databasePassword": "Yvb8gqClfomjcue8",
|
||||
"dockerImage": "redis:7",
|
||||
"command": null,
|
||||
"env": null,
|
||||
"memoryReservation": null,
|
||||
"memoryLimit": null,
|
||||
"cpuReservation": null,
|
||||
"cpuLimit": null,
|
||||
"externalPort": 6379,
|
||||
"createdAt": "2024-06-26T06:43:20.570Z",
|
||||
"applicationStatus": "done",
|
||||
"projectId": "klZKsyw5g-QT_jrWJ5T-w"
|
||||
}
|
||||
],
|
||||
"compose": []
|
||||
},
|
||||
]
|
||||
```
|
||||
7
apps/docs-new/content/docs/api/meta.json
Normal file
7
apps/docs-new/content/docs/api/meta.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"title": "API",
|
||||
"description": "API Documentation",
|
||||
"icon": "Building2",
|
||||
"root": true,
|
||||
"pages": ["---Get Started---", "index", "---API---", "...", "---Reference---"]
|
||||
}
|
||||
20
apps/docs-new/content/docs/cli/application.mdx
Normal file
20
apps/docs-new/content/docs/cli/application.mdx
Normal file
@@ -0,0 +1,20 @@
|
||||
---
|
||||
title: Application
|
||||
description: A guide to using the Dokploy CLI to manage applications
|
||||
---
|
||||
|
||||
|
||||
The Dokploy CLI can be used to create, deploy, and manage applications.
|
||||
|
||||
## Requirements
|
||||
|
||||
Is required to be already authenticated with the Dokploy CLI.
|
||||
|
||||
|
||||
## Commands
|
||||
|
||||
1. `dokploy app create` - Create a new application.
|
||||
2. `dokploy app delete` - Delete an application.
|
||||
3. `dokploy app deploy` - Deploy an application.
|
||||
4. `dokploy app stop` - Stop a running application.
|
||||
|
||||
29
apps/docs-new/content/docs/cli/authentication.mdx
Normal file
29
apps/docs-new/content/docs/cli/authentication.mdx
Normal file
@@ -0,0 +1,29 @@
|
||||
---
|
||||
title: Authentication
|
||||
description: A guide to authenticating with the Dokploy CLI
|
||||
---
|
||||
|
||||
The Dokploy CLI uses a token-based authentication system. To authenticate, you'll need to create an access token and store it securely.
|
||||
|
||||
## Creating an Access Token
|
||||
|
||||
To create an access token, first you need to have permissions if you are admin you don't need permissions.
|
||||
|
||||
by default access token never expires.
|
||||
|
||||
You can go to `dashboard/settings/profile` and click on the `Generate` button.
|
||||
|
||||
<ImageZoom src="/assets/cli/token.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
|
||||
|
||||
## Storing the Access Token
|
||||
|
||||
Dokploy when you create an access token automatically will generate a config.json with the access token and the server url.
|
||||
|
||||
|
||||
|
||||
## Commands
|
||||
|
||||
1. `dokploy authenticate` - Authenticate with the Dokploy CLI.
|
||||
2. `dokploy verify` - Verify if the access token is valid.
|
||||
|
||||
45
apps/docs-new/content/docs/cli/databases.mdx
Normal file
45
apps/docs-new/content/docs/cli/databases.mdx
Normal file
@@ -0,0 +1,45 @@
|
||||
---
|
||||
title: Databases
|
||||
description: A guide to using the Dokploy CLI to manage databases
|
||||
---
|
||||
|
||||
The Dokploy CLI can be used to create, deploy, and manage databases.
|
||||
|
||||
## Requirements
|
||||
|
||||
Is required to be already authenticated with the Dokploy CLI.
|
||||
|
||||
|
||||
## Commands
|
||||
|
||||
### MariaDB
|
||||
|
||||
1. `dokploy database mariadb create` - Create a new mariadb database.
|
||||
2. `dokploy database mariadb delete` - Delete an mariadb database.
|
||||
3. `dokploy database mariadb deploy` - Deploy a mariadb database.
|
||||
4. `dokploy database mariadb stop` - Stop a running mariadb database.
|
||||
|
||||
### PostgreSQL
|
||||
1. `dokploy database postgresql create` - Create a new postgresql database.
|
||||
2. `dokploy database postgresql delete` - Delete an postgresql database.
|
||||
3. `dokploy database postgresql deploy` - Deploy a postgresql database.
|
||||
4. `dokploy database postgresql stop` - Stop a running postgresql database.
|
||||
|
||||
### MySQL
|
||||
1. `dokploy database mysql create` - Create a new mysql database.
|
||||
2. `dokploy database mysql delete` - Delete an mysql database.
|
||||
3. `dokploy database mysql deploy` - Deploy a mysql database.
|
||||
4. `dokploy database mysql stop` - Stop a running mysql database.
|
||||
|
||||
### MongoDB
|
||||
1. `dokploy database mongodb create` - Create a new mongodb database.
|
||||
2. `dokploy database mongodb delete` - Delete an mongodb database.
|
||||
3. `dokploy database mongodb deploy` - Deploy a mongodb database.
|
||||
4. `dokploy database mongodb stop` - Stop a running mongodb database.
|
||||
|
||||
### Redis
|
||||
1. `dokploy database redis create` - Create a new redis database.
|
||||
2. `dokploy database redis delete` - Delete an redis database.
|
||||
3. `dokploy database redis deploy` - Deploy a redis database.
|
||||
4. `dokploy database redis stop` - Stop a running redis database.
|
||||
|
||||
18
apps/docs-new/content/docs/cli/enviroment.mdx
Normal file
18
apps/docs-new/content/docs/cli/enviroment.mdx
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
title: Enviroment
|
||||
description: A guide to using the Dokploy CLI to manage enviroment
|
||||
---
|
||||
|
||||
|
||||
The Dokploy CLI can be used to create, deploy, and manage enviroments.
|
||||
|
||||
## Requirements
|
||||
|
||||
Is required to be already authenticated with the Dokploy CLI.
|
||||
|
||||
|
||||
## Commands
|
||||
|
||||
1. `dokploy env pull <file>` - Pull environment variables from Dokploy in a file.
|
||||
2. `dokploy env push <file>` - Push environment variables to Dokploy from a file.
|
||||
|
||||
23
apps/docs-new/content/docs/cli/index.mdx
Normal file
23
apps/docs-new/content/docs/cli/index.mdx
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
title: Introduction
|
||||
description: A guide to using the Dokploy command-line interface
|
||||
---
|
||||
|
||||
Dokploy CLI is a command-line tool for remotely managing your Dokploy server. It simplifies creating, deploying, and managing applications and databases.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
npm install -g @dokploy/cli
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
```bash
|
||||
dokploy COMMAND
|
||||
```
|
||||
To get help on a specific command:
|
||||
|
||||
```bash
|
||||
dokploy COMMAND --help
|
||||
```
|
||||
13
apps/docs-new/content/docs/cli/meta.json
Normal file
13
apps/docs-new/content/docs/cli/meta.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"title": "CLI",
|
||||
"description": "CLI Documentation",
|
||||
"icon": "Building2",
|
||||
"root": true,
|
||||
"pages": [
|
||||
"---Get Started---",
|
||||
"index",
|
||||
"comparisons",
|
||||
"---Commands---",
|
||||
"..."
|
||||
]
|
||||
}
|
||||
18
apps/docs-new/content/docs/cli/project.mdx
Normal file
18
apps/docs-new/content/docs/cli/project.mdx
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
title: Project
|
||||
description: A guide to using the Dokploy CLI to manage projects
|
||||
---
|
||||
|
||||
|
||||
The Dokploy CLI can be used to create, deploy, and manage projects.
|
||||
|
||||
## Requirements
|
||||
|
||||
Is required to be already authenticated with the Dokploy CLI.
|
||||
|
||||
## Commands
|
||||
|
||||
1. `dokploy project create` - Create a new project.
|
||||
2. `dokploy project info` - Get information about a project.
|
||||
3. `dokploy project list` - List all projects.
|
||||
|
||||
115
apps/docs-new/content/docs/core/(Git-Sources)/Docker.mdx
Normal file
115
apps/docs-new/content/docs/core/(Git-Sources)/Docker.mdx
Normal file
@@ -0,0 +1,115 @@
|
||||
---
|
||||
title: Docker Registry
|
||||
description: 'Configure your Docker Registry repositories for deployments. This includes setting up access tokens, repository names, and authentication.'
|
||||
---
|
||||
|
||||
Dokploy provides seamless integration with Docker Registry repositories, allowing you to deploy applications directly from your container images. This feature is available for single applications and supports both public and private registries.
|
||||
|
||||
## Configuration Overview
|
||||
|
||||
To connect a Docker Registry to your application:
|
||||
|
||||
1. Navigate to your application's **General** tab
|
||||
2. Select **Docker** as the source
|
||||
3. Configure the following settings:
|
||||
|
||||
| Setting | Description |
|
||||
|---------|-------------|
|
||||
| **Docker Image** | Full name of the Docker image (e.g., `nginx:latest`, `myorg/myapp:v1.0`) |
|
||||
| **Docker Registry URL** | Registry URL (defaults to Docker Hub if not specified) |
|
||||
| **Docker Registry Username** | Username for registry authentication |
|
||||
| **Docker Registry Password** | Password or access token for authentication |
|
||||
|
||||
<Callout type="info">
|
||||
For private registries, authentication is required. For public images, you can leave the username and password fields empty.
|
||||
</Callout>
|
||||
|
||||
## Docker Hub Integration
|
||||
|
||||
Docker Hub is the default registry and supports both username/password and token-based authentication.
|
||||
|
||||
### Method 1: Username and Password
|
||||
|
||||
1. **Username**: Enter your Docker Hub username
|
||||
2. **Password**: Enter your Docker Hub password
|
||||
|
||||
### Method 2: Access Token (Recommended)
|
||||
|
||||
Using access tokens is more secure and allows fine-grained permissions:
|
||||
|
||||
1. **Create Access Token**:
|
||||
- Go to [Docker Hub Settings](https://hub.docker.com/settings/security) → **Personal Access Tokens**
|
||||
- Click **Generate New Token**
|
||||
- Set description: `Dokploy-Docker-Hub-Token`
|
||||
- Select **Read-only** permissions
|
||||
- Click **Generate**
|
||||
|
||||
2. **Configure in Dokploy**:
|
||||
- **Username**: Your Docker Hub username
|
||||
- **Password**: Paste the generated access token
|
||||
- **Registry URL**: Leave empty (defaults to Docker Hub)
|
||||
|
||||
3. **Deploy**: Click **Save** and then **Deploy** from the General tab
|
||||
|
||||
## GitHub Container Registry (GHCR)
|
||||
|
||||
GHCR allows you to store container images alongside your GitHub repositories.
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- Your Docker image must already be published to GHCR
|
||||
- You need a GitHub Personal Access Token with appropriate permissions
|
||||
|
||||
### Setup Process
|
||||
|
||||
1. **Create GitHub Personal Access Token**:
|
||||
- Go to [GitHub Settings](https://github.com/settings/tokens) → **Personal Access Tokens**
|
||||
- Click **Generate new token (classic)**
|
||||
- Set token name: `Dokploy-GHCR-Token`
|
||||
- Select the following scopes:
|
||||
- `repo` - Access to repositories
|
||||
- `workflow` - Access to GitHub Actions
|
||||
- `write:packages` - Upload packages
|
||||
- `delete:packages` - Delete packages
|
||||
- Click **Generate token**
|
||||
|
||||
2. **Configure in Dokploy**:
|
||||
- **Docker Image**: `ghcr.io/username/repository:tag`
|
||||
- **Registry URL**: `ghcr.io`
|
||||
- **Username**: Your GitHub username
|
||||
- **Password**: Paste the generated personal access token
|
||||
|
||||
3. **Deploy**: Click **Save** and then **Deploy** from the General tab
|
||||
|
||||
|
||||
### Public Images
|
||||
|
||||
For public images from any registry:
|
||||
|
||||
- **Docker Image**: Full image path (e.g., `quay.io/prometheus/prometheus:latest`)
|
||||
- **Registry URL**: Registry domain (if not Docker Hub)
|
||||
- **Username**: Leave empty
|
||||
- **Password**: Leave empty
|
||||
|
||||
## Best Practices
|
||||
|
||||
<Callout type="tip">
|
||||
**Security Recommendations:**
|
||||
- Use access tokens instead of passwords when possible
|
||||
- Grant minimal required permissions to tokens
|
||||
- Regularly rotate access tokens
|
||||
- Use private registries for sensitive applications
|
||||
</Callout>
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
Common issues and solutions:
|
||||
|
||||
- **Authentication Failed**: Verify your credentials and token permissions
|
||||
- **Image Not Found**: Check the image name and tag spelling
|
||||
- **Pull Rate Limits**: Consider using authenticated requests or private registries
|
||||
- **Registry Timeout**: Verify the registry URL is accessible from your Dokploy instance
|
||||
|
||||
|
||||
|
||||
|
||||
73
apps/docs-new/content/docs/core/(Git-Sources)/bitbucket.mdx
Normal file
73
apps/docs-new/content/docs/core/(Git-Sources)/bitbucket.mdx
Normal file
@@ -0,0 +1,73 @@
|
||||
---
|
||||
title: Bitbucket
|
||||
description: 'Configure your Bitbucket repositories for deployments. This includes setting up access tokens, repository names, and branches.'
|
||||
---
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout';
|
||||
|
||||
Dokploy offer a way to connect your Bitbucket Repository to your Dokploy panel, you can use Groups Names or personal accounts.
|
||||
|
||||
Go to `Git` and select `Bitbucket` as the source, then you can use the following options:
|
||||
|
||||
- **Bitbucket Username**: Set the username that you want to connect to Dokploy.
|
||||
- **App Password**: Set the app password you've created.
|
||||
- **Workspace(Optional)**: Assign a workspace name, this is useful if you want to connect to another workspace.
|
||||
|
||||
Follow the steps to connect your Bitbucket account to Dokploy.
|
||||
|
||||
1. Go to `https://bitbucket.org/account/settings/app-passwords/new` .
|
||||
2. Set Label: eg. `Dokploy-Bitbucket-App`. you can choose any name that you want.
|
||||
3. In permissions make sure to select `Account: Read`, `Workspace membership: Read`, `Projects: Read`
|
||||
, `Repositories: Read` `Pull requests: Read` and `Webhooks: Read and write`.
|
||||
4. Click on `Create`.
|
||||
5. Copy the `App Password` and paste it in Dokploy `Bitbucket` Modal section.
|
||||
6. Set your `Bitbucket Username`.
|
||||
7. (Optional) If you want to use Workspaces, go to `https://bitbucket.org/account/workspaces/`, eg. If you have
|
||||
`dokploy-workspace` copy and paste it in Workspace Name, please make sure to use the slugified name, if you use names like Dokploy Workspace in this field can cause issues.
|
||||
7. Click on `Configure Bitbucket`.
|
||||
8. If everything is correct, you can update enter to the Update Icon, and click on `Test Connection` to make sure everything is working.
|
||||
9. Now you can use the repositories from your Gitlab Account in `Applications` or `Docker Compose` services.
|
||||
|
||||
<Callout type='warn'>
|
||||
Dokploy doesn't support Bitbucket Automatic deployments on each push you make to your repository.
|
||||
</Callout>
|
||||
|
||||
|
||||
## Setup Automatic Deployments
|
||||
|
||||
You can configure automatic deployments in Dokploy for the Following Services:
|
||||
|
||||
1. **Applications**
|
||||
2. **Docker Compose**
|
||||
|
||||
The steps are the same for both services.
|
||||
|
||||
1. Go to either `Applications` or `Docker Compose` and go to `Deployments` Tab.
|
||||
2. Copy the `Webhook URL`.
|
||||
3. Go to your Bitbucket Account and select the repository.
|
||||
4. In the left menu, select `Repository Settings` and then `Webhooks`.
|
||||
5. Click on `Add Webhook`.
|
||||
6. Set any `Title` and the `URL` to the one you copied in the previous step.
|
||||
7. In the Trigger section, select `Push Events`.
|
||||
8. Click on `Add Webhook`.
|
||||
10. Now you have automatic deployments enabled for the selected repository.
|
||||
|
||||
|
||||
## Clarification on Automatic Deployments
|
||||
|
||||
By default, Dokploy will automatically deploy your application on the Branch you have selected.
|
||||
|
||||
eg. Let's suppose you have a `application` in this way:
|
||||
|
||||
Repository: `my-app`
|
||||
Branch: `feature`
|
||||
|
||||
If you try to make a push on another branch eg. `main`, Dokploy will not automatically deploy your application, because
|
||||
your application have selected `feature` as the Branch.
|
||||
|
||||
<Callout>
|
||||
In the case you want to have multiple applications in the same repository, eg. (development, staging, production), you can create 3 `Applications` in Dokploy
|
||||
and select the branch in each of them.
|
||||
|
||||
This is very usefull if you want to have multiple environments for the same application.
|
||||
</Callout>
|
||||
77
apps/docs-new/content/docs/core/(Git-Sources)/gitea.mdx
Normal file
77
apps/docs-new/content/docs/core/(Git-Sources)/gitea.mdx
Normal file
@@ -0,0 +1,77 @@
|
||||
---
|
||||
title: Gitea
|
||||
description: 'Configure Gitea repositories for deployments. This includes setting up access tokens, repository names, and branches.'
|
||||
---
|
||||
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout';
|
||||
|
||||
Dokploy offers a way to connect your Gitea Repository to your Dokploy panel, you can use Organizations or personal accounts.
|
||||
|
||||
|
||||
Go to `Git` and select `Gitea` as the source, then you can use the following options:
|
||||
|
||||
- **Application ID**: Select the application ID that you want to connect to Dokploy.
|
||||
- **Personal Secret**: Select the secret that you want to connect to Dokploy.
|
||||
- **Organization Name(Optional)**: Select the organization name that you want to connect to Dokploy (Ideal for Gitea Organizations).
|
||||
|
||||
Follow the steps to connect your Gitea account to Dokploy:
|
||||
|
||||
1. Go to your Gitea instance's settings (e.g., `https://gitea.com/user/settings/applications`) and scroll to the `Create a new OAuth2 Application`.
|
||||
2. Set Application Name: e.g., `Dokploy-Gitea-App`. Choose any name you want.
|
||||
3. Redirect URI: Copy the `Redirect URI` from Dokploy. e.g., `https://dokploy.com/api/providers/gitea/callback`.
|
||||
4. Check Confidential Client
|
||||
5. Click on `Create Application`.
|
||||
6. Copy the `Client ID` and `Client Secret` from Gitea and paste them in Dokploy's `Gitea` Modal section.
|
||||
7. Click on `Configure Gitea App`.
|
||||
8. That operation will save the Gitea Provider configuration and redirect you to Gitia to authorize Dokploy to have access.
|
||||
9. Click on `Authorize`.
|
||||
10. You will be redirected to the `Git` section of Dokploy.
|
||||
11. Now you can use the repositories from your Gitea Account in `Applications` or `Docker Compose` services.
|
||||
|
||||
<Callout type='warn'>
|
||||
Dokploy doesn't support Gitea Automatic deployments on each push you make to your repository.
|
||||
</Callout>
|
||||
|
||||
|
||||
## Setup Automatic Deployments
|
||||
|
||||
You can configure automatic deployments in Dokploy for the Following Services:
|
||||
|
||||
1. **Applications**
|
||||
2. **Docker Compose**
|
||||
|
||||
The steps are the same for both services.
|
||||
|
||||
1. Go to either `Applications` or `Docker Compose` and go to `Deployments` Tab.
|
||||
2. Copy the `Webhook URL`.
|
||||
3. Go to your Gitea Account and select the repository.
|
||||
4. In the left menu, select `Settings` and then `Webhooks`.
|
||||
5. Click on `Add Webhook`.
|
||||
6. Set the `URL` to the one you copied in the previous step.
|
||||
7. In the Trigger section, select `Push Events`.
|
||||
8. Click on `Add Webhook`.
|
||||
9. Click on `Save`.
|
||||
10. Now you have automatic deployments enabled for the selected repository.
|
||||
|
||||
|
||||
## Clarification on Automatic Deployments
|
||||
|
||||
By default, Dokploy will automatically deploy your application on the Branch you have selected.
|
||||
|
||||
e.g., Let's suppose you have an `application` in this way:
|
||||
|
||||
Repository: `my-app`
|
||||
Branch: `feature`
|
||||
|
||||
If you try to make a push on another branch e.g., `main`, Dokploy will not automatically deploy your application, because
|
||||
your application has selected `feature` as the Branch.
|
||||
|
||||
<Callout>
|
||||
In the case you want to have multiple applications in the same repository, e.g., (development, staging, production), you can create 3 `Applications` in Dokploy
|
||||
and select the branch in each of them.
|
||||
|
||||
This is very useful if you want to have multiple environments for the same application.
|
||||
</Callout>
|
||||
|
||||
<userStyle>Normal</userStyle>
|
||||
48
apps/docs-new/content/docs/core/(Git-Sources)/github.mdx
Normal file
48
apps/docs-new/content/docs/core/(Git-Sources)/github.mdx
Normal file
@@ -0,0 +1,48 @@
|
||||
---
|
||||
title: GitHub
|
||||
description: 'Configure GitHub repositories for deployments. This includes setting up access tokens, repository names, and branches.'
|
||||
---
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout';
|
||||
|
||||
Dokploy offer a way to connect your Github Repository to your Dokploy panel, you can use organizations or personal accounts.
|
||||
|
||||
Go to `Git` and select `Github` as the source, then you can use the following options:
|
||||
|
||||
- **Organization**: Select the organization that you want to connect to Dokploy.
|
||||
- **Personal Account(Default)**: Select the account that you want to connect to Dokploy.
|
||||
|
||||
Follow the steps to connect your Github account to Dokploy.
|
||||
|
||||
1. Click on `Create Github App` to create a new Github App.
|
||||
2. Set Github App Name: eg. `Dokploy-Github-App`. make sure this name is unique.
|
||||
3. Click on `Create Github App`, then you will redirect to the `Git` section of Dokploy.
|
||||
4. Now it will show a `Install` Button, click on it.
|
||||
5. You can select the repositories that you want to dokploy be able to access, you can choose
|
||||
select all repositories or select specific repositories.
|
||||
6. Click on `Install & Authorize` to install the Dokploy App.
|
||||
7. You will be redirected to the `Git` section of Dokploy.
|
||||
8. Now you can use the repositories from your Github Account in `Applications` or `Docker Compose` services.
|
||||
|
||||
<Callout>
|
||||
When you use this method, By default you will have Automatic deployments on each push you make to your repository.
|
||||
</Callout>
|
||||
|
||||
## Clarification on Automatic Deployments
|
||||
|
||||
By default, Dokploy will automatically deploy your application on the Branch you have selected.
|
||||
|
||||
eg. Let's suppose you have a `application` in this way:
|
||||
|
||||
Repository: `my-app`
|
||||
Branch: `feature`
|
||||
|
||||
If you try to make a push on another branch eg. `main`, Dokploy will not automatically deploy your application, because
|
||||
your application have selected `feature` as the Branch.
|
||||
|
||||
<Callout>
|
||||
In the case you want to have multiple applications in the same repository, eg. (development, staging, production), you can create 3 `Applications` in Dokploy
|
||||
and select the branch in each of them.
|
||||
|
||||
This is very usefull if you want to have multiple environments for the same application.
|
||||
</Callout>
|
||||
79
apps/docs-new/content/docs/core/(Git-Sources)/gitlab.mdx
Normal file
79
apps/docs-new/content/docs/core/(Git-Sources)/gitlab.mdx
Normal file
@@ -0,0 +1,79 @@
|
||||
---
|
||||
title: Gitlab
|
||||
description: 'Configure Gitlab repositories for deployments. This includes setting up access tokens, repository names, and branches.'
|
||||
---
|
||||
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout';
|
||||
|
||||
Dokploy offer a way to connect your Gitlab Repository to your Dokploy panel, you can use Groups Names or personal accounts.
|
||||
|
||||
|
||||
Go to `Git` and select `Gitlab` as the source, then you can use the following options:
|
||||
|
||||
- **Application ID**: Select the application ID that you want to connect to Dokploy.
|
||||
- **Personal Secret**: Select the secret that you want to connect to Dokploy.
|
||||
- **Group Name(Optional)**: Select the group name that you want to connect to Dokploy(Ideal for Gitlab Groups).
|
||||
|
||||
Follow the steps to connect your Gitlab account to Dokploy.
|
||||
|
||||
1. Go to `https://gitlab.com/-/profile/applications` and click on ` Add New Application`.
|
||||
2. Set Application Name: eg. `Dokploy-Gitlab-App`. choose any name that you want.
|
||||
3. Redirect URI: Copy the `Redirect URI` from Dokploy. eg. `https://dokploy.com/api/providers/gitlab/callback`.
|
||||
4. Select Permissions: `api`, `read_user`, `read_repository`.
|
||||
5. Click on `Save Application`.
|
||||
6. Copy the `Application ID` and `Secret` from Gitlab and paste it in Dokploy `Gitlab` Modal section.
|
||||
7. (Optional) If you want to use Groups, go to `https://gitlab.com/dashboard/groups` enter the group name you
|
||||
want to connect, and look at the URL in the address bar, it will be something like this
|
||||
`https://gitlab.com/dokploy-panel/frontend` you can use Nested Groups and SubGroups and copy the `dokploy-panel/frontend` from Gitlab and paste
|
||||
it in Dokploy `Gitlab` Modal section.
|
||||
8. Click on `Continue`.
|
||||
9. Go Back to Dokploy and click on `Install` button.
|
||||
10. Click on `Authorize`.
|
||||
11. You will be redirected to the `Git` section of Dokploy.
|
||||
12. Now you can use the repositories from your Gitlab Account in `Applications` or `Docker Compose` services.
|
||||
|
||||
<Callout type='warn'>
|
||||
Dokploy doesn't support Gitlab Automatic deployments on each push you make to your repository.
|
||||
</Callout>
|
||||
|
||||
|
||||
## Setup Automatic Deployments
|
||||
|
||||
You can configure automatic deployments in Dokploy for the Following Services:
|
||||
|
||||
1. **Applications**
|
||||
2. **Docker Compose**
|
||||
|
||||
The steps are the same for both services.
|
||||
|
||||
1. Go to either `Applications` or `Docker Compose` and go to `Deployments` Tab.
|
||||
2. Copy the `Webhook URL`.
|
||||
3. Go to your Gitlab Account and select the repository.
|
||||
4. In the left menu, select `Settings` and then `Webhooks`.
|
||||
5. Click on `Add Webhook`.
|
||||
6. Set the `URL` to the one you copied in the previous step.
|
||||
7. In the Trigger section, select `Push Events`.
|
||||
8. Click on `Add Webhook`.
|
||||
9. Click on `Save`.
|
||||
10. Now you have automatic deployments enabled for the selected repository.
|
||||
|
||||
|
||||
## Clarification on Automatic Deployments
|
||||
|
||||
By default, Dokploy will automatically deploy your application on the Branch you have selected.
|
||||
|
||||
eg. Let's suppose you have a `application` in this way:
|
||||
|
||||
Repository: `my-app`
|
||||
Branch: `feature`
|
||||
|
||||
If you try to make a push on another branch eg. `main`, Dokploy will not automatically deploy your application, because
|
||||
your application have selected `feature` as the Branch.
|
||||
|
||||
<Callout>
|
||||
In the case you want to have multiple applications in the same repository, eg. (development, staging, production), you can create 3 `Applications` in Dokploy
|
||||
and select the branch in each of them.
|
||||
|
||||
This is very usefull if you want to have multiple environments for the same application.
|
||||
</Callout>
|
||||
25
apps/docs-new/content/docs/core/(Notifications)/discord.mdx
Normal file
25
apps/docs-new/content/docs/core/(Notifications)/discord.mdx
Normal file
@@ -0,0 +1,25 @@
|
||||
---
|
||||
title: Discord
|
||||
description: 'Configure discord notifications for your applications.'
|
||||
---
|
||||
|
||||
Discord notifications are a great way to stay up to date with important events in your Dokploy panel. You can choose to receive notifications for specific events or all events.
|
||||
|
||||
## Discord Notifications
|
||||
|
||||
For start receiving discord notifications, you need to fill the form with the following details:
|
||||
|
||||
- **Name**: Enter any name you want.
|
||||
- **Webhook URL**: Enter the webhook URL. eg. `https://discord.com/api/webhooks/000000000000000/00000000-0000-0000-0000-000000000000`
|
||||
|
||||
To Setup the Discord notifications, follow these steps:
|
||||
|
||||
1. Go to Discord, and search your Discord server.
|
||||
2. Go to `Server Settings` and click on `Integrations`.
|
||||
3. Click on `Create a Webhook`.
|
||||
4. Set a name for your webhook, eg. `dokploy_webhook`.
|
||||
5. Click on the `Webhook` you've created and click on copy the `Webhook URL`.
|
||||
6. Go to Dokploy `Notifications` and select `Discord` as the notification provider.
|
||||
7. Use the `Webhook URL` you copied in the previous step.
|
||||
8. Click on `Test` to make sure everything is working.
|
||||
9. Click on `Create` to save the notification.
|
||||
22
apps/docs-new/content/docs/core/(Notifications)/email.mdx
Normal file
22
apps/docs-new/content/docs/core/(Notifications)/email.mdx
Normal file
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: Email
|
||||
description: 'Configure email notifications for your applications.'
|
||||
---
|
||||
|
||||
|
||||
Email notifications are a great way to stay up to date with important events in your Dokploy panel. You can choose to receive notifications for specific events or all events.
|
||||
|
||||
## Email Notifications
|
||||
|
||||
For start receiving email notifications, you need to fill the form with the following details:
|
||||
|
||||
|
||||
1. **Name**: Enter any name you want.
|
||||
2. **SMTP Server**: Enter the SMTP server address. eg. `smtp.gmail.com`
|
||||
3. **SMTP Port**: Enter the SMTP server port. eg. `587`
|
||||
4. **SMTP Username**: Enter the SMTP server username. eg. `your-email@gmail.com`
|
||||
5. **SMTP Password**: Enter the SMTP server password.
|
||||
6. **From Address** Enter the email address that will be used as the sender.
|
||||
7. **To Address** Enter the email address that will be used as the recipient, you can add multiple addresses.
|
||||
|
||||
|
||||
20
apps/docs-new/content/docs/core/(Notifications)/gotify.mdx
Normal file
20
apps/docs-new/content/docs/core/(Notifications)/gotify.mdx
Normal file
@@ -0,0 +1,20 @@
|
||||
---
|
||||
title: Gotify
|
||||
description: 'Configure gotify notifications for your applications.'
|
||||
---
|
||||
|
||||
Gotify notifications are a great way to stay up to date with important events in your Dokploy panel. You can choose to receive notifications for specific events or all events.
|
||||
|
||||
## Gotify Notifications
|
||||
|
||||
For start receiving gotify notifications, you need to fill the form with the following details:
|
||||
|
||||
- **Name**: Enter any name you want.
|
||||
- **Server URL**: Enter the gotify server URL. eg. `https://gotify.example.com`
|
||||
- **App Token**: Enter the gotify token.
|
||||
- **Priority**: Enter the priority of the notification, default is `5` (1-10).
|
||||
|
||||
To Setup the Gotify notifications, you can read the [Gotify Documentation](https://gotify.net/docs/install).
|
||||
|
||||
|
||||
|
||||
18
apps/docs-new/content/docs/core/(Notifications)/ntfy.mdx
Normal file
18
apps/docs-new/content/docs/core/(Notifications)/ntfy.mdx
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
title: Ntfy
|
||||
description: 'Configure ntfy notifications for your applications.'
|
||||
---
|
||||
|
||||
Ntfy notifications are a great way to stay up to date with important events in your Dokploy panel. You can choose to receive notifications for specific events or all events.
|
||||
|
||||
## Ntfy Notifications
|
||||
|
||||
For start receiving ntfy notifications, you need to fill the form with the following details:
|
||||
|
||||
- **Name**: Enter any name you want.
|
||||
- **Server URL**: Enter the ntfy server URL. eg. `https://ntfy.example.com`
|
||||
- **Access Token**: Enter the ntfy token. You can create one under `https://ntfy.example.com/account`
|
||||
- **Topic**: Enter the topic you want the notifications to be received.
|
||||
- **Priority**: Enter the priority of the notification, default is `3` (1-5).
|
||||
|
||||
To Setup the ntfy notifications, you can read the [Notify Documentation](https://docs.ntfy.sh/).
|
||||
22
apps/docs-new/content/docs/core/(Notifications)/overview.mdx
Normal file
22
apps/docs-new/content/docs/core/(Notifications)/overview.mdx
Normal file
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: Overview
|
||||
description: 'Configure general notifications for your applications and services.'
|
||||
---
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout';
|
||||
|
||||
Dokploy offer multiples notifications options to notify about some events.
|
||||
|
||||
1. **App Deploy**: Notify when a new version of your application is deployed.
|
||||
2. **App Deploy Error**: Notify when a new version of your application fails to deploy.
|
||||
3. **Docker Cleanup**: Notify when a Docker cleanup is triggered.
|
||||
4. **Dokploy Restart**: Notify when Dokploy Server restarts.
|
||||
5. **Database Backup**: Notify when a new database backup is created(Success or Error).
|
||||
|
||||
## Providers:
|
||||
|
||||
1. **Slack**: Slack is a platform for team communication and collaboration.
|
||||
2. **Telegram**: Telegram is a messaging platform that allows users to send and receive messages.
|
||||
3. **Discord**: Discord is generally used for communication between users in a chat or voice channel.
|
||||
4. **Email**: Email is a popular method for sending messages to a group of recipients.
|
||||
|
||||
27
apps/docs-new/content/docs/core/(Notifications)/slack.mdx
Normal file
27
apps/docs-new/content/docs/core/(Notifications)/slack.mdx
Normal file
@@ -0,0 +1,27 @@
|
||||
---
|
||||
title: Slack
|
||||
description: 'Configure slack notifications for your applications.'
|
||||
---
|
||||
|
||||
|
||||
Slack notifications are a great way to stay up to date with important events in your Dokploy panel. You can choose to receive notifications for specific events or all events.
|
||||
|
||||
## Slack Notifications
|
||||
|
||||
For start receiving slack notifications, you need to fill the form with the following details:
|
||||
|
||||
- **Name**: Enter any name you want.
|
||||
- **Webhook URL**: Enter the webhook URL. eg. `https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX`
|
||||
- **Channel**: Enter the channel name that you want to send the notifications to.
|
||||
|
||||
To Setup the slack notifications, follow these steps:
|
||||
|
||||
|
||||
1. Go to `https://dokploy.slack.com/marketplace/A0F7XDUAZ-webhooks-entrantes` and click on `Add To Slack`.
|
||||
2. Select the channel that you want to send the notifications to.
|
||||
3. Click on `Add webhook to channel`.
|
||||
4. Copy the `Webhook URL`.
|
||||
5. Go to Dokploy `Notifications` and select `Slack` as the notification provider.
|
||||
6. Use the `Webhook URL` you copied in the previous step.
|
||||
7. In Channel section, select the channel that you want to send the notifications to.
|
||||
7. Click on `Create` to save the notification.
|
||||
28
apps/docs-new/content/docs/core/(Notifications)/telegram.mdx
Normal file
28
apps/docs-new/content/docs/core/(Notifications)/telegram.mdx
Normal file
@@ -0,0 +1,28 @@
|
||||
---
|
||||
title: Telegram
|
||||
description: 'Configure telegram notifications for your applications.'
|
||||
---
|
||||
|
||||
|
||||
Telegram notifications are a great way to stay up to date with important events in your Dokploy panel. You can choose to receive notifications for specific events or all events.
|
||||
|
||||
## Telegram Notifications
|
||||
|
||||
For start receiving telegram notifications, you need to fill the form with the following details:
|
||||
|
||||
- **Name**: Enter any name you want.
|
||||
- **Bot Token**: Enter the bot token. eg. `123456789:ABCdefGHIjklMNOPqrstUVWXYZ`
|
||||
- **Chat ID**: Enter the chat ID. eg. `123456789`
|
||||
|
||||
To Setup the telegram notifications, follow these steps:
|
||||
|
||||
1. Go to `https://telegram.me/botfather` and click on `Start Bot`.
|
||||
2. Type `/newbot` and click on `Start`.
|
||||
3. Set a name for your bot, eg. `dokploy_bot` make sure the name ends with `_bot`.
|
||||
4. Copy the `Bot Token` and paste it in Dokploy `Telegram` Modal section.
|
||||
5. Now you need to get the Chat ID, or create a new Channel
|
||||
6. Search this bot in the search bar `@userinfobot`.
|
||||
7. Type `/start` and it will return the chat ID.
|
||||
8. Copy the `Chat ID` and paste it in Dokploy `Telegram` Modal section.
|
||||
9. Click on test to make sure everything is working.
|
||||
10. Click on `Create` to save the notification.
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
title: Actions
|
||||
description: 'Manage S3 destinations.'
|
||||
---
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout';
|
||||
|
||||
The S3 Destinations section are essential for backing up your databases.
|
||||
|
||||
## Actions:
|
||||
|
||||
1. **Create**: Create a new S3 destination.
|
||||
2. **Delete**: Delete a S3 destination.
|
||||
3. **Edit**: Edit a S3 destination.
|
||||
4. **Test**: Test a S3 destination.
|
||||
|
||||
### Create
|
||||
|
||||
In order to create a new S3 Bucket, you need to fill the form.
|
||||
|
||||
- **Name**: This could be anything you want, it will be the name.
|
||||
- **Access Key**: This is the access key that you will use to access your bucket.
|
||||
- **Secret Key**: This is the secret key that you will use to access your bucket.
|
||||
- **Bucket**: This is the bucket that you will use to access your bucket.
|
||||
- **Region**: This is the region that you will use to access your bucket.
|
||||
- **Endpoint**: This is the endpoint that you will use to access your bucket.
|
||||
|
||||
<Callout type='info'>
|
||||
There is a Button `Test` that will test the connection to your bucket, if it is correct it will show you a success message.
|
||||
</Callout>
|
||||
63
apps/docs-new/content/docs/core/(S3-Destinations)/aws-s3.mdx
Normal file
63
apps/docs-new/content/docs/core/(S3-Destinations)/aws-s3.mdx
Normal file
@@ -0,0 +1,63 @@
|
||||
---
|
||||
title: AWS S3
|
||||
description: 'Configure S3 buckets for backup storage. This includes setting up access keys, secret keys, bucket names, regions, and endpoints.'
|
||||
---
|
||||
import { Callout } from 'fumadocs-ui/components/callout';
|
||||
|
||||
|
||||
AWS provides a simple and cost-effective way to store and retrieve data. It is a cloud-based service that allows you to store and retrieve data from anywhere in the world. This is a great option for storing backups, as it is easy to set up and manage.
|
||||
|
||||
1. Create a new bucket and set any name you want.
|
||||
2. Search for `IAM` in the search bar.
|
||||
3. Click on `Policies` in the left menu.
|
||||
4. Click on `Create Policy`.
|
||||
5. Select `JSON` and paste the following policy:
|
||||
Make sure to replace the bucket name with your bucket name.
|
||||
```json
|
||||
{
|
||||
"Version": "2012-10-17",
|
||||
"Statement": [
|
||||
{
|
||||
"Sid": "AllowListBucket",
|
||||
"Effect": "Allow",
|
||||
"Action": "s3:ListBucket",
|
||||
"Resource": "arn:aws:s3:::bucket-name"
|
||||
},
|
||||
{
|
||||
"Sid": "AllowBucketObjectActions",
|
||||
"Effect": "Allow",
|
||||
"Action": [
|
||||
"s3:GetObject",
|
||||
"s3:PutObject",
|
||||
"s3:DeleteObject"
|
||||
],
|
||||
// Make sure to set the name of your bucket
|
||||
"Resource": "arn:aws:s3:::bucket-name/*"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
6. Click on `Review Policy`.
|
||||
7. Assign a name to the policy.
|
||||
8. Click on `Create Policy`.
|
||||
9. Click on User Group and assign a Name.
|
||||
10. Click on `Add User to Group`.
|
||||
11. Add the user you want to assign to the group.
|
||||
12. In the `Attached Policies` section, filter by type `Customer Managed` and select the policy you created.
|
||||
13. Click on `Attach Policy`.
|
||||
14. Go to `Users` and select the user you've assigned to the group.
|
||||
15. Go to Security Credentials.
|
||||
16. Click on `Create Access Key`.
|
||||
17. Select `Programmatic Access`.
|
||||
18. Click on `Create New Access Key`.
|
||||
|
||||
Now copy the following variables:
|
||||
|
||||
- `Access Key` -> `Access Key (Dokploy)` = eg. `AK2AV244NFLS5JTUZ554`
|
||||
- `Secret Key` -> `Secret Key (Dokploy)` = eg. `I0GWCo9fSGOr7z6Lh+NvHmSsaE+62Vwk2ua2CEwR`
|
||||
- `Bucket` -> `Bucket (Dokploy)` = eg. `dokploy-backups` use the name of the bucket you created.
|
||||
- `Region` -> `Region (Dokploy)` = eg. `us-east-1, us-west-2, etc` it will depend on the region you are using.
|
||||
- `Endpoint` -> `Endpoint (Dokploy) (Optional)` = eg. `https://s3.<region>.amazonaws.com` you will find this endpoint in the Bucket Card at the Home Page.
|
||||
|
||||
|
||||
Test the connection and you should see a success message.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
title: Backblaze B2
|
||||
description: 'Configure buckets from Backblaze B2 for backup storage. This includes setting up access keys, secret keys, bucket names, regions, and endpoints.'
|
||||
---
|
||||
|
||||
|
||||
Backblaze B2 is a cloud-based service that allows you to store and retrieve data from anywhere in the world. This is a great option for storing backups, as it is easy to set up and manage.
|
||||
|
||||
|
||||
## Backblaze B2 Example Bucket
|
||||
|
||||
1. Create a new bucket and set any name you want.
|
||||
2. Go to `Application Keys` and create a new key.
|
||||
3. Set a Key Name.
|
||||
4. Set the Allow Access to Bucket(s) to `All Buckets` or `Specific Buckets`.
|
||||
4. Set type of access `Read & Write` Permission.
|
||||
|
||||
Now copy the following variables:
|
||||
|
||||
- `Access Key` -> `Access Key (Dokploy)` = eg. `002s6acf2639910000d000005`
|
||||
- `Secret Key` -> `Secret Key (Dokploy)` = eg. `K00+rIsWqPMhmcgqcyOyb9bqby7pbpE`
|
||||
- `Region` -> `Region (Dokploy)` = eg. `eu-central-003, us-east-005, us-west-002, us-west-001, us-west-004, etc` it will depend on the region you are using.
|
||||
- `Endpoint` -> `Endpoint (Dokploy)` = eg. `https://s3.us-west-002.backblazeb2.com` you will find this endpoint in the Bucket Card at the Home Page.
|
||||
- `Bucket` -> `Bucket (Dokploy)` = eg. `dokploy-backups` use the name of the bucket you created.
|
||||
|
||||
Test the connection and you should see a success message.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
title: Cloudflare R2
|
||||
description: 'Configure R2 buckets for backup storage. This includes setting up access keys, secret keys, bucket names, regions, and endpoints.'
|
||||
---
|
||||
|
||||
|
||||
Cloudflare is a popular choice for hosting static assets, such as images, videos, and documents. It is a cloud-based service that allows you to store and retrieve data from anywhere in the world. This is a great option for storing backups, as it is easy to set up and manage.
|
||||
|
||||
1. Go to `R2 Object Storage`, and create a new bucket with any name you want by clicking `Create bucket` button.
|
||||
2. Go back to `R2 Object Storage`, and select `Manage API tokens` from the select box.
|
||||
3. Create a new `User API Token`, and give it a meaninful name.
|
||||
4. Set `Object Read & Write` Permission.
|
||||
5. (Optional) Set Specify bucket, by default it will include all buckets.
|
||||
6. Create the token.
|
||||
|
||||
Now copy the following variables:
|
||||
|
||||
| (from) Cloudflare | (to) Dokploy | Example value |
|
||||
|---------------------|---------------------|----------------------------------------------------------------------|
|
||||
| `Access Key ID` | `Access Key Id` | `f3811c6d27415a9s6cv943b6743ad784` |
|
||||
| `Secret Access Key` | `Secret Access Key` | `aa55ee40b4049e93b7252bf698408cc22a3c2856d2530s7c1cb7670e318f15e58` |
|
||||
| `Region` | `Region` | `WNAM, ENAM, etc` it will depend on the region you are using. |
|
||||
| `Endpoint` | `Endpoint` | `https://8ah554705io7842d54c499fbee1156c1c.r2.cloudflarestorage.com` |
|
||||
| `Bucket` | `Bucket` | `dokploy-backups` use the name of the bucket you created. |
|
||||
|
||||
Test the connection and you should see a success message.
|
||||
26
apps/docs-new/content/docs/core/(Users)/permissions.mdx
Normal file
26
apps/docs-new/content/docs/core/(Users)/permissions.mdx
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
title: Permissions
|
||||
description: 'Add permissions to your users to manage your applications and services.'
|
||||
---
|
||||
|
||||
Manage user roles and permissions within Dokploy. Note that only one admin role is allowed per instance.
|
||||
|
||||
## Permissions
|
||||
|
||||
Dokploy offers multiple permissions to manage your users effectively:
|
||||
|
||||
- **Create Projects**: Allows the user to create new projects.
|
||||
- **Create Services**: Allows the user to create new applications or databases.
|
||||
- **Access Traefik Files Tab**: Allows the user to access the Traefik files tab.
|
||||
- **Delete Projects**: Allows the user to delete projects.
|
||||
- **Delete Services**: Allows the user to delete services.
|
||||
- **Access Docker Tab**: Allows the user to access the Docker tab.
|
||||
- **Access API/CLI**: Allows the user to access the API/CLI, including the Swagger route.
|
||||
- **Access to Git Providers**: Allows the user to access the Git Providers.
|
||||
- **Access to SSH Keys**: Allows the user to access the SSH Keys.
|
||||
|
||||
You can also grant permissions to specific users for accessing particular projects or services.
|
||||
|
||||
### Project Permissions
|
||||
|
||||
Based on your projects and services, you can assign permissions to specific users to give them access to particular projects or services.
|
||||
23
apps/docs-new/content/docs/core/(examples)/11ty.mdx
Normal file
23
apps/docs-new/content/docs/core/(examples)/11ty.mdx
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
title: 11ty
|
||||
description: Deploy a simple 11ty application.
|
||||
---
|
||||
|
||||
This example will deploy a simple 11ty application.
|
||||
|
||||
1. **Use Git Provider in Your Application**:
|
||||
- Repository: `https://github.com/Dokploy/examples.git`
|
||||
- Branch: `main`
|
||||
- Build path: `/11ty`
|
||||
- Publish Directory: `./_site` (Nixpacks)
|
||||
|
||||
2. **Click on Deploy**:
|
||||
- Deploy your application by clicking the deploy button.
|
||||
|
||||
3. **Generate a Domain**:
|
||||
- Click on generate domain button.
|
||||
- A new domain will be generated for you.
|
||||
- Set Port `80`
|
||||
- You can use this domain to access your application.
|
||||
|
||||
If you need further assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc).
|
||||
29
apps/docs-new/content/docs/core/(examples)/astro-ssr.mdx
Normal file
29
apps/docs-new/content/docs/core/(examples)/astro-ssr.mdx
Normal file
@@ -0,0 +1,29 @@
|
||||
---
|
||||
title: Astro SSR
|
||||
description: Deploy a simple Astro SSR application.
|
||||
---
|
||||
|
||||
|
||||
This example will deploy a simple Astro SSR application.
|
||||
|
||||
|
||||
1. **Use Git Provider in Your Application**:
|
||||
- Repository: `https://github.com/Dokploy/examples.git`
|
||||
- Branch: `main`
|
||||
- Build path: `/astro-ssr`
|
||||
|
||||
2. **Add Environment Variables**:
|
||||
- Navigate to the "Environments" tab and add the following variable:
|
||||
```cmd
|
||||
NIXPACKS_START_CMD="pnpm run preview"
|
||||
```
|
||||
|
||||
3. **Click on Deploy**:
|
||||
- Deploy your application by clicking the deploy button.
|
||||
|
||||
4. **Generate a Domain**:
|
||||
- Click on generate domain button.
|
||||
- A new domain will be generated for you.
|
||||
- You can use this domain to access your application.
|
||||
|
||||
If you need further assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc).
|
||||
24
apps/docs-new/content/docs/core/(examples)/astro.mdx
Normal file
24
apps/docs-new/content/docs/core/(examples)/astro.mdx
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
title: Astro
|
||||
description: Deploy a simple Astro application.
|
||||
---
|
||||
|
||||
This example will deploy a simple Astro application.
|
||||
|
||||
1. **Use Git Provider in Your Application**:
|
||||
- Repository: `https://github.com/Dokploy/examples.git`
|
||||
- Branch: `main`
|
||||
- Build path: `/astro`
|
||||
- Publish Directory: `./dist` (Nixpacks)
|
||||
|
||||
|
||||
2. **Click on Deploy**:
|
||||
- Deploy your application by clicking the deploy button.
|
||||
|
||||
3. **Generate a Domain**:
|
||||
- Click on generate domain button.
|
||||
- A new domain will be generated for you.
|
||||
- Set Port `80`
|
||||
- You can use this domain to access your application.
|
||||
|
||||
If you need further assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc).
|
||||
27
apps/docs-new/content/docs/core/(examples)/deno.mdx
Normal file
27
apps/docs-new/content/docs/core/(examples)/deno.mdx
Normal file
@@ -0,0 +1,27 @@
|
||||
---
|
||||
title: Deno
|
||||
description: Deploy a simple Deno application.
|
||||
---
|
||||
|
||||
|
||||
This example will deploy a simple Deno application.
|
||||
|
||||
|
||||
1. **Use Git Provider in Your Application**:
|
||||
- Repository: `https://github.com/Dokploy/examples.git`
|
||||
- Branch: `main`
|
||||
- Build path: `/deno`
|
||||
- Select `Dockerfile` as Build Type
|
||||
- Type `Dockerfile` in the Dockerfile path field
|
||||
|
||||
2. **Click on Deploy**:
|
||||
- Deploy your application by clicking the deploy button.
|
||||
|
||||
3. **Generate a Domain**:
|
||||
- Click on generate domain button.
|
||||
- A new domain will be generated for you.
|
||||
- Set Port `8080`
|
||||
- You can use this domain to access your application.
|
||||
|
||||
|
||||
If you need further assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc).
|
||||
23
apps/docs-new/content/docs/core/(examples)/html.mdx
Normal file
23
apps/docs-new/content/docs/core/(examples)/html.mdx
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
title: HTML
|
||||
description: Deploy a simple HTML application.
|
||||
---
|
||||
|
||||
This example will deploy a simple HTML application.
|
||||
|
||||
1. **Use Git Provider in Your Application**:
|
||||
- Repository: `https://github.com/Dokploy/examples.git`
|
||||
- Branch: `main`
|
||||
- Build path: `/html`
|
||||
- use `Static` as build type
|
||||
|
||||
2. **Click on Deploy**:
|
||||
- Deploy your application by clicking the deploy button.
|
||||
|
||||
3. **Generate a Domain**:
|
||||
- Click on generate domain button.
|
||||
- A new domain will be generated for you.
|
||||
- Set Port `80`
|
||||
- You can use this domain to access your application.
|
||||
|
||||
If you need further assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc).
|
||||
25
apps/docs-new/content/docs/core/(examples)/lit.mdx
Normal file
25
apps/docs-new/content/docs/core/(examples)/lit.mdx
Normal file
@@ -0,0 +1,25 @@
|
||||
---
|
||||
title: Lit
|
||||
description: Deploy a simple Lit application.
|
||||
---
|
||||
|
||||
|
||||
This example will deploy a simple Lit application.
|
||||
|
||||
|
||||
1. **Use Git Provider in Your Application**:
|
||||
- Repository: `https://github.com/Dokploy/examples.git`
|
||||
- Branch: `main`
|
||||
- Build path: `/lit`
|
||||
- Publish Directory: `./dist` (Nixpacks)
|
||||
|
||||
2. **Click on Deploy**:
|
||||
- Deploy your application by clicking the deploy button.
|
||||
|
||||
3. **Generate a Domain**:
|
||||
- Click on generate domain button.
|
||||
- A new domain will be generated for you.
|
||||
- Set Port `80`
|
||||
- You can use this domain to access your application.
|
||||
|
||||
If you need further assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc).
|
||||
21
apps/docs-new/content/docs/core/(examples)/nestjs.mdx
Normal file
21
apps/docs-new/content/docs/core/(examples)/nestjs.mdx
Normal file
@@ -0,0 +1,21 @@
|
||||
---
|
||||
title: Nest.js
|
||||
description: Deploy a simple Nest.js application.
|
||||
---
|
||||
|
||||
|
||||
This example will deploy a simple Nest.js application.
|
||||
|
||||
1. **Use Git Provider in Your Application**:
|
||||
- Repository: `https://github.com/Dokploy/examples.git`
|
||||
- Branch: `main`
|
||||
- Build path: `/nestjs`
|
||||
2. **Click on Deploy**:
|
||||
- Deploy your application by clicking the deploy button.
|
||||
|
||||
3. **Generate a Domain**:
|
||||
- Click on generate domain button.
|
||||
- A new domain will be generated for you.
|
||||
- You can use this domain to access your application.
|
||||
|
||||
If you need further assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc).
|
||||
23
apps/docs-new/content/docs/core/(examples)/nextjs.mdx
Normal file
23
apps/docs-new/content/docs/core/(examples)/nextjs.mdx
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
title: Next.js
|
||||
description: Deploy a simple Next.js application.
|
||||
---
|
||||
|
||||
|
||||
This example will deploy a simple Next.js application.
|
||||
|
||||
|
||||
1. **Use Git Provider in Your Application**:
|
||||
- Repository: `https://github.com/Dokploy/examples.git`
|
||||
- Branch: `main`
|
||||
- Build path: `/nextjs`
|
||||
|
||||
2. **Click on Deploy**:
|
||||
- Deploy your application by clicking the deploy button.
|
||||
|
||||
3. **Generate a Domain**:
|
||||
1. Click on generate domain button.
|
||||
2. A new domain will be generated for you.
|
||||
3. You can use this domain to access your application.
|
||||
|
||||
If you need further assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc).
|
||||
25
apps/docs-new/content/docs/core/(examples)/preact.mdx
Normal file
25
apps/docs-new/content/docs/core/(examples)/preact.mdx
Normal file
@@ -0,0 +1,25 @@
|
||||
---
|
||||
title: Preact
|
||||
description: Deploy a simple Preact application.
|
||||
---
|
||||
|
||||
|
||||
This example will deploy a simple Preact application.
|
||||
|
||||
|
||||
1. **Use Git Provider in Your Application**:
|
||||
- Repository: `https://github.com/Dokploy/examples.git`
|
||||
- Branch: `main`
|
||||
- Build path: `/preact`
|
||||
- Publish Directory: `./dist` (Nixpacks)
|
||||
|
||||
2. **Click on Deploy**:
|
||||
- Deploy your application by clicking the deploy button.
|
||||
|
||||
3. **Generate a Domain**:
|
||||
- Click on generate domain button.
|
||||
- A new domain will be generated for you.
|
||||
- Set Port `80`
|
||||
- You can use this domain to access your application.
|
||||
|
||||
If you need further assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc).
|
||||
29
apps/docs-new/content/docs/core/(examples)/qwik.mdx
Normal file
29
apps/docs-new/content/docs/core/(examples)/qwik.mdx
Normal file
@@ -0,0 +1,29 @@
|
||||
---
|
||||
title: Qwik
|
||||
description: Deploy a simple Qwik application.
|
||||
---
|
||||
|
||||
|
||||
This example will deploy a simple Qwik application.
|
||||
|
||||
|
||||
1. **Use Git Provider in Your Application**:
|
||||
- Repository: `https://github.com/Dokploy/examples.git`
|
||||
- Branch: `main`
|
||||
- Build path: `/qwik`
|
||||
|
||||
2. **Add Environment Variables**:
|
||||
- Navigate to the "Environments" tab and add the following variable:
|
||||
```cmd
|
||||
NIXPACKS_START_CMD="pnpm run preview"
|
||||
```
|
||||
|
||||
3. **Click on Deploy**:
|
||||
- Deploy your application by clicking the deploy button.
|
||||
|
||||
4. **Generate a Domain**:
|
||||
- Click on generate domain button.
|
||||
- A new domain will be generated for you.
|
||||
- You can use this domain to access your application.
|
||||
|
||||
If you need further assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc).
|
||||
23
apps/docs-new/content/docs/core/(examples)/remix.mdx
Normal file
23
apps/docs-new/content/docs/core/(examples)/remix.mdx
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
title: Remix
|
||||
description: Deploy a simple Remix application.
|
||||
---
|
||||
|
||||
|
||||
This example will deploy a simple Remix application.
|
||||
|
||||
|
||||
1. **Use Git Provider in Your Application**:
|
||||
- Repository: `https://github.com/Dokploy/examples.git`
|
||||
- Branch: `main`
|
||||
- Build path: `/remix`
|
||||
|
||||
2. **Click on Deploy**:
|
||||
- Deploy your application by clicking the deploy button.
|
||||
|
||||
3. **Generate a Domain**:
|
||||
- Click on generate domain button.
|
||||
- A new domain will be generated for you.
|
||||
- You can use this domain to access your application.
|
||||
|
||||
If you need further assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc).
|
||||
25
apps/docs-new/content/docs/core/(examples)/solidjs.mdx
Normal file
25
apps/docs-new/content/docs/core/(examples)/solidjs.mdx
Normal file
@@ -0,0 +1,25 @@
|
||||
---
|
||||
title: Solid.js
|
||||
description: Deploy a simple Solid.js application.
|
||||
---
|
||||
|
||||
|
||||
This example will deploy a simple Solid.js application.
|
||||
|
||||
|
||||
1. **Use Git Provider in Your Application**:
|
||||
- Repository: `https://github.com/Dokploy/examples.git`
|
||||
- Branch: `main`
|
||||
- Build path: `/solidjs`
|
||||
- Publish Directory: `./dist` (Nixpacks)
|
||||
|
||||
2. **Click on Deploy**:
|
||||
- Deploy your application by clicking the deploy button.
|
||||
|
||||
3. **Generate a Domain**:
|
||||
- Click on generate domain button.
|
||||
- A new domain will be generated for you.
|
||||
- Set Port `80`
|
||||
- You can use this domain to access your application.
|
||||
|
||||
If you need further assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc).
|
||||
25
apps/docs-new/content/docs/core/(examples)/svelte.mdx
Normal file
25
apps/docs-new/content/docs/core/(examples)/svelte.mdx
Normal file
@@ -0,0 +1,25 @@
|
||||
---
|
||||
title: Svelte
|
||||
description: Deploy a simple Svelte application.
|
||||
---
|
||||
|
||||
|
||||
This example will deploy a simple Svelte application.
|
||||
|
||||
|
||||
1. **Use Git Provider in Your Application**:
|
||||
- Repository: `https://github.com/Dokploy/examples.git`
|
||||
- Branch: `main`
|
||||
- Build path: `/svelte`
|
||||
- Publish Directory: `./dist` (Nixpacks)
|
||||
|
||||
2. **Click on Deploy**:
|
||||
- Deploy your application by clicking the deploy button.
|
||||
|
||||
3. **Generate a Domain**:
|
||||
- Click on generate domain button.
|
||||
- A new domain will be generated for you.
|
||||
- Set Port `80`
|
||||
- You can use this domain to access your application.
|
||||
|
||||
If you need further assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc).
|
||||
23
apps/docs-new/content/docs/core/(examples)/tanstack.mdx
Normal file
23
apps/docs-new/content/docs/core/(examples)/tanstack.mdx
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
title: Tanstack
|
||||
description: Deploy a simple Tanstack application.
|
||||
---
|
||||
|
||||
This example will deploy a simple Tanstack application.
|
||||
|
||||
1. **Use Git Provider in Your Application**:
|
||||
- Repository: `https://github.com/Dokploy/examples.git`
|
||||
- Branch: `main`
|
||||
- Build path: `/tanstack`
|
||||
- use `Nixpacks` as build type
|
||||
|
||||
2. **Click on Deploy**:
|
||||
- Deploy your application by clicking the deploy button.
|
||||
|
||||
3. **Generate a Domain**:
|
||||
- Click on generate domain button.
|
||||
- A new domain will be generated for you.
|
||||
- Set Port `3000`
|
||||
- You can use this domain to access your application.
|
||||
|
||||
If you need further assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc).
|
||||
34
apps/docs-new/content/docs/core/(examples)/turborepo.mdx
Normal file
34
apps/docs-new/content/docs/core/(examples)/turborepo.mdx
Normal file
@@ -0,0 +1,34 @@
|
||||
---
|
||||
title: Turborepo
|
||||
description: Deploy a simple Turborepo application.
|
||||
---
|
||||
|
||||
|
||||
This repository contains an example of turborepo application that is deployed on Dokploy.
|
||||
|
||||
|
||||
1. **Use Git Provider in Your Application**:
|
||||
- Repository: `https://github.com/Dokploy/examples.git`
|
||||
- Branch: `main`
|
||||
- Build path: `/turborepo` (Nixpacks)
|
||||
|
||||
2. **Environment Variables**:
|
||||
- Add environment variables to the env tab.
|
||||
|
||||
```bash
|
||||
NIXPACKS_TURBO_APP_NAME="web"
|
||||
NIXPACKS_BUILD_CMD="turbo run build --filter=web"
|
||||
NIXPACKS_START_CMD="turbo run start --filter=web"
|
||||
```
|
||||
|
||||
3. **Click on Deploy**:
|
||||
- Deploy your application by clicking the deploy button.
|
||||
|
||||
3. **Generate a Domain**:
|
||||
- Click on generate domain button.
|
||||
- A new domain will be generated for you.
|
||||
- Set Port `3000`
|
||||
- You can use this domain to access your application.
|
||||
|
||||
|
||||
If you need further assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc).
|
||||
25
apps/docs-new/content/docs/core/(examples)/vite-react.mdx
Normal file
25
apps/docs-new/content/docs/core/(examples)/vite-react.mdx
Normal file
@@ -0,0 +1,25 @@
|
||||
---
|
||||
title: Vite React
|
||||
description: Deploy a simple Vite React application.
|
||||
---
|
||||
|
||||
|
||||
This example will deploy a simple Vite React application.
|
||||
|
||||
|
||||
1. **Use Git Provider in Your Application**:
|
||||
- Repository: `https://github.com/Dokploy/examples.git`
|
||||
- Branch: `main`
|
||||
- Build path: `/vite`
|
||||
- Publish Directory: `./dist` (Nixpacks)
|
||||
|
||||
2. **Click on Deploy**:
|
||||
- Deploy your application by clicking the deploy button.
|
||||
|
||||
3. **Generate a Domain**:
|
||||
- Click on generate domain button.
|
||||
- A new domain will be generated for you.
|
||||
- Set Port `80`
|
||||
- You can use this domain to access your application.
|
||||
|
||||
If you need further assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc).
|
||||
24
apps/docs-new/content/docs/core/(examples)/vuejs.mdx
Normal file
24
apps/docs-new/content/docs/core/(examples)/vuejs.mdx
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
title: Vue.js
|
||||
description: Deploy a simple Vue.js application.
|
||||
---
|
||||
|
||||
|
||||
This example will deploy a simple Vue.js application.
|
||||
|
||||
1. **Use Git Provider in Your Application**:
|
||||
- Repository: `https://github.com/Dokploy/examples.git`
|
||||
- Branch: `main`
|
||||
- Build path: `/vuejs`
|
||||
- Publish Directory: `./dist` (Nixpacks)
|
||||
|
||||
2. **Click on Deploy**:
|
||||
- Deploy your application by clicking the deploy button.
|
||||
|
||||
3. **Generate a Domain**:
|
||||
- Click on generate domain button.
|
||||
- A new domain will be generated for you.
|
||||
- Set Port `80`
|
||||
- You can use this domain to access your application.
|
||||
|
||||
If you need further assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc).
|
||||
174
apps/docs-new/content/docs/core/applications/advanced.mdx
Normal file
174
apps/docs-new/content/docs/core/applications/advanced.mdx
Normal file
@@ -0,0 +1,174 @@
|
||||
---
|
||||
title: Advanced
|
||||
description: Learn how to use advanced features in your application.
|
||||
---
|
||||
|
||||
This section is designed for experienced users who need to manage complex configurations and orchestration settings in Dokploy. Here, you can execute custom commands, manage cluster replicas, select Docker registries, and configure Docker Swarm settings.
|
||||
|
||||
### Run Command
|
||||
|
||||
- **Purpose**: Allows users to execute custom shell commands directly within the container.
|
||||
- **Usage**: Enter the command you need to run in the provided field and click 'Save' to execute it within the container environment. This tool is particularly useful for debugging or specific administrative tasks.
|
||||
|
||||
### Cluster Settings
|
||||
|
||||
- **Purpose**: Manages the scaling and distribution of the application across multiple servers or nodes.
|
||||
- **Replicas**: Set the number of instances of your application that should be running.
|
||||
- **Registry Selection**: Choose the Docker registry from which your container images will be pulled. This is crucial for ensuring that the correct images are used during deployment.
|
||||
|
||||
#### Important Note
|
||||
Always click 'Redeploy' after modifying the cluster settings to apply the changes.
|
||||
|
||||
### Swarm Settings
|
||||
|
||||
Swarm settings allow for detailed configuration of how containers are orchestrated within the Docker Swarm.
|
||||
|
||||
#### Health Check
|
||||
|
||||
- **Purpose**: Ensures that containers are running smoothly and restarts them if they fail.
|
||||
- **Configuration**: Specify parameters like test commands, intervals, timeouts, start periods, and retries.
|
||||
|
||||
#### Restart Policy
|
||||
|
||||
Defines how containers should be handled if they exit or fail, the configuration is as follows:
|
||||
|
||||
- **Condition**: Specifies under what condition a restart should occur.
|
||||
- **Delay**: Sets the time delay between restarts.
|
||||
- **Max Attempts**: Limits the number of restart attempts.
|
||||
- **Window**: Defines the time window used to evaluate the restart policy.
|
||||
|
||||
#### Update Config
|
||||
|
||||
Manages the deployment and update process of services in the swarm, the configuration is as follows:
|
||||
|
||||
|
||||
- **Parallelism**: Number of containers to update simultaneously.
|
||||
- **Delay**: Time between updates.
|
||||
- **Failure Action**: Action to take if an update fails.
|
||||
- **Monitor**: Duration to monitor a container after an update.
|
||||
- **Max Failure Ratio**: The fraction of containers that are allowed to fail before the update is considered a failure.
|
||||
- **Order**: The order in which containers are stopped and started during an update.
|
||||
|
||||
#### Placement
|
||||
|
||||
Controls where containers are placed within the swarm based on specific rules and preferences, the configuration is as follows:
|
||||
|
||||
- **Constraints**: Conditions that must be met for a container to be placed on a node.
|
||||
- **Preferences**: Preferences for placing containers across nodes to spread load evenly.
|
||||
|
||||
### Rollback Config
|
||||
|
||||
Manages the rollback process for services when updates fail, the configuration is as follows:
|
||||
|
||||
- **Parallelism**: Number of containers to rollback simultaneously.
|
||||
- **Delay**: Time between rollbacks.
|
||||
- **FailureAction**: Action to take if a rollback fails.
|
||||
- **Monitor**: Duration to monitor a container after a rollback.
|
||||
- **MaxFailureRatio**: The fraction of containers that are allowed to fail before the rollback is considered a failure.
|
||||
- **Order**: The order in which containers are stopped and restarted during a rollback.
|
||||
|
||||
### Mode
|
||||
|
||||
Defines how services are replicated within the swarm, the configuration is as follows:
|
||||
|
||||
- **Replicated**: Services are replicated across nodes as specified.
|
||||
- **Replicas**: Number of replicas per service.
|
||||
- **Global**: A single instance of the service runs on every node.
|
||||
- **ReplicatedJob**: Runs a job in a replicated manner.
|
||||
- **MaxConcurrent**: Maximum number of jobs running concurrently.
|
||||
- **TotalCompletions**: Total number of times the jobs need to complete.
|
||||
|
||||
### Network
|
||||
|
||||
Configures network settings for the services, the configuration is as follows:
|
||||
|
||||
- **Target**: Specifies the network name.
|
||||
- **Aliases**: Provides aliases for the network.
|
||||
- **DriverOpts**: Network driver options like MTU size and host binding.
|
||||
|
||||
### Labels
|
||||
|
||||
Assigns metadata to containers to help identify and organize them, the configuration is as follows:
|
||||
|
||||
- **Labels**: Key-value pairs assigned to the service. For example:
|
||||
1. `com.example.app.name`: "my-app"
|
||||
2. `com.example.app.version`: "1.0.0"
|
||||
|
||||
|
||||
### Note
|
||||
Modifying Swarm Settings requires careful consideration as incorrect configurations can disrupt the entire container orchestration. Always ensure you understand the implications of the changes you are making.
|
||||
|
||||
|
||||
## Resources
|
||||
|
||||
Manage the memory and CPU resources allocated to your applications or databases.
|
||||
|
||||
- **Memory Reservation**: The minimum amount of memory guaranteed to the application.
|
||||
- **Memory Limit**: The maximum amount of memory the application can use.
|
||||
- **CPU Limit**: The maximum number of CPU units that the application can utilize.
|
||||
- **CPU Reservation**: The minimum number of CPU units reserved for the application.
|
||||
|
||||
|
||||
### Volumes/Mounts
|
||||
|
||||
Configure persistent storage for your application to ensure data remains intact across container restarts and deployments.
|
||||
|
||||
|
||||
**Bind Mount**: Maps a host file or directory to a container file or directory. Typically used for specific configurations or databases.
|
||||
1. **Host Path**: Path on the host.
|
||||
2. **Mount Path**: Path in the container.
|
||||
|
||||
**Volume Mount**: Uses Docker-managed volumes that are easier to back up and migrate than bind mounts.
|
||||
1. **Volume Name**: Name of the Docker-managed volume.
|
||||
2. **Mount Path**: Path in the container where the volume is mounted.
|
||||
|
||||
**File Mount**: Specifically for single files, useful for configuration files.
|
||||
1. **Content**: The content to store in the file.
|
||||
2. **File Path**: The name of the file.
|
||||
3. **Mount Path**: Path in the container where the file is placed. **The path must also contain the filename.**
|
||||
|
||||
File mounts are a dokploy features, this create a file in a folder called `files` inside your project, so it recreates every single time you deploy your project.
|
||||
|
||||
<ImageZoom src="/assets/file-mount-configuration.webp" width={800} height={630} className="rounded-lg"/>
|
||||
|
||||
<ImageZoom src="/assets/file-mount.png" width={800} height={630} className="rounded-lg"/>
|
||||
|
||||
### Redirects
|
||||
|
||||
Redirect requests to your application to another URL based on specified rules, enhancing navigational efficiency and SEO.
|
||||
|
||||
- **Regex**: Enter a regular expression to match the URLs that need redirecting.
|
||||
- **Replacement**: Specify the target URL where traffic should be redirected.
|
||||
- **Permanent**: Toggle this option to apply a permanent (HTTP 301) redirection, indicating to browsers and search engines that the page has moved permanently.
|
||||
|
||||
#### Example
|
||||
To redirect all traffic from "http://localhost" to "http://mydomain", set the Regex as `http://localhost/(.*)` and the Replacement as `http://mydomain/$1`.
|
||||
|
||||
|
||||
### Security
|
||||
|
||||
Add basic authentication to your application to restrict access.
|
||||
|
||||
- **Username**: Enter a username.
|
||||
- **Password**: Enter a password.
|
||||
|
||||
#### Important Note
|
||||
Adding basic authentication will prompt users for a username and password before allowing access to the application. Use this for environments where an additional layer of security is required.
|
||||
|
||||
|
||||
### Ports
|
||||
|
||||
Expose your application to the internet by configuring network ports, allowing external access.
|
||||
|
||||
- **Published Port**: The port number on the host that will route traffic to your application.
|
||||
- **Target Port**: The port number inside the container that the application uses.
|
||||
- **Protocol**: Choose between TCP and UDP based on your application's requirements.
|
||||
|
||||
#### Important Note
|
||||
Ensure that the published port does not conflict with other services on the host to avoid port binding errors, also this port is used mostly for accesing the application from the outside, eg your-ip:port, this is not for accessing the application trought a domain.
|
||||
|
||||
### Traefik
|
||||
|
||||
Provides a dynamic and robust method to manage HTTP traffic to your services, including load balancing and SSL termination.
|
||||
|
||||
- **Rules**: Define complex routing, load balancing, and security configurations using Traefik's powerful rule-based configuration system.
|
||||
99
apps/docs-new/content/docs/core/applications/build-type.mdx
Normal file
99
apps/docs-new/content/docs/core/applications/build-type.mdx
Normal file
@@ -0,0 +1,99 @@
|
||||
---
|
||||
title: Build Type
|
||||
description: "Learn about the different build types available in Dokploy, including Nixpacks, Dockerfile, and Buildpack options."
|
||||
|
||||
---
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout';
|
||||
|
||||
|
||||
Dokploy offers three distinct build types for deploying applications, each suited to different development needs and preferences.
|
||||
|
||||
### Nixpacks
|
||||
|
||||
This is the default build type in Dokploy. When you select Nixpacks, Dokploy builds your application as a Nixpack, which is optimized for ease of use and efficiency.
|
||||
|
||||
Nixpacks expose multiples variables to be configured via environment variables. All of these variables are prefixed with `NIXPACKS_`, you can define them in the `Environment Variables` tab.
|
||||
|
||||
| Variable | Description |
|
||||
| :---------------------------- | :------------------------------------------------------------------------------------------- |
|
||||
| `NIXPACKS_INSTALL_CMD` | Override the install command to use |
|
||||
| `NIXPACKS_BUILD_CMD` | Override the build command to use |
|
||||
| `NIXPACKS_START_CMD` | Override command to run when starting the container |
|
||||
| `NIXPACKS_PKGS` | Add additional [Nix packages](https://search.nixos.org/packages?channel=unstable) to install |
|
||||
| `NIXPACKS_APT_PKGS` | Add additional Apt packages to install (comma delimited) |
|
||||
| `NIXPACKS_LIBS` | Add additional Nix libraries to make available |
|
||||
| `NIXPACKS_INSTALL_CACHE_DIRS` | Add additional directories to cache during the install phase |
|
||||
| `NIXPACKS_BUILD_CACHE_DIRS` | Add additional directories to cache during the build phase |
|
||||
| `NIXPACKS_NO_CACHE` | Disable caching for the build |
|
||||
| `NIXPACKS_CONFIG_FILE` | Location of the Nixpacks configuration file relative to the root of the app |
|
||||
| `NIXPACKS_DEBIAN` | Enable Debian base image, used for supporting OpenSSL 1.1 |
|
||||
|
||||
If you need more manage about nixpacks process, you can create a `nixpacks.toml` file in the root of your application you can read here [Nixpacks Configuration](https://nixpacks.com/docs/configuration/file).
|
||||
|
||||
Nixpacks support monorepo such as NX Monorepo, Turborepo, Moon Repo, you can read more about it [here](https://nixpacks.com/docs/providers/node#build).
|
||||
|
||||
You can read more about Nixpacks [here](https://nixpacks.com/).
|
||||
|
||||
Since Nixpacks have a [static builder](https://nixpacks.com/docs/providers/staticfile) Dokploy expose a field called `Publish Directory` where basically you can specify
|
||||
the directory that you want to publish after the build process is finished, example:
|
||||
|
||||
Astro applications after you build it usually create a `dist` directory, so you can specify the `dist` directory as the publish directory and then Dokploy will
|
||||
copy all the files in the `dist` directory to the root of your application, and will use a NGINX Optimized Dockerfile to run your application.
|
||||
|
||||
|
||||
### Railpack (NEW)
|
||||
|
||||
Railpack is a new build type optimized and is the successor of Nixpacks.
|
||||
|
||||
Railpack exposes multiple Build Variables, you can define them in the `Environment Variables` tab.
|
||||
|
||||
| Name | Description |
|
||||
| :-------------------- | :--------------------------------------------------------------------------------------------------------- |
|
||||
| `RAILPACK_BUILD_CMD` | Set the command to run for the build step. This overwrites any commands that come from providers |
|
||||
| `RAILPACK_START_CMD` | Set the command to run when the container starts |
|
||||
| `RAILPACK_PACKAGES` | Install additional Mise packages. In the format `pkg@version`. The latest version is used if not provided. |
|
||||
| `RAILPACK_BUILD_APT_PACKAGES` | Install additional Apt packages during build |
|
||||
| `RAILPACK_DEPLOY_APT_PACKAGES` | Install additional Apt packages in the final image |
|
||||
|
||||
you can read more about Railpack [here](https://railpack.com/config/environment-variables).
|
||||
|
||||
Railpack supports Nodejs, Python, Go, PHP, Go, StaticFile, Shell Scripts.
|
||||
|
||||
### Dockerfile
|
||||
|
||||
If your project includes a Dockerfile, you can specify its path. Dokploy will use this Dockerfile to build your application directly, giving you full control over the build environment and dependencies
|
||||
|
||||
Dokploy expose 3 Fields to be configured:
|
||||
|
||||
- `Dockerfile Path (Required)`: The path to the Dockerfile to use for building the application, eg. If your Dockerfile is in the root of your application you can just specify the `Dockerfile` file.
|
||||
- `Docker Context Path`: This is where the Dockerfile is located, eg. If your Dockerfile is in the root of your application you can just specify the `.` (dot) character, is basically to tell docker what context will use to build your application, you can read [Dockerfile Context](https://docs.docker.com/build/concepts/context/) for more information.
|
||||
- `Docker Build Stage`: This is the build stage to use for building the application, eg. If you want to use the `builder` stage you can specify the `builder` stage, read more about build stages [here](https://docs.docker.com/build/building/multi-stage/).
|
||||
|
||||
|
||||
|
||||
### Buildpack
|
||||
|
||||
Dokploy supports two types of buildpacks:
|
||||
|
||||
- **Heroku**: Adapted from Heroku's popular cloud platform, these buildpacks are designed for compatibility and ease of migration, you can optional specify the Heroku Version to use, by default Dokploy will use the 24.
|
||||
- **Paketo**: Provides cloud-native buildpacks that leverage modern standards and practices for building applications.
|
||||
|
||||
By choosing the appropriate build type, you can tailor the deployment process to best fit your application's requirements and your operational preferences.
|
||||
|
||||
|
||||
### Static
|
||||
|
||||
Static build type is used to server static applications, it will use a NGINX Optimized Dockerfile to run your application.
|
||||
|
||||
Dokploy will copy everything from the `Root` directory and will mount it to the `/usr/share/nginx/html` directory, and will use a NGINX Optimized Dockerfile to run your application.
|
||||
|
||||
<Callout type="info">
|
||||
Ensure to use the port `80` when creating a domain.
|
||||
</Callout>
|
||||
|
||||
## Recomendations
|
||||
|
||||
- For prototyping and development purposes, we recommend using the `Nixpacks` build type.
|
||||
- For production purposes, we recommend follow this [Production Guide](/docs/core/applications/going-production) to have a rock solid deployment.
|
||||
- For static applications, we recommend using the `Static` build type.
|
||||
@@ -0,0 +1,213 @@
|
||||
---
|
||||
title: Going Production
|
||||
description: Learn how to deploy your application in production in Dokploy.
|
||||
---
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout';
|
||||
|
||||
By default, dokploy offer multiple [Builds Types](/docs/core/applications/build-type) to deploy your application, the most common is `nixpacks` and `heroku buildpacks`
|
||||
however this also comes with problems, first is the resources that are required to build your application which some times can lead to timeout on your server or even freezeing your server
|
||||
and all your application will be down for this reasson, this is mainly problem from `Docker` since the comsumption of resources such as RAM, CPU is very high to build an application.
|
||||
|
||||
|
||||
|
||||
## Solution
|
||||
|
||||
You have two options to solve this problem:
|
||||
|
||||
1. Increase the resources of your server CPU, RAM, Disk (Probably is not a good idea and cheapest solution)
|
||||
2. Build & Publish the application in a CI/CD pipeline eg. Github Actions, Gitlab CI, Gitea Actions, etc. (Recommended)
|
||||
|
||||
|
||||
### Build & Publish the application in a CI/CD pipeline
|
||||
|
||||
We will use Github Actions as an example, but you can use any CI/CD pipeline that you want.
|
||||
|
||||
We will use the following configuration:
|
||||
|
||||
1. **Use Git Provider in Your Application**:
|
||||
- Repository: `https://github.com/Dokploy/production-example`
|
||||
- Branch: `main`
|
||||
- Build path: `/`
|
||||
|
||||
<Callout type="info">
|
||||
The repo have everything you need, however you can follow the same idea for your own applications.
|
||||
|
||||
</Callout>
|
||||
|
||||
|
||||
3. The repository already have a Dockerfile, so we will use that, in the case your application is different create your own Dockerfile is required for this guide.
|
||||
4. We will use `Dockerhub` as an example, but you can use any container registry that you want.
|
||||
5. Make sure to create the repository in the `Dockerhub` , `namespace` is your username and `repository` is `example`.
|
||||
6. Create a new Github Actions workflow in `.github/workflows/deploy.yml`
|
||||
7. Add the following code to the workflow:
|
||||
|
||||
```yaml
|
||||
name: Build Docker images
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: ["main"]
|
||||
|
||||
jobs:
|
||||
build-and-push-dockerfile-image:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Log in to Docker Hub
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }} # Make sure to add the secrets in your repository in -> Settings -> Secrets (Actions) -> New repository secret
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }} # Make sure to add the secrets in your repository in -> Settings -> Secrets (Actions) -> New repository secret
|
||||
|
||||
- name: Build and push Docker image
|
||||
uses: docker/build-push-action@v4
|
||||
with:
|
||||
context: .
|
||||
file: ./Dockerfile
|
||||
push: true
|
||||
# Make sure to replace with your own namespace and repository
|
||||
tags: |
|
||||
namespace/example:latest
|
||||
platforms: linux/amd64
|
||||
```
|
||||
8. Create your own Dockerfile, in this case we will use the `Dockerfile` from the repository.
|
||||
|
||||
```properties
|
||||
FROM node:18-alpine AS base
|
||||
ENV PNPM_HOME="/pnpm"
|
||||
ENV PATH="$PNPM_HOME:$PATH"
|
||||
RUN corepack enable
|
||||
|
||||
FROM base AS build
|
||||
WORKDIR /app
|
||||
COPY . .
|
||||
COPY package.json pnpm-lock.yaml ./
|
||||
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
|
||||
ENV NODE_ENV=production
|
||||
RUN pnpm run build
|
||||
|
||||
FROM base AS dokploy
|
||||
WORKDIR /app
|
||||
ENV NODE_ENV=production
|
||||
|
||||
# Copy only the necessary files
|
||||
COPY --from=build /app/dist ./dist
|
||||
COPY --from=build /app/package.json ./package.json
|
||||
COPY --from=build /app/node_modules ./node_modules
|
||||
|
||||
EXPOSE 3000
|
||||
CMD ["pnpm", "start"]
|
||||
```
|
||||
|
||||
9. Now when you make a commit to your repository, the workflow will be triggered and the application will build and push to `Dockerhub`.
|
||||
10. Now let's create application in Dokploy.
|
||||
11. In `Source Type` select `Docker`
|
||||
12. In the docker image field enter `namespace/example:latest`
|
||||
13. Click on `Save`.
|
||||
14. Click on `Deploy`.
|
||||
15. Go to `Domains` and click `Dices` icon to generate a domain and the port set to `3000`.
|
||||
16. Now you can access your application.
|
||||
|
||||
### Auto deploy
|
||||
|
||||
When using Dockerhub as a registry you can also enable auto deploy, this will automatically deploy your application whenever you push to your repository.
|
||||
|
||||
To setup auto deploys for Dockerhub, follow the steps below:
|
||||
|
||||
1. Go to your application and select `Deployments` tab.
|
||||
2. Copy the `Webhook URL`.
|
||||
3. Go to your Dockerhub repository and select `Webhooks` tab.
|
||||
4. Set a name for the webhook and paste the `Webhook URL` copied in step 2.
|
||||
5. That's it, now every time you push to your repository, your application will trigger a deployment in dokploy.
|
||||
|
||||
The deployment will trigger only if the `Tag` matches the one specified in Dokploy.
|
||||
|
||||
|
||||
#### External Registry
|
||||
|
||||
If you have a registry that is not Dockerhub, you can trigger a deployment after pushing to your repository in Github Actions.
|
||||
|
||||
Your workflow will look like this:
|
||||
|
||||
This method use the [Api Method](/docs/core/auto-deploy#api-method) to trigger a deployment.
|
||||
|
||||
```yaml
|
||||
name: Build Docker images
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: ["main"]
|
||||
|
||||
jobs:
|
||||
build-and-push-dockerfile-image:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
...Same as step 7 from the previous example
|
||||
|
||||
- name: Trigger Dokploy Deployment
|
||||
uses: dokploy/dokploy-action@v1
|
||||
run: |
|
||||
curl -X 'POST' \
|
||||
'https://<your-dokploy-domain>/api/trpc/application.deploy' \
|
||||
-H 'accept: application/json' \
|
||||
-H 'x-api-key: YOUR-GENERATED-API-KEY' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-d '{
|
||||
"json":{
|
||||
"applicationId": "YOUR-APPLICATION-ID"
|
||||
}
|
||||
}'
|
||||
```
|
||||
|
||||
You can also use this Github Action [Action](https://github.com/marketplace/actions/dokploy-deployment) to automate the deployment.
|
||||
|
||||
## Healthcheck & Rollbacks
|
||||
|
||||
When using Dokploy you can also configure healthchecks and rollbacks, this will allow you to configure your application to be able to recover from failures.
|
||||
|
||||
In the repo we are using from the `Step 1.` we have a healthcheck endpoint `/health` that returns a 200 status code and running in the port 3000.
|
||||
|
||||
Go to `Advanced` Tab and go to Cluster Settings and enter to `Swarm Settings`
|
||||
|
||||
There are a couple options that you can use, in this case we will focus on `Health Check` and `Update Config`.
|
||||
|
||||
Make sure the API Route exists in your application
|
||||
|
||||
```json
|
||||
{
|
||||
"Test": [
|
||||
"CMD",
|
||||
"curl",
|
||||
"-f",
|
||||
"http://localhost:3000/health"
|
||||
],
|
||||
"Interval": 30000000000,
|
||||
"Timeout": 10000000000,
|
||||
"StartPeriod": 30000000000,
|
||||
"Retries": 3
|
||||
}
|
||||
```
|
||||
|
||||
Now in the `Update Config`
|
||||
|
||||
Now when the application is getting unhealthy response from the health check, the container will rollback to the previous version.
|
||||
|
||||
Paste the following code:
|
||||
```json
|
||||
{
|
||||
"Parallelism": 1,
|
||||
"Delay": 10000000000,
|
||||
"FailureAction": "rollback",
|
||||
"Order": "start-first"
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
Now you everything a production ready application with automated deployments, zero downtime, rollbacks and healthchecks.
|
||||
|
||||
We recommend strongly to use this approach in production since this will make your server never build the application, will only in charge of the deployment keeping your server without any downtime.
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user