diff --git a/apps/docs-new/.gitignore b/apps/docs-new/.gitignore
new file mode 100644
index 0000000..9e429e4
--- /dev/null
+++ b/apps/docs-new/.gitignore
@@ -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
\ No newline at end of file
diff --git a/apps/docs-new/README.md b/apps/docs-new/README.md
new file mode 100644
index 0000000..abc0d6f
--- /dev/null
+++ b/apps/docs-new/README.md
@@ -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
diff --git a/apps/docs-new/app/(home)/layout.tsx b/apps/docs-new/app/(home)/layout.tsx
new file mode 100644
index 0000000..77379fa
--- /dev/null
+++ b/apps/docs-new/app/(home)/layout.tsx
@@ -0,0 +1,6 @@
+import { HomeLayout } from 'fumadocs-ui/layouts/home';
+import { baseOptions } from '@/lib/layout.shared';
+
+export default function Layout({ children }: LayoutProps<'/'>) {
+ return {children};
+}
diff --git a/apps/docs-new/app/(home)/page.tsx b/apps/docs-new/app/(home)/page.tsx
new file mode 100644
index 0000000..af5f812
--- /dev/null
+++ b/apps/docs-new/app/(home)/page.tsx
@@ -0,0 +1,27 @@
+import Link from 'next/link';
+
+export default function HomePage() {
+ return (
+
+
Dokploy Documentation
+
+ Open Source Alternative to Vercel, Netlify and Heroku. Deploy your applications with ease.
+
+
+
+ Get Started
+
+
+ View on GitHub
+
+
+
+ );
+}
diff --git a/apps/docs-new/app/api/search/route.ts b/apps/docs-new/app/api/search/route.ts
new file mode 100644
index 0000000..7ba7e82
--- /dev/null
+++ b/apps/docs-new/app/api/search/route.ts
@@ -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',
+});
diff --git a/apps/docs-new/app/docs/[[...slug]]/page.tsx b/apps/docs-new/app/docs/[[...slug]]/page.tsx
new file mode 100644
index 0000000..676a2f4
--- /dev/null
+++ b/apps/docs-new/app/docs/[[...slug]]/page.tsx
@@ -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 (
+
+ {page.data.title}
+ {page.data.description}
+
+
+
+
+ );
+}
+
+export async function generateStaticParams() {
+ return source.generateParams();
+}
+
+export async function generateMetadata(
+ props: PageProps<'/docs/[[...slug]]'>,
+): Promise {
+ 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,
+ },
+ };
+}
diff --git a/apps/docs-new/app/docs/layout.tsx b/apps/docs-new/app/docs/layout.tsx
new file mode 100644
index 0000000..299d2e2
--- /dev/null
+++ b/apps/docs-new/app/docs/layout.tsx
@@ -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 (
+
+ {children}
+
+ );
+}
diff --git a/apps/docs-new/app/favicon-16x16.png b/apps/docs-new/app/favicon-16x16.png
new file mode 100644
index 0000000..246b15c
Binary files /dev/null and b/apps/docs-new/app/favicon-16x16.png differ
diff --git a/apps/docs-new/app/favicon-32x32.png b/apps/docs-new/app/favicon-32x32.png
new file mode 100644
index 0000000..a15c3da
Binary files /dev/null and b/apps/docs-new/app/favicon-32x32.png differ
diff --git a/apps/docs-new/app/favicon.ico b/apps/docs-new/app/favicon.ico
new file mode 100644
index 0000000..bb92b63
Binary files /dev/null and b/apps/docs-new/app/favicon.ico differ
diff --git a/apps/docs-new/app/global.css b/apps/docs-new/app/global.css
new file mode 100644
index 0000000..6ff46f2
--- /dev/null
+++ b/apps/docs-new/app/global.css
@@ -0,0 +1,3 @@
+@import 'tailwindcss';
+@import 'fumadocs-ui/css/ocean.css';
+@import 'fumadocs-ui/css/preset.css';
diff --git a/apps/docs-new/app/layout.tsx b/apps/docs-new/app/layout.tsx
new file mode 100644
index 0000000..ff14b1b
--- /dev/null
+++ b/apps/docs-new/app/layout.tsx
@@ -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 (
+
+
+ {children}
+
+
+ );
+}
diff --git a/apps/docs-new/app/llms-full.txt/route.ts b/apps/docs-new/app/llms-full.txt/route.ts
new file mode 100644
index 0000000..d494d2c
--- /dev/null
+++ b/apps/docs-new/app/llms-full.txt/route.ts
@@ -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'));
+}
diff --git a/apps/docs-new/app/og/docs/[...slug]/route.tsx b/apps/docs-new/app/og/docs/[...slug]/route.tsx
new file mode 100644
index 0000000..bd4a72a
--- /dev/null
+++ b/apps/docs-new/app/og/docs/[...slug]/route.tsx
@@ -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(
+ ,
+ {
+ width: 1200,
+ height: 630,
+ },
+ );
+}
+
+export function generateStaticParams() {
+ return source.getPages().map((page) => ({
+ lang: page.locale,
+ slug: getPageImage(page).segments,
+ }));
+}
diff --git a/apps/docs-new/content/docs/api/generated/reference-admin.mdx b/apps/docs-new/content/docs/api/generated/reference-admin.mdx
new file mode 100644
index 0000000..60462dc
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-admin.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-ai.mdx b/apps/docs-new/content/docs/api/generated/reference-ai.mdx
new file mode 100644
index 0000000..e27ea17
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-ai.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-application.mdx b/apps/docs-new/content/docs/api/generated/reference-application.mdx
new file mode 100644
index 0000000..66611e4
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-application.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-backup.mdx b/apps/docs-new/content/docs/api/generated/reference-backup.mdx
new file mode 100644
index 0000000..540e858
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-backup.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-bitbucket.mdx b/apps/docs-new/content/docs/api/generated/reference-bitbucket.mdx
new file mode 100644
index 0000000..32c1edf
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-bitbucket.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-certificates.mdx b/apps/docs-new/content/docs/api/generated/reference-certificates.mdx
new file mode 100644
index 0000000..b0b51b9
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-certificates.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-cluster.mdx b/apps/docs-new/content/docs/api/generated/reference-cluster.mdx
new file mode 100644
index 0000000..8729864
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-cluster.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-compose.mdx b/apps/docs-new/content/docs/api/generated/reference-compose.mdx
new file mode 100644
index 0000000..fdf7512
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-compose.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-deployment.mdx b/apps/docs-new/content/docs/api/generated/reference-deployment.mdx
new file mode 100644
index 0000000..2dd54f9
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-deployment.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-destination.mdx b/apps/docs-new/content/docs/api/generated/reference-destination.mdx
new file mode 100644
index 0000000..7427ec0
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-destination.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-docker.mdx b/apps/docs-new/content/docs/api/generated/reference-docker.mdx
new file mode 100644
index 0000000..48e78e0
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-docker.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-domain.mdx b/apps/docs-new/content/docs/api/generated/reference-domain.mdx
new file mode 100644
index 0000000..ebe4b20
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-domain.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-environment.mdx b/apps/docs-new/content/docs/api/generated/reference-environment.mdx
new file mode 100644
index 0000000..49cc235
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-environment.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-gitProvider.mdx b/apps/docs-new/content/docs/api/generated/reference-gitProvider.mdx
new file mode 100644
index 0000000..00eeb7c
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-gitProvider.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-gitea.mdx b/apps/docs-new/content/docs/api/generated/reference-gitea.mdx
new file mode 100644
index 0000000..287fb5c
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-gitea.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-github.mdx b/apps/docs-new/content/docs/api/generated/reference-github.mdx
new file mode 100644
index 0000000..29b3a5d
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-github.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-gitlab.mdx b/apps/docs-new/content/docs/api/generated/reference-gitlab.mdx
new file mode 100644
index 0000000..573f241
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-gitlab.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-mariadb.mdx b/apps/docs-new/content/docs/api/generated/reference-mariadb.mdx
new file mode 100644
index 0000000..f92dc57
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-mariadb.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-mongo.mdx b/apps/docs-new/content/docs/api/generated/reference-mongo.mdx
new file mode 100644
index 0000000..334acd9
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-mongo.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-mounts.mdx b/apps/docs-new/content/docs/api/generated/reference-mounts.mdx
new file mode 100644
index 0000000..8082955
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-mounts.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-mysql.mdx b/apps/docs-new/content/docs/api/generated/reference-mysql.mdx
new file mode 100644
index 0000000..aeb72ac
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-mysql.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-notification.mdx b/apps/docs-new/content/docs/api/generated/reference-notification.mdx
new file mode 100644
index 0000000..d7901b2
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-notification.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-organization.mdx b/apps/docs-new/content/docs/api/generated/reference-organization.mdx
new file mode 100644
index 0000000..6ca7904
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-organization.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-port.mdx b/apps/docs-new/content/docs/api/generated/reference-port.mdx
new file mode 100644
index 0000000..3b96040
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-port.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-postgres.mdx b/apps/docs-new/content/docs/api/generated/reference-postgres.mdx
new file mode 100644
index 0000000..983f588
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-postgres.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-previewDeployment.mdx b/apps/docs-new/content/docs/api/generated/reference-previewDeployment.mdx
new file mode 100644
index 0000000..c4dd088
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-previewDeployment.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-project.mdx b/apps/docs-new/content/docs/api/generated/reference-project.mdx
new file mode 100644
index 0000000..86167e5
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-project.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-redirects.mdx b/apps/docs-new/content/docs/api/generated/reference-redirects.mdx
new file mode 100644
index 0000000..7797dbb
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-redirects.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-redis.mdx b/apps/docs-new/content/docs/api/generated/reference-redis.mdx
new file mode 100644
index 0000000..0529270
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-redis.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-registry.mdx b/apps/docs-new/content/docs/api/generated/reference-registry.mdx
new file mode 100644
index 0000000..8ee38a4
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-registry.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-rollback.mdx b/apps/docs-new/content/docs/api/generated/reference-rollback.mdx
new file mode 100644
index 0000000..8b31b5b
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-rollback.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-schedule.mdx b/apps/docs-new/content/docs/api/generated/reference-schedule.mdx
new file mode 100644
index 0000000..32d5e85
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-schedule.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-security.mdx b/apps/docs-new/content/docs/api/generated/reference-security.mdx
new file mode 100644
index 0000000..8cd948e
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-security.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-server.mdx b/apps/docs-new/content/docs/api/generated/reference-server.mdx
new file mode 100644
index 0000000..3b2d59c
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-server.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-settings.mdx b/apps/docs-new/content/docs/api/generated/reference-settings.mdx
new file mode 100644
index 0000000..9f8e4ba
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-settings.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-sshKey.mdx b/apps/docs-new/content/docs/api/generated/reference-sshKey.mdx
new file mode 100644
index 0000000..5b6c17b
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-sshKey.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-stripe.mdx b/apps/docs-new/content/docs/api/generated/reference-stripe.mdx
new file mode 100644
index 0000000..cae965b
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-stripe.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-swarm.mdx b/apps/docs-new/content/docs/api/generated/reference-swarm.mdx
new file mode 100644
index 0000000..9d8d65c
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-swarm.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-user.mdx b/apps/docs-new/content/docs/api/generated/reference-user.mdx
new file mode 100644
index 0000000..8acecac
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-user.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/generated/reference-volumeBackups.mdx b/apps/docs-new/content/docs/api/generated/reference-volumeBackups.mdx
new file mode 100644
index 0000000..23972f6
--- /dev/null
+++ b/apps/docs-new/content/docs/api/generated/reference-volumeBackups.mdx
@@ -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: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/index.mdx b/apps/docs-new/content/docs/api/index.mdx
new file mode 100644
index 0000000..0e636fb
--- /dev/null
+++ b/apps/docs-new/content/docs/api/index.mdx
@@ -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": []
+ },
+]
+```
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/api/meta.json b/apps/docs-new/content/docs/api/meta.json
new file mode 100644
index 0000000..7fd17a1
--- /dev/null
+++ b/apps/docs-new/content/docs/api/meta.json
@@ -0,0 +1,7 @@
+{
+ "title": "API",
+ "description": "API Documentation",
+ "icon": "Building2",
+ "root": true,
+ "pages": ["---Get Started---", "index", "---API---", "...", "---Reference---"]
+}
diff --git a/apps/docs-new/content/docs/cli/application.mdx b/apps/docs-new/content/docs/cli/application.mdx
new file mode 100644
index 0000000..0774fe6
--- /dev/null
+++ b/apps/docs-new/content/docs/cli/application.mdx
@@ -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.
+
diff --git a/apps/docs-new/content/docs/cli/authentication.mdx b/apps/docs-new/content/docs/cli/authentication.mdx
new file mode 100644
index 0000000..0783a21
--- /dev/null
+++ b/apps/docs-new/content/docs/cli/authentication.mdx
@@ -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.
+
+
+
+
+## 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.
+
diff --git a/apps/docs-new/content/docs/cli/databases.mdx b/apps/docs-new/content/docs/cli/databases.mdx
new file mode 100644
index 0000000..ee2516a
--- /dev/null
+++ b/apps/docs-new/content/docs/cli/databases.mdx
@@ -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.
+
diff --git a/apps/docs-new/content/docs/cli/enviroment.mdx b/apps/docs-new/content/docs/cli/enviroment.mdx
new file mode 100644
index 0000000..bdfbfa8
--- /dev/null
+++ b/apps/docs-new/content/docs/cli/enviroment.mdx
@@ -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 ` - Pull environment variables from Dokploy in a file.
+2. `dokploy env push ` - Push environment variables to Dokploy from a file.
+
diff --git a/apps/docs-new/content/docs/cli/index.mdx b/apps/docs-new/content/docs/cli/index.mdx
new file mode 100644
index 0000000..ee1c0d7
--- /dev/null
+++ b/apps/docs-new/content/docs/cli/index.mdx
@@ -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
+```
diff --git a/apps/docs-new/content/docs/cli/meta.json b/apps/docs-new/content/docs/cli/meta.json
new file mode 100644
index 0000000..2429f37
--- /dev/null
+++ b/apps/docs-new/content/docs/cli/meta.json
@@ -0,0 +1,13 @@
+{
+ "title": "CLI",
+ "description": "CLI Documentation",
+ "icon": "Building2",
+ "root": true,
+ "pages": [
+ "---Get Started---",
+ "index",
+ "comparisons",
+ "---Commands---",
+ "..."
+ ]
+}
diff --git a/apps/docs-new/content/docs/cli/project.mdx b/apps/docs-new/content/docs/cli/project.mdx
new file mode 100644
index 0000000..efe09eb
--- /dev/null
+++ b/apps/docs-new/content/docs/cli/project.mdx
@@ -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.
+
diff --git a/apps/docs-new/content/docs/core/(Git-Sources)/Docker.mdx b/apps/docs-new/content/docs/core/(Git-Sources)/Docker.mdx
new file mode 100644
index 0000000..b0a30b8
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(Git-Sources)/Docker.mdx
@@ -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 |
+
+
+ For private registries, authentication is required. For public images, you can leave the username and password fields empty.
+
+
+## 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
+
+
+ **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
+
+
+## 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
+
+
+
+
diff --git a/apps/docs-new/content/docs/core/(Git-Sources)/bitbucket.mdx b/apps/docs-new/content/docs/core/(Git-Sources)/bitbucket.mdx
new file mode 100644
index 0000000..5a6b757
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(Git-Sources)/bitbucket.mdx
@@ -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.
+
+
+Dokploy doesn't support Bitbucket Automatic deployments on each push you make to your repository.
+
+
+
+## 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.
+
+
+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.
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/core/(Git-Sources)/gitea.mdx b/apps/docs-new/content/docs/core/(Git-Sources)/gitea.mdx
new file mode 100644
index 0000000..0a20be3
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(Git-Sources)/gitea.mdx
@@ -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.
+
+
+Dokploy doesn't support Gitea Automatic deployments on each push you make to your repository.
+
+
+
+## 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.
+
+
+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.
+
+
+Normal
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/core/(Git-Sources)/github.mdx b/apps/docs-new/content/docs/core/(Git-Sources)/github.mdx
new file mode 100644
index 0000000..1e5cf45
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(Git-Sources)/github.mdx
@@ -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.
+
+
+When you use this method, By default you will have Automatic deployments on each push you make to your 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.
+
+
+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.
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/core/(Git-Sources)/gitlab.mdx b/apps/docs-new/content/docs/core/(Git-Sources)/gitlab.mdx
new file mode 100644
index 0000000..8a0023d
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(Git-Sources)/gitlab.mdx
@@ -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.
+
+
+Dokploy doesn't support Gitlab Automatic deployments on each push you make to your repository.
+
+
+
+## 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.
+
+
+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.
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/core/(Notifications)/discord.mdx b/apps/docs-new/content/docs/core/(Notifications)/discord.mdx
new file mode 100644
index 0000000..a29e674
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(Notifications)/discord.mdx
@@ -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.
diff --git a/apps/docs-new/content/docs/core/(Notifications)/email.mdx b/apps/docs-new/content/docs/core/(Notifications)/email.mdx
new file mode 100644
index 0000000..0875888
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(Notifications)/email.mdx
@@ -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.
+
+
diff --git a/apps/docs-new/content/docs/core/(Notifications)/gotify.mdx b/apps/docs-new/content/docs/core/(Notifications)/gotify.mdx
new file mode 100644
index 0000000..71da989
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(Notifications)/gotify.mdx
@@ -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).
+
+
+
diff --git a/apps/docs-new/content/docs/core/(Notifications)/ntfy.mdx b/apps/docs-new/content/docs/core/(Notifications)/ntfy.mdx
new file mode 100644
index 0000000..c5a35fb
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(Notifications)/ntfy.mdx
@@ -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/).
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/core/(Notifications)/overview.mdx b/apps/docs-new/content/docs/core/(Notifications)/overview.mdx
new file mode 100644
index 0000000..b5ea691
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(Notifications)/overview.mdx
@@ -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.
+
diff --git a/apps/docs-new/content/docs/core/(Notifications)/slack.mdx b/apps/docs-new/content/docs/core/(Notifications)/slack.mdx
new file mode 100644
index 0000000..e3936a6
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(Notifications)/slack.mdx
@@ -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.
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/core/(Notifications)/telegram.mdx b/apps/docs-new/content/docs/core/(Notifications)/telegram.mdx
new file mode 100644
index 0000000..64b81cf
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(Notifications)/telegram.mdx
@@ -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.
diff --git a/apps/docs-new/content/docs/core/(S3-Destinations)/actions.mdx b/apps/docs-new/content/docs/core/(S3-Destinations)/actions.mdx
new file mode 100644
index 0000000..60bb767
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(S3-Destinations)/actions.mdx
@@ -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.
+
+
+ There is a Button `Test` that will test the connection to your bucket, if it is correct it will show you a success message.
+
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/core/(S3-Destinations)/aws-s3.mdx b/apps/docs-new/content/docs/core/(S3-Destinations)/aws-s3.mdx
new file mode 100644
index 0000000..93ff698
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(S3-Destinations)/aws-s3.mdx
@@ -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..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.
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/core/(S3-Destinations)/backblaze-b2.mdx b/apps/docs-new/content/docs/core/(S3-Destinations)/backblaze-b2.mdx
new file mode 100644
index 0000000..eececc9
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(S3-Destinations)/backblaze-b2.mdx
@@ -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.
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/core/(S3-Destinations)/cloudflare-r2.mdx b/apps/docs-new/content/docs/core/(S3-Destinations)/cloudflare-r2.mdx
new file mode 100644
index 0000000..a686d19
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(S3-Destinations)/cloudflare-r2.mdx
@@ -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.
diff --git a/apps/docs-new/content/docs/core/(Users)/permissions.mdx b/apps/docs-new/content/docs/core/(Users)/permissions.mdx
new file mode 100644
index 0000000..022b16e
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(Users)/permissions.mdx
@@ -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.
diff --git a/apps/docs-new/content/docs/core/(examples)/11ty.mdx b/apps/docs-new/content/docs/core/(examples)/11ty.mdx
new file mode 100644
index 0000000..417fd7f
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(examples)/11ty.mdx
@@ -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).
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/core/(examples)/astro-ssr.mdx b/apps/docs-new/content/docs/core/(examples)/astro-ssr.mdx
new file mode 100644
index 0000000..805a2f1
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(examples)/astro-ssr.mdx
@@ -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).
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/core/(examples)/astro.mdx b/apps/docs-new/content/docs/core/(examples)/astro.mdx
new file mode 100644
index 0000000..78b7b89
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(examples)/astro.mdx
@@ -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).
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/core/(examples)/deno.mdx b/apps/docs-new/content/docs/core/(examples)/deno.mdx
new file mode 100644
index 0000000..fd3aab3
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(examples)/deno.mdx
@@ -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).
diff --git a/apps/docs-new/content/docs/core/(examples)/html.mdx b/apps/docs-new/content/docs/core/(examples)/html.mdx
new file mode 100644
index 0000000..97a4739
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(examples)/html.mdx
@@ -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).
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/core/(examples)/lit.mdx b/apps/docs-new/content/docs/core/(examples)/lit.mdx
new file mode 100644
index 0000000..87f34c3
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(examples)/lit.mdx
@@ -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).
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/core/(examples)/nestjs.mdx b/apps/docs-new/content/docs/core/(examples)/nestjs.mdx
new file mode 100644
index 0000000..b10bb74
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(examples)/nestjs.mdx
@@ -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).
diff --git a/apps/docs-new/content/docs/core/(examples)/nextjs.mdx b/apps/docs-new/content/docs/core/(examples)/nextjs.mdx
new file mode 100644
index 0000000..f351ea5
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(examples)/nextjs.mdx
@@ -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).
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/core/(examples)/preact.mdx b/apps/docs-new/content/docs/core/(examples)/preact.mdx
new file mode 100644
index 0000000..605d3ac
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(examples)/preact.mdx
@@ -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).
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/core/(examples)/qwik.mdx b/apps/docs-new/content/docs/core/(examples)/qwik.mdx
new file mode 100644
index 0000000..92101d5
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(examples)/qwik.mdx
@@ -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).
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/core/(examples)/remix.mdx b/apps/docs-new/content/docs/core/(examples)/remix.mdx
new file mode 100644
index 0000000..b7a028e
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(examples)/remix.mdx
@@ -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).
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/core/(examples)/solidjs.mdx b/apps/docs-new/content/docs/core/(examples)/solidjs.mdx
new file mode 100644
index 0000000..fb2dd69
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(examples)/solidjs.mdx
@@ -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).
diff --git a/apps/docs-new/content/docs/core/(examples)/svelte.mdx b/apps/docs-new/content/docs/core/(examples)/svelte.mdx
new file mode 100644
index 0000000..0e06b85
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(examples)/svelte.mdx
@@ -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).
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/core/(examples)/tanstack.mdx b/apps/docs-new/content/docs/core/(examples)/tanstack.mdx
new file mode 100644
index 0000000..76f1e77
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(examples)/tanstack.mdx
@@ -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).
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/core/(examples)/turborepo.mdx b/apps/docs-new/content/docs/core/(examples)/turborepo.mdx
new file mode 100644
index 0000000..4fe9782
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(examples)/turborepo.mdx
@@ -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).
diff --git a/apps/docs-new/content/docs/core/(examples)/vite-react.mdx b/apps/docs-new/content/docs/core/(examples)/vite-react.mdx
new file mode 100644
index 0000000..84516dd
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(examples)/vite-react.mdx
@@ -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).
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/core/(examples)/vuejs.mdx b/apps/docs-new/content/docs/core/(examples)/vuejs.mdx
new file mode 100644
index 0000000..4fbcb20
--- /dev/null
+++ b/apps/docs-new/content/docs/core/(examples)/vuejs.mdx
@@ -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).
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/core/applications/advanced.mdx b/apps/docs-new/content/docs/core/applications/advanced.mdx
new file mode 100644
index 0000000..619c22a
--- /dev/null
+++ b/apps/docs-new/content/docs/core/applications/advanced.mdx
@@ -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.
+
+
+
+
+
+### 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.
diff --git a/apps/docs-new/content/docs/core/applications/build-type.mdx b/apps/docs-new/content/docs/core/applications/build-type.mdx
new file mode 100644
index 0000000..08f103c
--- /dev/null
+++ b/apps/docs-new/content/docs/core/applications/build-type.mdx
@@ -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.
+
+
+Ensure to use the port `80` when creating a domain.
+
+
+## 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.
diff --git a/apps/docs-new/content/docs/core/applications/going-production.mdx b/apps/docs-new/content/docs/core/applications/going-production.mdx
new file mode 100644
index 0000000..91ca961
--- /dev/null
+++ b/apps/docs-new/content/docs/core/applications/going-production.mdx
@@ -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: `/`
+
+
+The repo have everything you need, however you can follow the same idea for your own applications.
+
+
+
+
+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:///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.
diff --git a/apps/docs-new/content/docs/core/applications/index.mdx b/apps/docs-new/content/docs/core/applications/index.mdx
new file mode 100644
index 0000000..81b4642
--- /dev/null
+++ b/apps/docs-new/content/docs/core/applications/index.mdx
@@ -0,0 +1,78 @@
+---
+title: Applications
+description: "Explore the multiple deployment methods available in Dokploy, including GitHub, Git, Docker, and automated deployments via webhooks."
+---
+
+Applications in Dokploy are treated as a single service, entity or container, making it easy and intuitive for users to work with each application in its own workspace.
+
+We offer multiple functionalities that you can use to manage your applications, such as:
+
+## General
+
+Configure the source of your code, the way your application is built, and also manage actions like deploying, updating, and deleting your application, and stopping it.
+
+## Environment
+
+If you need to assign environment variables to your application, you can do so here.
+
+In case you need to use a multiline variable, you can wrap it in double quotes just like this `'"here_is_my_private_key"'`.
+
+## Monitoring
+
+Four graphs will be displayed for the use of memory, CPU, disk, and network. Note that the information is only updated if you are viewing the current page, otherwise it will not be updated.
+
+## Logs
+
+If you want to see any important logs from your application that is running, you can do so here and determine if your application is displaying any errors or not.
+
+## Deployments
+
+You can view the last 10 deployments of your application. When you deploy your application in real time, a new deployment record will be created and it will gradually show you how your application is being built.
+
+We also offer a button to cancel deployments that are in queue. Note that those in progress cannot be canceled.
+
+We provide a webhook so that you can trigger your own deployments by pushing to your GitHub, Gitea, GitLab, Bitbucket, DockerHub repository.
+
+## Domains
+
+This is where you will assign your domain so that your application can be accessed from the internet.
+
+There are two ways to assign a domain:
+
+1. Create a custom domain.
+2. Use a generated domain, we use traefik.me to generate free domains.
+
+## Advanced Settings
+
+This section provides advanced configuration options for experienced users. It includes tools for custom commands within the container, managing Docker Swarm settings, and adjusting cluster settings such as replicas and registry selection. These tools are typically not required for standard application deployment and are intended for complex management and troubleshooting tasks.
+
+- **Run Command**: Execute custom commands directly in the container, after the application has been build & running.
+- **Cluster Settings**: Configure the number of replicas and select the Docker registry for your deployment to manage how your application scales and where it pulls images from.
+- **Swarm Settings**: Access additional Docker Swarm configurations for detailed orchestration and scaling across multiple nodes.
+- **Resources**: Adjust the CPU and memory allocation for your application.
+- **Volumes**: To ensure data persistence across deployments, configure storage volumes for your application, you can create Volumes, Binds, File Mounts.
+- **Ports**: Expose your application to the internet by configuring network ports.
+- **Traefik**: Modify Traefik settings to manage HTTP request handling for your application.
+
+## Keyboard Shortcuts
+
+To help speed up navigating there are some built in keyboard shortcuts for
+navigating tabs on application pages. Similar to GitHub these are all prefixed
+with the `g` key so to use them press `g` and then the shortcut key.
+
+| Key | Tab |
+| --- | ------------------- |
+| `g` | General |
+| `e` | Environment |
+| `u` | Domains |
+| `p` | Preview Deployments |
+| `s` | Schedules |
+| `v` | Volume Backups |
+| `d` | Deployments |
+| `l` | Logs |
+| `m` | Monitoring |
+| `a` | Advanced |
+
+### Note
+
+Adjust these settings carefully as incorrect configurations can significantly impact your application’s functionality and availability.
diff --git a/apps/docs-new/content/docs/core/applications/preview-deployments.mdx b/apps/docs-new/content/docs/core/applications/preview-deployments.mdx
new file mode 100644
index 0000000..1c8a739
--- /dev/null
+++ b/apps/docs-new/content/docs/core/applications/preview-deployments.mdx
@@ -0,0 +1,75 @@
+---
+title: Preview Deployments
+description: "Preview deployments allow you to test and review your application changes in an isolated environment before merging to production."
+---
+
+Preview deployments are a powerful feature specifically designed for applications with GitHub integration. This feature is disabled by default but can be easily enabled to enhance your development workflow.
+
+
+
+
+We recommend not using preview deployments for public repositories, since external people can execute builds and deployments in your server.
+
+
+## Configuration
+
+By default, Dokploy generates dynamic domains using traefik.me domains, which are free and require no additional configuration. The default port is 3000, but you can adjust this based on your application's requirements. You can also limit the number of preview deployments per application (default is 3).
+
+### Custom Domains
+
+If you prefer using a custom domain, you can configure it like this:
+
+```
+*.mydomain.com
+```
+
+Dokploy will generate domains following this pattern:
+
+```
+preview-${appName}-${uniqueId}.traefik.me
+```
+
+To make this work, you need to point your wildcard DNS record (*) to your server's IP address.
+
+## How It Works
+
+Once enabled, preview deployments are automatically created whenever a pull request is opened against your target branch (configured in your provider settings).
+
+For example:
+- If your provider is configured to use the `main` branch
+- And you create a pull request from `feature/new-feature` to `main`
+- A preview deployment will be automatically created for the `feature/new-feature` branch
+
+Note: Pull requests to branches other than your configured target branch will not trigger preview deployments.
+
+### Filtering labels
+
+If you only want pull requests with a specific label to create preview deployments, you can specify one or multiple in the preview settings.
+Dokploy will check that at least one of the labels is present on the pull request. If you leave the settings field empty, Dokploy will create
+preview deployments for all pull requests, regardless of labels.
+
+### Monitoring Deployments
+
+When you open a pull request, you can monitor the deployment progress in the preview deployments section:
+
+
+
+In this section, you can:
+- View the deployment status
+- Access the preview URL once deployed
+- Check build and deployment logs
+- Monitor deployment updates
+- Update domain configuration
+
+### Automatic Updates
+
+The preview deployment will automatically:
+- Update with each new commit to the pull request
+- Create a new build and deployment
+- Clean up when the pull request is closed or merged
+
+This continuous preview system allows teams to review and test changes in isolation before merging to production.
+
+
+ If you have security or redirects created in your application, it will inherit the same configuration for the preview deployment.
+
diff --git a/apps/docs-new/content/docs/core/applications/rollbacks.mdx b/apps/docs-new/content/docs/core/applications/rollbacks.mdx
new file mode 100644
index 0000000..dfb15ec
--- /dev/null
+++ b/apps/docs-new/content/docs/core/applications/rollbacks.mdx
@@ -0,0 +1,84 @@
+---
+title: Rollbacks
+description: Learn how to rollback your application in Dokploy.
+---
+
+Rollbacks are a powerful feature that allows you to easily revert changes to your application. This is particularly useful when you encounter issues or want to revert to a previous version of your application.
+
+
+## Requirements
+
+1. Have a `/health` endpoint in your application.
+2. Have `curl` available in your container (if you use alpine for example, it won't be installed by default).
+
+## Steps to Rollback
+
+
+Let's suppose we have a NodeJS application that has a health check route `/api/health` that returns a 200 status code and running in the port 3000.
+
+1. In your application is necessary to have a `Path` or `Health Route` to be able to achieve zero downtime deployments eg. in the case of a NodeJS app you can have a route `/api/health` that returns a 200 status code.
+2. Go to `Advanced` Tab and go to Cluster Settings and enter to `Swarm Settings`
+3. There are a couple options that you can use, in this case we will focus on `Health Check` and `Update Config`.
+4. Paste this code in the health check field:
+Make sure the API Route exists in your application
+
+```json
+{
+ "Test": [
+ "CMD",
+ "curl",
+ "-f",
+ "http://localhost:3000/api/health"
+ ],
+ "Interval": 30000000000,
+ "Timeout": 10000000000,
+ "StartPeriod": 30000000000,
+ "Retries": 3
+}
+```
+5. 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"
+}
+```
+
+## Rollback to a specific version
+
+The previous steps covered Docker Swarm's automatic rollback feature. Since v0.23.0, Dokploy also supports manual rollbacks to specific deployment points, giving you more control over your application versions.
+
+### Enabling Rollback Feature
+
+To start saving deployment snapshots for rollbacks:
+
+1. Navigate to your application
+2. Go to **Deployments** → **Rollback Settings**
+3. Enable the **Rollback** option
+
+### How it works
+
+- **Automatic snapshots**: Every time you deploy, Dokploy creates a rollback point associated with that deployment
+- **Manual rollback**: Click the **Rollback** button next to any deployment to revert to that specific version
+- **Automatic cleanup**: When old deployments are deleted, their associated rollback snapshots and images are also removed to save space
+
+### Performing a rollback
+
+1. Go to your application's **Deployments** section
+2. Find the deployment version you want to rollback to
+3. Click the **Rollback** button next to that deployment
+4. Confirm the rollback action
+
+
+ Having rollbacks enabled will increase storage usage, as it saves previous versions of your application. Consider your storage capacity when enabling this feature.
+
+
+
+ **Important**: If you manually clean Docker images using commands like `docker image prune` or `docker system prune`, the rollback snapshots may be lost. Avoid cleaning Docker images if you want to preserve your rollback history.
+
diff --git a/apps/docs-new/content/docs/core/applications/zero-downtime.mdx b/apps/docs-new/content/docs/core/applications/zero-downtime.mdx
new file mode 100644
index 0000000..ddab2c9
--- /dev/null
+++ b/apps/docs-new/content/docs/core/applications/zero-downtime.mdx
@@ -0,0 +1,76 @@
+---
+title: Zero Downtime
+description: Learn how to configure zero downtime deployments in Dokploy.
+---
+
+
+Dokploy allows you to configure zero downtime deployments, which means that you can deploy your application without any downtime.
+
+By default when you create a new deployment it will stop the latest running container and start the new one. This is the default behavior of Docker Swarm and this leads to Bad Gateway since
+the containers are initializing at the same time,
+but Dokploy allows you to configure zero downtime deployments.
+
+## Steps to configure Zero Downtime Deployments
+
+Let's suppose we have a NodeJS application that has a health check route `/api/health` that returns a 200 status code and running in the port 3000.
+
+1. In your application is necessary to have a `Path` or `Health Route` to be able to achieve zero downtime deployments eg. in the case of a NodeJS app you can have a route `/api/health` that returns a 200 status code.
+2. Go to `Advanced` Tab and go to Cluster Settings and enter to `Swarm Settings`
+3. There are a couple options that you can use, in this case we will focus on `Health Check`.
+4. Paste this code in the health check field:
+Make sure the API Route exists in your application
+
+```json
+{
+ "Test": [
+ "CMD",
+ "curl",
+ "-f",
+ "http://localhost:3000/api/health"
+ ],
+ "Interval": 30000000000,
+ "Timeout": 10000000000,
+ "StartPeriod": 30000000000,
+ "Retries": 3
+}
+```
+
+## Example
+
+1. We will use this example [Github Repo](https://github.com/Dokploy/swarm-test)
+2. It Have a endpoint called `health` [endpoint](https://github.com/Dokploy/swarm-test/blob/main/index.js#L20) which is the one that will tell us if our application is healthy.
+3. For testing purpose I've added a sleep to simulate the delay between the deployments and you can see the bad gateway error.
+
+
+1. **Use Git Provider in Your Application**:
+ - Repository: `https://github.com/Dokploy/swarm-test`
+ - Branch: `main`
+ - Build path: `/`
+
+If you want to test that there is no zero downtime yet, you can simply deploy the application and then create another deployment and while doing the deployment reload the page in the path /health and you will see that a bad gateway will appear.
+
+Now go to the advanced section of our application, and go to the Swarm Settings section, we are going to modify the first section of Healtchecks.
+
+We will use this configuration specifically, paste and save it
+
+```json
+{
+ "Test": [
+ "CMD",
+ "curl",
+ "-f",
+ "http://localhost:3000/health"
+ ],
+ "Interval": 30000000000,
+ "Timeout": 10000000000,
+ "StartPeriod": 30000000000,
+ "Retries": 3
+}
+```
+
+This configuration basically tells to Docker to do:
+
+Make a request inside the container to http://localhost:3000/health and then we are also saying to make in interval of 30000000000 nanosec, and also makes 3 retries before switching to the new container
+
+that would be all, Now you have Zero Downtime Deployments 🎊.
+
diff --git a/apps/docs-new/content/docs/core/architecture.mdx b/apps/docs-new/content/docs/core/architecture.mdx
new file mode 100644
index 0000000..b2c88f7
--- /dev/null
+++ b/apps/docs-new/content/docs/core/architecture.mdx
@@ -0,0 +1,29 @@
+---
+title: 'Architecture of Dokploy'
+description: 'Overview of the core architecture components of Dokploy.'
+---
+
+Understanding the architecture of Dokploy is crucial for both deploying and scaling applications. Below is a diagram illustrating the core components:
+
+
+
+
+## Installation Process
+
+When Dokploy is installed, it automatically sets up the following components:
+
+1. **Next.js Application**: Serves as the frontend interface. Utilizing Next.js allows for an integrated server-side rendering experience, streamlining the UI and backend into a single cohesive application.
+2. **PostgreSQL Database**: Acts as the primary database for Dokploy, chosen for its robustness and widespread adoption. It stores all the configuration and operational data.
+3. **Redis Database**: Employed for managing deployment queues. This ensures that multiple deployments do not trigger simultaneously, which could lead to high server load and potential freezing.
+4. **Traefik**: Used as a reverse proxy and load balancer. Traefik facilitates dynamic routing and service discovery which simplifies the configuration process by allowing declarative setup through the UI.
+
+## Purpose and Functionality
+
+Each component in the Dokploy architecture plays a vital role:
+
+- **Next.js**: Provides a scalable and easy-to-manage frontend framework, encapsulating both server and client-side logic in one platform. This simplifies deployment and development workflows.
+- **PostgreSQL**: Delivers reliable and secure data storage capabilities. Its use within Dokploy ensures consistency and high performance for all database operations.
+- **Redis**: Handles concurrency and job scheduling. By using Redis, Dokploy can efficiently manage deployment tasks, avoiding collisions and server overload during simultaneous operations.
+- **Traefik**: Enhances Docker integration. Its ability to read from and write to Docker configurations declaratively allows Dokploy to automate and streamline network traffic management and service discovery.
+
+This structure ensures that Dokploy is not only efficient in deploying applications but also robust in handling traffic and data at scale.
diff --git a/apps/docs-new/content/docs/core/auto-deploy.mdx b/apps/docs-new/content/docs/core/auto-deploy.mdx
new file mode 100644
index 0000000..27f9f51
--- /dev/null
+++ b/apps/docs-new/content/docs/core/auto-deploy.mdx
@@ -0,0 +1,111 @@
+---
+title: Auto Deploy
+description: Automatically deploying your application to Dokploy can be achieved through two primary methods using Webhooks or the Dokploy API. Each method supports various platforms and provides a streamlined deployment process.
+---
+
+## Supported Services:
+
+Auto deploy is only valid for the following services:
+
+- Applications
+- Docker Compose
+
+## Github
+
+For Github, we provide autodeploy without any configuration. This will automatically deploy your application whenever you push to your repository.
+
+## Webhook URL
+
+Webhooks allow you to automatically deploy your application whenever changes are made in your source repository.
+
+- GitHub
+- GitLab
+- Bitbucket
+- Gitea
+- DockerHub (Only for Applications)
+
+
+
+### Configuration Steps
+
+1. **Enable Auto Deploy**: Toggle the 'Auto Deploy' button found in the general tab of your application settings in Dokploy.
+2. **Obtain Webhook URL**: Locate the Webhook URL from the deployment logs.
+
+
+
+3. **Configure Your Repository**:
+ - Navigate to your repository settings on your chosen platform.
+ - Add the webhook URL provided by Dokploy.
+ - Ensure the settings match the configuration necessary for triggering the webhook.
+
+
+
+#### Important Notes
+
+- **Branch Matching**: When using Git-based providers (GitHub, GitLab, Gitea, etc.), ensure that the branch configured in Dokploy matches the branch you intend to push to. Misalignment will result in a "Branch Not Match" error.
+- **Docker Tags**: For deployments using DockerHub, ensure the tag pushed matches the one specified in Dokploy.
+- The steps are the same for all the providers.
+
+
+
+ The steps are almost the same for all the Git providers, GitHub, GitLab, Bitbucket, Gitea.
+
+
+
+## Dockerhub (Only Applications)
+
+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.
+
+## API Method
+
+Deploy your application programmatically using the Dokploy API from anywhere, this is useful when you want to trigger a deployment from a CI/CD pipeline or from a script.
+
+### Steps to Deploy Using API
+
+Steps:
+
+1. **Generate a Token**: Create an API token in your profile settings on Dokploy.
+2. **Retrieve Application ID**:
+
+```http
+curl -X 'GET' \
+ 'https://your-domain/api/project.all' \
+ -H 'accept: application/json' \
+ -H 'x-api-key: '
+```
+
+This command lists all projects and services. Identify the applicationId for the application you wish to deploy.
+
+3. **Trigger Deployment**:
+
+```http
+curl -X 'POST' \
+ 'https://your-domain/api/application.deploy' \
+ -H 'accept: application/json' \
+ -H 'Content-Type: application/json' \
+ -H 'x-api-key: ' \
+ -d '{
+ "applicationId": "string"
+}'
+```
+
+This API method allows for flexible, scriptable deployment options, suitable for automated systems or situations where direct repository integration is not feasible.
+In this way you can deploy your application from anywhere, you can use the webhook URL or the API.
diff --git a/apps/docs-new/content/docs/core/backups.mdx b/apps/docs-new/content/docs/core/backups.mdx
new file mode 100644
index 0000000..7233134
--- /dev/null
+++ b/apps/docs-new/content/docs/core/backups.mdx
@@ -0,0 +1,60 @@
+---
+title: Backups
+description: 'Learn how to create and restore backups of your Dokploy applications and services.'
+---
+
+import { Callout } from 'fumadocs-ui/components/callout';
+
+Dokploy provides a comprehensive backup and restore system that saves your entire Dokploy file system and database to ensure your data is safe and recoverable.
+
+## Prerequisites
+
+Before using the backup feature, you need to have an S3 destination configured in your system. This is where your backups will be stored.
+
+## Creating Backups
+
+To create a backup:
+
+1. Navigate to Web Server → Backups
+2. Select "Create Backup"
+3. Choose your S3 destination
+4. Configure the backup schedule using cron syntax (optional)
+
+When a backup is created, Dokploy will:
+- Back up the PostgreSQL database (`dokploy-postgres`)
+- Save the Dokploy file system (`/etc/dokploy`)
+- Combine and compress both into a single backup file (.zip)
+- Upload the backup to your specified S3 destination
+
+## Restoring Backups
+
+To restore a backup:
+
+1. Navigate to Web Server → Backups
+2. Select "Restore Backup"
+3. Choose the S3 destination containing your backup
+4. Browse and select the backup file you want to restore
+5. Review the summary of files to be restored
+
+During restoration, Dokploy will:
+- Clear the existing `/etc/dokploy` directory and replace it with the backup contents
+- Drop the existing `dokploy-postgres` database
+- Disconnect current database users
+- Restore the database from the backup
+
+
+After restoration is complete, you may need to log in again. If necessary, you can restart Traefik to ensure all services are properly configured.
+
+
+## Post-Restoration Steps
+
+After restoring a backup, especially if you're restoring to a different server, consider the following:
+
+1. If your server IP has changed:
+ - Update the IP address in Web Server → Server → Update IP
+ - Reconfigure Git providers if they were set up using IP addresses
+ - Update your DNS records to point to the new IP
+ - Recreate Traefik.me domains if you're using them
+
+2. If you're using domain names instead of IPs for Git providers, no additional configuration is needed.
+
diff --git a/apps/docs-new/content/docs/core/certificates.mdx b/apps/docs-new/content/docs/core/certificates.mdx
new file mode 100644
index 0000000..518f485
--- /dev/null
+++ b/apps/docs-new/content/docs/core/certificates.mdx
@@ -0,0 +1,33 @@
+---
+title: Certificates
+description: 'Configure your certificates to secure your applications.'
+---
+
+import { Callout } from 'fumadocs-ui/components/callout';
+
+Dokploy offers a UI to manage your certificates.
+
+
+We expose a UI to create and delete the certificates, we ask two fields:
+
+1. **Name**: Enter a name for the certificate (this can be anything you choose).
+2. **Certificate Data**: Provide the certificate details.
+3. **Private Key**: Enter the private key.
+4. **(Optional) Server**: If you want to create a certificate for a server, you can select it here.
+
+
+ This action will create the files, but that doesn't mean it will work automatically. You need to adjust the Traefik configuration to use it, this configuration will make
+ to traefik can recognize the certificate.
+
+
+## Traefik.me HTTPS Setup
+
+By default, all the domains from `traefik.me` are HTTP only, if you want to use HTTPS you need to create a certificate and use it in the domain settings.
+
+You need to download the full https://traefik.me/fullchain.pem and https://traefik.me/privkey.pem, this are valid for 30 days.s
+
+The fullchain.pem paste in the `Certificate Data` field and the privkey.pem paste in the `Private Key` field.
+
+Now when using the traefik.me domains, make sure to enable `HTTPS` toggle and select the certificate provider set `None`
+
+If you want to remove the certificate, just remove the certificate and in your domains settings remove the `HTTPS` toggle.
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/core/cloud.mdx b/apps/docs-new/content/docs/core/cloud.mdx
new file mode 100644
index 0000000..c8ce9f2
--- /dev/null
+++ b/apps/docs-new/content/docs/core/cloud.mdx
@@ -0,0 +1,20 @@
+---
+title: Dokploy Cloud
+description: "Deploy your apps to multiple servers remotely without worrying about the underlying infrastructure."
+---
+
+
+Dokploy Cloud allows you to deploy your apps to a cloud provider of your choice. This means that you can deploy your apps to any cloud provider, such as AWS, GCP, Azure, or DigitalOcean, without having to worry about the underlying infrastructure.
+
+
+By default when you install Dokploy in a Self Hosted version, if you deploy all your applications by default they will be deployed on the same server where Dokploy UI is installed. This means that you will need to build and run your applications where Dokploy
+UI is installed, which can be a challenge if you don't have the resources to do so, also self hosted support for remote instances.
+
+
+Dokploy cloud starts from $4.50 per month per server, the next is 3.50$, and you can deploy as many applications you want to your remote server connected to a dokploy cloud, multi server feature is recommended for HA and scalability projects.
+
+You can start by registering on the [Dokploy Cloud](https://app.dokploy.com) website and follow the steps to deploy your apps, see the [Pricing](https://dokploy.com#pricing) page for more information.
+
+
+
+
diff --git a/apps/docs-new/content/docs/core/cluster.mdx b/apps/docs-new/content/docs/core/cluster.mdx
new file mode 100644
index 0000000..72d971b
--- /dev/null
+++ b/apps/docs-new/content/docs/core/cluster.mdx
@@ -0,0 +1,82 @@
+---
+title: Cluster
+description: 'Manage server cluster settings.'
+---
+
+When you deploy applications in dokploy, all of them run on the same node. If you wish to run an application on a different server, you can use the cluster feature.
+
+The idea of using clusters is to allow each server to host a different application and, using Traefik along with the load balancer, redirect the traffic from the dokploy server to the servers you choose.
+
+## Server Scaling Methods
+
+There are two primary ways to scale your server:
+
+1. **Vertical Scaling**: This involves adding more resources to the same dokploy server, such as more CPU and RAM.
+2. **Horizontal Scaling**: This method involves adding multiple servers.
+
+### Vertical Scaling
+
+We recommend using vertical scaling to increase the processing capacity of your applications since it's faster and requires less additional configuration.
+
+To perform vertical scaling, you need to add more resources to your dokploy server, that is, more CPU and RAM. This is done through your VPS provider.
+
+It's ideal to first check the vertical scaling limit you can handle. If you find it insufficient, you may consider horizontal scaling.
+
+### Horizontal Scaling
+
+Horizontal scaling usually requires more additional configuration and involves adding more servers (VPS).
+
+If you choose the second option, we will proceed to configure the different servers.
+
+## Requirements for Cluster Setup
+
+1. dokploy server running (Manager).
+2. Have at least one extra server with the same architecture as the dokploy server.
+3. Have a Docker registry.
+
+## Configuring the Docker Registry
+
+To start, we need to configure a Docker registry, as when deploying an application, you need a registry to deploy and download the application image on the other servers.
+
+### External Registry
+
+You can use any external registry of your choice. Here are some popular options:
+
+1. **Docker Hub** - Free tier available, easy to set up
+2. **GitHub Container Registry (ghcr.io)** - Free for public repositories
+3. **DigitalOcean Container Registry** - Simple setup with good integration
+4. **Amazon ECR** - AWS's managed container registry
+5. **Google Container Registry** - Google Cloud's managed registry
+6. **Azure Container Registry** - Microsoft's managed registry
+
+Make sure to enter the correct credentials and test the connection before adding the registry to your cluster configuration.
+
+Once configured, the Cluster section will be unlocked.
+
+## Understanding Docker Swarm
+
+We suggest you read this information to better understand how Docker Swarm works and its orchestration: [Docker Swarm documentation](https://docs.docker.com/engine/swarm/) and its architecture: [How Swarm mode works](https://docs.docker.com/engine/swarm/how-swarm-mode-works/nodes/).
+
+## Managing Your Cluster
+
+Now you can do two things:
+
+1. Add workers.
+2. Add managers.
+
+Managers have two functionalities:
+
+1. Manage the cluster state.
+2. Schedule the services.
+
+Workers have a single purpose, which is to run the containers, acting under the rules created or established by the manager.
+
+## Adding Nodes
+
+You can click the 'Add Node' button, which will display the instructions you need to follow to add your servers as nodes and join them to the dokploy manager node.
+
+
+
+Once you follow the instructions, the workers or managers will appear in the table.
+
+
diff --git a/apps/docs-new/content/docs/core/comparison.mdx b/apps/docs-new/content/docs/core/comparison.mdx
new file mode 100644
index 0000000..eb7833b
--- /dev/null
+++ b/apps/docs-new/content/docs/core/comparison.mdx
@@ -0,0 +1,36 @@
+---
+title: "Comparison"
+description: "A comparison of Dokploy, CapRover, Dokku, and Coolify"
+---
+
+Comparison of the following deployment tools:
+
+| Feature | Dokploy | CapRover | Dokku | Coolify |
+| --------------------------------------- | ------- | --------------------- | --------------------- | ------- |
+| **User Interface** | ✅ | ✅ | ❌ | ✅ |
+| **Docker compose support** | ✅ | ❌ | ❌ | ✅ |
+| **API/CLI** | ✅ | ✅ | ✅ | ✅ |
+| **Multi node support** | ✅ | ✅ | ❌ | ✅ |
+| **Traefik Integration** | ✅ | ✅ | Available via Plugins | ✅ |
+| **User Permission Management** | ✅ | ❌ | ❌ | ✅ |
+| **Bitbucket Integration** | ✅ | ❌ | ❌ | ❌ |
+| **Gitlab Integration** | ✅ | ❌ | ❌ | ❌ |
+| **Gitea Integration** | ✅ | ❌ | ✅ | ❌ |
+| **Advanced User Permission Management** | ✅ | ❌ | ❌ | ❌ |
+| **Terminal Access Built In** | ✅ | ❌ | ❌ | ✅ |
+| **Database Support** | ✅ | ✅ | ❌ | ✅ |
+| **Monitoring** | ✅ | ✅ | ❌ | ❌ |
+| **Backups** | ✅ | Available via Plugins | Available via Plugins | ✅ |
+| **Open Source** | ✅ | ✅ | ✅ | ✅ |
+| **Notifications** | ✅ | ❌ | ❌ | ✅ |
+| **Multi Server Support** | ✅ | ❌ | ❌ | ✅ |
+| **Open Source Templates** | ✅ | ✅ | ❌ | ✅ |
+| **Rollbacks** | ✅ | ✅ | ❌ | ✅ |
+| **Shared Enviroment Variables** | ✅ | ❌ | ❌ | ✅ |
+| **Environments** | ✅ | ❌ | ❌ | ✅ |
+| **Schedules Jobs** | ✅ | ❌ | ❌ | ✅ |
+| **Cloudflare Tunnels** | ❌ | ❌ | ❌ | ✅ |
+| **Volume Backups** | ✅ | ❌ | ❌ | ❌ |
+| **Preview Deployments** | ✅ | ❌ | ❌ | ✅ |
+| **Teams** | ✅ | ❌ | ❌ | ✅ |
+| **Cloud/Paid Version** | ✅ | ✅ | ✅ | ✅ |
diff --git a/apps/docs-new/content/docs/core/databases/backups.mdx b/apps/docs-new/content/docs/core/databases/backups.mdx
new file mode 100644
index 0000000..e91d4d6
--- /dev/null
+++ b/apps/docs-new/content/docs/core/databases/backups.mdx
@@ -0,0 +1,26 @@
+---
+title: Backups
+description: "Learn how to schedule and manage backups for your databases in Dokploy, with options for storage in S3 buckets."
+---
+
+Dokploy provides an integrated solution for backing up your databases, ensuring data safety and recovery capabilities.
+
+## Backing Up Your Database
+
+To configure database backups, navigate to the `Backup` tab within your Dokploy dashboard. Here’s what you’ll need to set up:
+
+- **Select Destination S3 Bucket**: Specify where your backups will be stored. Buckets can be configured in the `/dashboard/settings/destinations` route.
+- **Database Name**: Enter the name of the database you want to backup.
+- **Schedule Cron**: Define the schedule for your backups using cron syntax.
+- **Prefix**: Choose a prefix under which backups will be stored in your bucket.
+- **Enabled**: Toggle whether backups are active. The default setting is enabled.
+
+### Testing Your Backup Configuration
+
+To ensure your backup settings are correctly configured:
+
+1. Click the `Test` button.
+2. This will initiate a test backup to the S3 bucket you selected.
+3. Check the bucket to see the result of the test backup.
+
+This feature provides peace of mind by verifying that your backup process is set up correctly before relying on it for operational backups.
diff --git a/apps/docs-new/content/docs/core/databases/connection/index.mdx b/apps/docs-new/content/docs/core/databases/connection/index.mdx
new file mode 100644
index 0000000..ec796d1
--- /dev/null
+++ b/apps/docs-new/content/docs/core/databases/connection/index.mdx
@@ -0,0 +1,33 @@
+---
+title: Connection
+description: "Learn how to connect to your database using Dokploy."
+---
+
+This section explains how to configure database access for applications in Dokploy, including both internal connections within your network and external connections accessible over the internet.
+
+### Internal Credentials
+
+ Used for connecting to the database from within the same network, without exposing the database to the internet.
+
+- **User**: Username for the database access.
+- **Password**: Secure password for database access.
+- **Database Name**: The name of the database to connect to.
+- **Internal Host**: The hostname or internal identifier for the database within the network.
+- **Internal Port (Container)**: The port used within the container to connect to the database.
+- **Internal Connection URL**: The full connection string used internally to connect to the database.
+
+### External Credentials
+
+Enables the database to be reachable from the internet, necessary for remote management or external applications.
+
+- **External Port (Internet)**: Assign a port that is not currently used by another service to expose the database externally.
+
+#### Steps to Configure External Access
+1. Ensure the external port is available and not in conflict with other services.
+2. Enter the external port you wish to use to expose your database.
+3. The system will automatically generate an external connection URL, which can be used to access the database from any database management tool over the internet, like phpMyAdmin, MySQL Workbench, PgAdmin, etc.
+
+### Important Note
+
+For security reasons, internal credentials should be used for applications running within the same network or environment to prevent unauthorized access. External credentials should only be used when necessary and with proper security measures in place, such as VPNs or IP whitelisting.
+
diff --git a/apps/docs-new/content/docs/core/databases/connection/mariadb.mdx b/apps/docs-new/content/docs/core/databases/connection/mariadb.mdx
new file mode 100644
index 0000000..faf7cef
--- /dev/null
+++ b/apps/docs-new/content/docs/core/databases/connection/mariadb.mdx
@@ -0,0 +1,19 @@
+---
+title: MariaDB
+description: This guide will cover how to connect from Beekeeper Studio to your mariadb databases in dokploy.
+---
+
+1. Download and install Beekeeper Studio [Beekeeper Studio](https://www.beekeeperstudio.io/get).
+2. Go to your `mariadb` databases.
+3. In External Credentials, enter the `External Port (Internet)` make sure the port is not in use by another service eg. `3307` and click `Save`.
+4. It will display the `External Connection URL` eg. `mysql://user:password@1.2.4.5:3306/database`.
+
+Open Beekeeper Studio and follow the steps:
+
+1. Click on `Add New Server`.
+2. Select `MariaDB` as the `Database Type`.
+3. Use `Import URL` to enter the `External Connection URL` from Dokploy eg. `mysql://user:password@1.2.4.5:3306/database`.
+4. Click on `Connect`.
+5. Click on `Save`.
+
+Done! now you can manage the database from Beekeeper Studio.
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/core/databases/connection/mongo-atlas.mdx b/apps/docs-new/content/docs/core/databases/connection/mongo-atlas.mdx
new file mode 100644
index 0000000..bc8c278
--- /dev/null
+++ b/apps/docs-new/content/docs/core/databases/connection/mongo-atlas.mdx
@@ -0,0 +1,18 @@
+---
+title: Mongo Compass
+description: This guide will cover how to configure a Mongo Compass connection for your applications in dokploy or panel.
+---
+
+1. Download and install Mongo Compass [Mongo Compass](https://www.mongodb.com/try/download/compass).
+2. Go to your `MongoDB` databases.
+3. In External Credentials, enter the `External Port (Internet)` make sure the port is not in use by another service eg. `27017` and click `Save`.
+4. It will display the `External Connection URL` eg. `mongodb://user:password@1.2.4.5:27017/database`.
+
+Open Mongo Compass and follow the steps:
+
+1. Click on `Add Connection`.
+2. Copy and paste the `External Connection URL` eg. `mongodb://user:password@1.2.4.5:27017/database`.
+3. Click on `Connect`.
+
+
+Done! now you can manage the database from Mongo Compass.
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/core/databases/connection/mysql.mdx b/apps/docs-new/content/docs/core/databases/connection/mysql.mdx
new file mode 100644
index 0000000..e4a2137
--- /dev/null
+++ b/apps/docs-new/content/docs/core/databases/connection/mysql.mdx
@@ -0,0 +1,19 @@
+---
+title: MySQL
+description: This guide will cover how to connect from Beekeeper Studio to your mysql databases in dokploy.
+---
+
+1. Download and install Beekeeper Studio [Beekeeper Studio](https://www.beekeeperstudio.io/get).
+2. Go to your `mysql` databases.
+3. In External Credentials, enter the `External Port (Internet)` make sure the port is not in use by another service eg. `3306` and click `Save`.
+4. It will display the `External Connection URL` eg. `mysql://user:password@1.2.4.5:3306/database`.
+
+Open Beekeeper Studio and follow the steps:
+
+1. Click on `Add New Server`.
+2. Select `MySQL` as the `Database Type`.
+3. Use `Import URL` to enter the `External Connection URL` from Dokploy eg. `mysql://user:password@1.2.4.5:3306/database`.
+4. Click on `Connect`.
+5. Click on `Save`.
+
+Done! now you can manage the database from Beekeeper Studio.
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/core/databases/connection/pg-admin.mdx b/apps/docs-new/content/docs/core/databases/connection/pg-admin.mdx
new file mode 100644
index 0000000..af78e1d
--- /dev/null
+++ b/apps/docs-new/content/docs/core/databases/connection/pg-admin.mdx
@@ -0,0 +1,24 @@
+---
+title: PG Admin
+description: This guide will cover how to connect from pgAdmin to your postgres databases in dokploy.
+---
+
+1. Download and install pgAdmin [pgAdmin](https://www.pgadmin.org/download/).
+2. Go to your `postgres` databases.
+3. In External Credentials, enter the `External Port (Internet)` make sure the port is not in use by another service eg. `5433` and click `Save`.
+4. It will display the `External Connection URL` eg. `postgres://user:password@1.2.4.5:5433/database`.
+
+
+Open pgAdmin and follow the steps:
+
+1. Click on `Add New Server`.
+2. Enter the `Server Name` eg. `dokploy`.
+3. Enter to `Connection`.
+4. In Hostname/Address enter the IP from the server where the database is hosted eg. `1.2.4.5`.
+5. In Port enter the port where the database is running eg. `5433`.
+6. In Database enter the name of the database eg. `database`.
+7. In Username enter the username eg. `user`.
+8. In Password enter the password eg. `password`.
+9. Click on `Save`.
+
+Done! now you can manage the database from pgAdmin.
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/core/databases/connection/redis.mdx b/apps/docs-new/content/docs/core/databases/connection/redis.mdx
new file mode 100644
index 0000000..94b4123
--- /dev/null
+++ b/apps/docs-new/content/docs/core/databases/connection/redis.mdx
@@ -0,0 +1,21 @@
+---
+title: Redis
+description: This guide will cover how to connect from RedisInsight to your redis databases in dokploy.
+---
+
+1. Download and install RedisInsight [RedisInsight](https://redis.io/insight/).
+2. Go to your `redis` databases.
+3. In External Credentials, enter the `External Port (Internet)` make sure the port is not in use by another service eg. `6379` and click `Save`.
+4. It will display the `External Connection URL` eg. `redis://user:password@1.2.4.5:6379/database`.
+
+Open RedisInsight and follow the steps:
+
+
+1. Add Redis Database.
+2. Enter the `Host` eg. `1.2.4.5`.
+3. Enter the `Port` eg. `6379`.
+4. Enter the username eg. `default`.
+5. Enter the `Password` eg. `password`.
+6. Click on `Save`.
+
+Done! now you can manage the database from RedisInsight.
\ No newline at end of file
diff --git a/apps/docs-new/content/docs/core/databases/index.mdx b/apps/docs-new/content/docs/core/databases/index.mdx
new file mode 100644
index 0000000..41a77fb
--- /dev/null
+++ b/apps/docs-new/content/docs/core/databases/index.mdx
@@ -0,0 +1,67 @@
+---
+title: Databases
+description: "Discover how to create and backup databases easily with Dokploy, supporting a variety of database systems."
+---
+
+Dokploy simplifies the process of creating and managing databases, offering robust options for both setup and backups.
+
+## Database Support
+
+Dokploy currently supports a range of popular database systems, ensuring compatibility and flexibility for your projects:
+
+- **Postgres**: Robust, SQL-compliant and highly reliable.
+- **MySQL**: Widely used relational database known for its performance and flexibility.
+- **MariaDB**: A fork of MySQL with additional features and improved performance.
+- **MongoDB**: A NoSQL database known for its high scalability and flexibility.
+- **Redis**: An in-memory key-value store often used as a database, cache, and message broker.
+
+
+We offer multiple functionalities that you can use to manage your databases, such as:
+
+## General
+
+Actions like deploying, updating, and deleting your database, and stopping it.
+
+## Environment
+
+If you need to assign environment variables to your application, you can do so here.
+
+In case you need to use a multiline variable, you can wrap it in double quotes just like this `'"here_is_my_private_key"'`.
+
+## Monitoring
+
+Four graphs will be displayed for the use of memory, CPU, disk, and network. Note that the information is only updated if you are viewing the current page, otherwise it will not be updated.
+
+## Backups
+
+We offer automated backups for your databases, ensuring that you can recover your data quickly and easily in case of any issues, you can setup a S3 Destinations in settings to store your backups.
+
+
+## Logs
+
+If you want to see any important logs from your application that is running, you can do so here and determine if your application is displaying any errors or not.
+
+## Advanced
+
+This section provides advanced configuration options for experienced users. It includes tools for custom commands within the container, managing Docker Swarm settings, and adjusting cluster settings such as replicas and registry selection. These tools are typically not required for standard application deployment and are intended for complex management and troubleshooting tasks.
+
+- **Custom Docker Image**: You can change the Docker image used to run your database.
+- **Run Command**: Execute custom commands directly in the container for advanced management or troubleshooting.
+- **Volumes**: To ensure data persistence across deployments, configure storage volumes for your application.
+- **Resources**: Adjust the CPU and memory allocation for your application.
+- **Danger Zone**: If for some reason you want to start again and delete all the data, tables, etc. you can do it here.
+
+## Keyboard Shortcuts
+
+To help speed up navigating there are some built in keyboard shortcuts for
+navigating tabs on database pages. Similar to GitHub these are all prefixed
+with the `g` key so to use them press `g` and then the shortcut key.
+
+| Key | Tab |
+| --- | ------------------- |
+| `g` | General |
+| `e` | Environment |
+| `l` | Logs |
+| `m` | Monitoring |
+| `b` | Backups |
+| `a` | Advanced |
diff --git a/apps/docs-new/content/docs/core/databases/restore.mdx b/apps/docs-new/content/docs/core/databases/restore.mdx
new file mode 100644
index 0000000..4ddb9ab
--- /dev/null
+++ b/apps/docs-new/content/docs/core/databases/restore.mdx
@@ -0,0 +1,58 @@
+---
+title: Restore
+description: "Learn how to restore your databases in Dokploy, with options for restoring from S3 buckets."
+---
+
+
+
+## Restoring from S3 Buckets
+
+To restore your database from an S3 bucket, navigate to the `Backup` tab and click on the `Restore` button within your Dokploy dashboard. Here’s what you’ll need to set up:
+
+- **Select Source S3 Bucket**: Specify the S3 bucket where your backup files are stored.
+- **Search for Backup File**: Enter the name of the backup file you want to restore(it will autocomplete based on the files in the bucket)
+- **Database Name**: Enter the name of the database you want to restore to.
+- **Restore Database**: Click the `Restore` button to start the restoration process.
+
+If you previously used the backups generated by dokploy, it will automatically use the correct commands to restore your database.
+
+Other formats are not guaranteed to work.
+
+
+ If you have nested folders in your S3 Bucket, you can start typing the folder name and it will autocomplete.
+
+ eg. If you have a folder called `backups` and you have a backup file called `backup.sql.gz`, you can start typing `backups/` and it will autocomplete to `backups/backup.sql.gz`.
+
+
+
+
+
+
+## Default Backup Commands
+
+This are the default commands that Dokploy uses to generate the backups.
+
+### Postgres
+
+```bash
+pg_dump -Fc --no-acl --no-owner -h localhost -U ${databaseUser} --no-password '${database}' | gzip"
+```
+
+### MySQL
+
+```bash
+mysqldump --default-character-set=utf8mb4 -u 'root' --password='${databaseRootPassword}' --single-transaction --no-tablespaces --quick '${database}' | gzip"
+```
+
+### MariaDB
+
+```bash
+mariadb-dump --user='${databaseUser}' --password='${databasePassword}' --databases ${database} | gzip"
+```
+
+### MongoDB
+
+```bash
+mongodump -d '${database}' -u '${databaseUser}' -p '${databasePassword}' --archive --authenticationDatabase=admin --gzip"
+```
+
diff --git a/apps/docs-new/content/docs/core/docker-compose/domains.mdx b/apps/docs-new/content/docs/core/docker-compose/domains.mdx
new file mode 100644
index 0000000..6b419b5
--- /dev/null
+++ b/apps/docs-new/content/docs/core/docker-compose/domains.mdx
@@ -0,0 +1,173 @@
+---
+title: Domains
+description: Configure domains for your Docker Compose application.
+---
+
+When using Docker Compose, adding a domain to a service is a straightforward process. This guide will walk you through the necessary steps to configure manual domains for your application.
+
+Key Steps:
+
+1. Add the service to the `dokploy-network`.
+2. Use Traefik labels to configure routing.
+
+import { Callout } from "fumadocs-ui/components/callout";
+
+
+ Since v0.7.0 Dokploy support domains natively. This means that you can
+ configure your domain directly in the Dokploy UI, without doing the rest of
+ the steps check on the [domains section](/docs/core/domains).
+
+
+Example Scenario
+
+Let's consider an application with three components: a frontend, a backend, and a database. We'll start with a basic Docker Compose file and then enhance it with domain configuration.
+
+```yaml
+version: "3.8"
+
+services:
+ frontend:
+ build:
+ context: ./frontend
+ dockerfile: Dockerfile
+ volumes:
+ - ./frontend:/app
+ ports:
+ - "3000:3000"
+ depends_on:
+ - backend
+
+ backend:
+ build:
+ context: ./backend
+ dockerfile: Dockerfile
+ volumes:
+ - ./backend:/app
+ ports:
+ - "5000:5000"
+ environment:
+ - DATABASE_URL=postgres://postgres:password@database:5432/mydatabase
+ depends_on:
+ - database
+
+ database:
+ image: postgres:13
+ environment:
+ POSTGRES_USER: postgres
+ POSTGRES_PASSWORD: password
+ POSTGRES_DB: mydatabase
+ volumes:
+ - db-data:/var/lib/postgresql/data
+
+volumes:
+ db-data:
+```
+
+## Step 1: Add the Network
+
+First, we'll add the dokploy-network to our services:
+
+```yaml
+version: "3.8"
+
+services:
+ frontend:
+ # ... (previous configuration)
+ networks:
+ - dokploy-network
+
+ backend:
+ # ... (previous configuration)
+ networks:
+ - dokploy-network
+
+ database:
+ # ... (previous configuration)
+ networks:
+ - dokploy-network
+
+volumes:
+ db-data:
+
+networks:
+ dokploy-network:
+ external: true
+```
+
+Step 2: Configuring Traefik Labels
+
+Now, let's add Traefik labels to route domains to our services. We'll focus on the frontend and backend services:
+
+```yaml
+version: "3.8"
+
+services:
+ frontend:
+ build:
+ context: ./frontend
+ dockerfile: Dockerfile
+ volumes:
+ - ./frontend:/app
+ expose:
+ - 3000
+ depends_on:
+ - backend
+ networks:
+ - dokploy-network
+ labels:
+ - traefik.enable=true
+ - traefik.http.routers.frontend-app.rule=Host(`frontend.dokploy.com`)
+ - traefik.http.routers.frontend-app.entrypoints=web
+ - traefik.http.services.frontend-app.loadbalancer.server.port=3000
+
+ backend:
+ build:
+ context: ./backend
+ dockerfile: Dockerfile
+ volumes:
+ - ./backend:/app
+ expose:
+ - 5000
+ environment:
+ - DATABASE_URL=postgres://postgres:password@database:5432/mydatabase
+ depends_on:
+ - database
+ networks:
+ - dokploy-network
+ labels:
+ - traefik.enable=true
+ - traefik.http.routers.backend-app.rule=Host(`backend.dokploy.com`)
+ - traefik.http.routers.backend-app.entrypoints=web
+ - traefik.http.services.backend-app.loadbalancer.server.port=5000
+
+ database:
+ # ... (same as before)
+
+volumes:
+ db-data:
+
+networks:
+ dokploy-network:
+ external: true
+```
+
+Understanding Traefik Labels
+
+1. `traefik.enable=true` Enables Traefik routing for the service.
+2. `traefik.http.routers..rule=Host('your-domain.dokploy.com')` Specifies the domain for the service
+3. `traefik.http.routers..entrypoints=web` Sets the service to be accessible via HTTP.
+4. `traefik.http.services..loadbalancer.server.port=3000` Specifies the port your service is using internally.
+
+**Note**: Replace `` with a unique identifier for each service (e.g., frontend-app, backend-app, etc.).
+
+## Important Considerations
+
+1. **Port Exposure**: Use `expose` instead of `ports` to limit port access to the container network, avoiding exposure to the host machine.
+2. **DNS Configuration**: Ensure you create `A` records pointing to your domain in your DNS Provider Settings.
+3. **HTTPS**: For HTTPS, you can use Let's Encrypt or other SSL/TLS certificates.
+
+## Deployment
+
+With these configurations in place, you're now ready to deploy your application using Docker Compose. This setup should be sufficient to get your services up and running with custom domain routing through Traefik.
+
+If you have any further questions or need assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc) and we'll be happy to help.
diff --git a/apps/docs-new/content/docs/core/docker-compose/example.mdx b/apps/docs-new/content/docs/core/docker-compose/example.mdx
new file mode 100644
index 0000000..89cddc2
--- /dev/null
+++ b/apps/docs-new/content/docs/core/docker-compose/example.mdx
@@ -0,0 +1,110 @@
+---
+title: "Example"
+description: "Learn how to use Docker Compose with Dokploy"
+
+---
+
+## Tutorial
+
+In this tutorial, we will create a simple application using Docker Compose and route the traffic to an accessible domain.
+
+
+### Steps
+
+1. Create a new project.
+2. Create a new service `Compose` and select the Compose Type `Docker Compose`.
+3. Fork this repository: [Repo](https://github.com/Dokploy/docker-compose-test).
+4. Select Provider type: GitHub or Git.
+5. Select the repository: `Dokploy/docker-compose-test`.
+6. Select the branch: `main`.
+7. Set the Compose Path to `./docker-compose.yml` and save.
+
+
+
+### Updating Your `docker-compose.yml`
+
+Add the following to your existing `docker-compose.yml` file:
+
+1. Add the network `dokploy-network` to each service.
+2. Add labels for Traefik to make the service accessible through the domain.
+
+Example:
+
+Let's modify the following compose file to make it work with Dokploy:
+
+```yaml
+version: "3"
+
+services:
+ next-app:
+ build:
+ context: ./next-app
+ dockerfile: prod.Dockerfile
+ args:
+ ENV_VARIABLE: ${ENV_VARIABLE}
+ NEXT_PUBLIC_ENV_VARIABLE: ${NEXT_PUBLIC_ENV_VARIABLE}
+ restart: always
+ ports:
+ - 3000:3000
+ networks:
+ - my_network
+networks:
+ my_network:
+ external: true
+```
+
+
+Updated version with dokploy-network and Traefik labels:
+
+import { Callout } from 'fumadocs-ui/components/callout';
+
+
+Don't set container_name property to the each service, it will cause issues with logs, metrics and other features
+
+{/* :::danger
+Don't set container_name property to the each service, it will cause issues with logs, metrics and other features
+
+::: */}
+
+```yaml
+version: "3"
+
+services:
+ next-app:
+ build:
+ context: ./next-app
+ dockerfile: prod.Dockerfile
+ args:
+ ENV_VARIABLE: ${ENV_VARIABLE}
+ NEXT_PUBLIC_ENV_VARIABLE: ${NEXT_PUBLIC_ENV_VARIABLE}
+ restart: always
+ ports:
+ - 3000
+ networks:
+ - dokploy-network
+ labels:
+ - "traefik.enable=true"
+ - "traefik.http.routers..rule=Host(`your-domain.com`)"
+ - "traefik.http.routers..entrypoints=websecure"
+ - "traefik.http.routers..tls.certResolver=letsencrypt"
+ - "traefik.http.services..loadbalancer.server.port=3000"
+networks:
+ dokploy-network:
+ external: true
+```
+
+Make sure to point the A record to the domain you want to use for your service.
+
+
+
+Deploy the application by clicking on "deploy" and wait for the deployment to complete. Then give Traefik about 10 seconds to generate the certificates. You can then access the application through the domain you have set.
+
+
+
+**Tips**:
+
+1. Set unique names for each router: `traefik.http.routers.`
+2. Set unique names for each service: `traefik.http.services.`
+3. Ensure the network is linked to the `dokploy-network`
+4. Set the entry point to websecure and the certificate resolver to letsencrypt to generate certificates.
+
diff --git a/apps/docs-new/content/docs/core/docker-compose/index.mdx b/apps/docs-new/content/docs/core/docker-compose/index.mdx
new file mode 100644
index 0000000..9c9ea50
--- /dev/null
+++ b/apps/docs-new/content/docs/core/docker-compose/index.mdx
@@ -0,0 +1,97 @@
+---
+title: Docker Compose
+description: "Learn how to use Docker Compose with Dokploy"
+---
+
+import { Callout } from "fumadocs-ui/components/callout";
+
+Dokploy integrates with Docker Compose and Docker Stack to provide flexible deployment solutions. Whether you are developing locally or deploying at scale, Dokploy facilitates application management through these powerful Docker tools.
+
+### Configuration Methods
+
+Dokploy provides two methods for creating Docker Compose configurations:
+
+- **Docker Compose**: Ideal for standard Docker Compose configurations.
+- **Stack**: Geared towards orchestrating applications using Docker Swarm. Note that some Docker Compose features, such as `build`, are not available in this mode.
+
+### General
+
+Configure the source of your code, the way your application is built, and also manage actions like deploying, updating, and deleting your application, and stopping it.
+
+### Enviroment
+
+A code editor within Dokploy allows you to specify environment variables for your Docker Compose file. By default, Dokploy creates a `.env` file in the specified Docker Compose file path.
+
+### Monitoring
+
+Monitor each service individually within Dokploy. If your application consists of multiple services, each can be monitored separately to ensure optimal performance.
+
+### Logs
+
+Access detailed logs for each service through the Dokploy log viewer, which can help in troubleshooting and ensuring the stability of your services.
+
+### Deployments
+
+You can view the last 10 deployments of your application. When you deploy your application in real time, a new deployment record will be created and it will gradually show you how your application is being built.
+
+We also offer a button to cancel deployments that are in queue. Note that those in progress cannot be canceled.
+
+We provide a webhook so that you can trigger your own deployments by pushing to your GitHub, Gitea, GitLab, Bitbucket repository.
+
+### Advanced
+
+This section provides advanced configuration options for experienced users. It includes tools for custom commands within the container and volumes.
+
+- **Command**: Dokploy has a defined command to run the Docker Compose file, ensuring complete control through the UI. However, you can append flags or options to the command.
+- **Volumes**: To ensure data persistence across deployments, configure storage volumes for your application.
+
+
+
+
+Docker volumes are a way to persist data generated and used by Docker containers. They are particularly useful for maintaining data between container restarts or for sharing data among different containers.
+
+To bind a volume to the host machine, you can use the following syntax in your docker-compose.yml file, but this way will clean up the volumes when a new deployment is made:
+
+```yaml
+volumes:
+ - "/folder:/path/in/container" ❌
+```
+
+It's recommended to use the ../files folder to ensure your data persists between deployments. For example:
+
+```yaml
+volumes:
+ - "../files/my-database:/var/lib/mysql" ✅
+ - "../files/my-configs:/etc/my-app/config" ✅
+```
+
+**Important:** If you need to use files from your repository (configuration files, scripts, etc.), you must move them to Dokploy's File Mounts (via Advanced → Mounts) instead of mounting them directly from the repository. When using AutoDeploy, Dokploy performs a `git clone` on each deployment, which clears the repository directory. Mounting files directly from your repository using relative paths (e.g., `./` or `./config/file.conf`) will cause them to be lost or empty in subsequent deployments. See the [Troubleshooting guide](/docs/core/troubleshooting#using-files-from-your-repository) for more details.
+
+
+
+## Keyboard Shortcuts
+
+To help speed up navigating there are some built in keyboard shortcuts for
+navigating tabs on docker compose pages. Similar to GitHub these are all prefixed
+with the `g` key so to use them press `g` and then the shortcut key.
+
+| Key | Tab |
+| --- | ------------------- |
+| `g` | General |
+| `e` | Environment |
+| `u` | Domains |
+| `d` | Deployments |
+| `b` | Backups |
+| `s` | Schedules |
+| `v` | Volume Backups |
+| `l` | Logs |
+| `m` | Monitoring |
+| `a` | Advanced |
diff --git a/apps/docs-new/content/docs/core/docker-compose/utilities.mdx b/apps/docs-new/content/docs/core/docker-compose/utilities.mdx
new file mode 100644
index 0000000..8799ee8
--- /dev/null
+++ b/apps/docs-new/content/docs/core/docker-compose/utilities.mdx
@@ -0,0 +1,63 @@
+---
+title: Utilities
+description: "Utilities for your Docker Compose application"
+---
+
+Dokploy provides a set of utilities to enhance your Docker Compose application deployment experience.
+
+## Isolated Deployments
+
+All open source templates come with this feature enabled by default.
+
+This feature allows you to deploy your application in a separate network, isolated from other applications. This isolation is particularly useful when you need to deploy multiple instances of the same application.
+
+For example, if you want to deploy two WordPress instances, you would typically encounter service naming conflicts since they share the same network (dokploy-network). Docker doesn't allow services with identical names in the same network. Consider this typical WordPress service:
+
+```yaml
+services:
+ wordpress:
+ image: wordpress:latest
+ ports:
+ - "80"
+```
+
+
+
+When Isolated Deployments is enabled, Dokploy will:
+
+1. Add a prefix to all your defined networks
+2. Create a network based on your service's appName and associate it with each service in your compose file
+3. Connect the Traefik load balancer to this isolated network, maintaining service isolation while ensuring proper routing
+
+When using this feature, you don't need to explicitly define dokploy-network in your networks section, as isolation is handled automatically.
+
+## Randomize Compose
+
+Dokploy offers functionality to randomize various compose properties:
+
+1. Volumes
+2. Networks
+3. Services
+4. Configs
+5. Secrets
+
+You can specify a custom prefix that will be used as a suffix for each compose property.
+
+Note: If both Isolated Deployments and Randomize Compose are enabled, the Isolated Deployments configuration takes precedence.
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/docs-new/content/docs/core/domains/cloudflare.mdx b/apps/docs-new/content/docs/core/domains/cloudflare.mdx
new file mode 100644
index 0000000..a85de68
--- /dev/null
+++ b/apps/docs-new/content/docs/core/domains/cloudflare.mdx
@@ -0,0 +1,130 @@
+---
+title: Cloudflare
+description: This guide will cover how to configure a Cloudflare domain for your applications in dokploy or panel.
+---
+
+import { Callout } from 'fumadocs-ui/components/callout';
+
+Cloudflare has multiple SSL's Modes:
+
+1. **Strict (SSL-Only Origin Pull)**: Enforce encryption between Cloudflare and your origin. Use this mode to guarantee connections to your origin will always be encrypted, regardless of your visitor’s request.
+2. **Full (Strict)**: Enable encryption end-to-end and enforce validation on origin certificates. Use Cloudflare’s Origin CA to generate certificates for your origin.
+3. **Full**: Enable encryption end-to-end. Use this mode when your origin server supports SSL certification but does not use a valid, publicly trusted certificate.
+4. **Flexible**: Enable encryption only between your visitors and Cloudflare. This will avoid browser security warnings, but all connections between Cloudflare and your origin are made through HTTP.
+5. **Off (not secure)**: No encryption applied. Turning off SSL disables HTTPS and causes browsers to show a warning that your website is not secure.
+
+We will cover two of SSL modes in this guide:
+
+- **Full (Strict)**
+- **Flexible**
+
+## Switch Mode
+
+To switch between modes, follow these steps:
+
+1. Go to cloudflare dashboard and then click on `Account Home` -> Select the Domain you want to change.
+2. On the left side, click `SSL/TLS`.
+3. Click on `Overview`.
+4. Click on Configure SSL/TLS Encryption.
+5. Select the desired mode Full (Strict) or Flexible.
+6. Click `Save`.
+
+
+
+
+## Assign a Domain Full (Strict)
+
+
+
+Follow the steps in the same order to prevent any issues.
+
+
+You can create a certificate for your origin server using two methods:
+- Using Let's Encrypt to generate a certificate for your origin server.
+- Using Cloudflare's Origin CA to generate a certificate for your origin server.
+
+We assume that you have enabled the `Full (Strict)` mode in the previous step, is super important to follow the steps in the same order to prevent any issues.
+
+### Using Let's Encrypt
+1. Go to cloudflare dashboard and then click on `Account Home` -> Select the Domain.
+2. On the left side, click `DNS`.
+3. Click on `Records`.
+4. Click on `Add Record`.
+5. Select `A` record type.
+6. Enter the `Host` name, eg. `api` so it will be `api.dokploy.com`.
+7. Enter the `IPv4 Address` from your server where the application is hosted eg. `1.2.3.4`.
+8. Click `Save`.
+9. Go to dokploy panel and now you can assign either for `Applications` or `Docker Compose`.
+10. Go to `Domains` section.
+11. Click `Create Domain`.
+12. In the `Host` field, enter the domain name eg. `api.dokploy.com`.
+13. In the `Path` field, enter the path eg. `/`.
+14. In the `Container Port` field, enter the port where your application is running eg. `3000`.
+15. In the `HTTPS` field enable `ON`.
+16. In the `Certificate` field select `Let's Encrypt`.
+17. Click `Create`.
+18. A domain will be automatically assigned to your application.
+19. Wait a few seconds and refresh the application.
+20. You should see the application running on the domain you just created.
+
+### Using Cloudflare's Origin CA
+1. Go to cloudflare dashboard and then click on `Account Home` -> Select the Domain.
+2. On the left side, click `SSL/TLS`.
+3. Click on `Origin Server`.
+4. Click on `Create Certificate`.
+5. Select `Generate private key and CSR with Cloudflare`.
+6. Choose the list of hostnames you want the certificate to cover eg. `api.dokploy.com`.
+7. Choose the validity period eg. `15 years`.
+8. Click `Create`.
+9. Using the PEM format, copy the `Origin Certificate` and `Private Key` in the respective fields in the dokploy new certificate panel (Certificates > Add Certificate).
+10. Go to `Domains` section in your application.
+11. Click `Create Domain`.
+12. In the `Host` field, enter the domain name eg. `api.dokploy.com`. (Make sure that the domain is already pointing to your server IP in Cloudflare DNS settings and the **hostname matches the one in the certificate**).
+13. In the `Path` field, enter the path eg. `/`.
+14. In the `Container Port` field, enter the port where your application is running eg. `3000`.
+15. In the `HTTPS` field enable `ON`.
+16. In the `Certificate` field select `None`.
+17. Click `Create`.
+
+Using Cloudflare's Origin CA, you are sure that the certificate will be valid for the next 15 years, or the duration you selected, and you don't have to worry about failed renewals.
+
+
+You can also create a certificate for wildcards domains eg. `*.dokploy.com` and use it for multiple subdomains.
+
+
+
+**Important**: With a free Cloudflare account, this methods work only for the main domain and subdomains, not for sub-subdomains. Eg. `api.dokploy.com` works but `staging.api.dokploy.com` does not work.
+
+
+
+
+## Assign a Domain Flexible
+
+We assume that you have enabled the `Flexible` mode in the previous step, is super important to follow the steps in the same order to prevent any issues.
+
+1. Go to cloudflare dashboard and then click on `Account Home` -> Select the Domain.
+2. On the left side, click `DNS`.
+3. Click on `Records`.
+4. Click on `Add Record`.
+5. Select `A` record type.
+6. Enter the `Host` name, eg. `api` so it will be `api.dokploy.com`.
+7. Enter the `IPv4 Address` from your server where the application is hosted eg. `1.2.3.4`.
+8. Click `Save`.
+9. Go to dokploy panel and now you can assign either for `Applications` or `Docker Compose`.
+10. Go to `Domains` section.
+11. Click `Create Domain`.
+12. In the `Host` field, enter the domain name eg. `api.dokploy.com`.
+13. In the `Path` field, enter the path eg. `/`.
+14. In the `Container Port` field, enter the port where your application is running eg. `3000`.
+15. In the `HTTPS` field enable `OFF`.
+16. In the `Certificate` field select `None`.
+17. Click `Create`.
+18. A domain will be automatically assigned to your application.
+19. Wait a few seconds and refresh the application.
+20. You should see the application running on the domain you just created.
+
+
+### Important Clarification on Container Ports
+
+The "Container Port" specified in the domain settings is exclusively for routing traffic to the correct application container through Traefik, and does not expose the port directly to the internet. This is fundamentally different from the port settings in the "Advanced -> Ports" section, which are used to directly expose application ports. The container port in the domain settings ensures that Traefik can internally direct traffic to the specified port within the container based on the domain configuration.
+
diff --git a/apps/docs-new/content/docs/core/domains/generated.mdx b/apps/docs-new/content/docs/core/domains/generated.mdx
new file mode 100644
index 0000000..e4adadc
--- /dev/null
+++ b/apps/docs-new/content/docs/core/domains/generated.mdx
@@ -0,0 +1,26 @@
+---
+title: Generated
+description: This section outlines how to configure free HTTP domains for your applications in Dokploy, ensuring that your applications are accessible via custom URLs.
+---
+
+
+Dokploy use https://traefik.me to generate free domains for you.
+Quickly set up a domain for development or testing purposes without needing to register a domain.
+
+
+#### Steps to Generate a Domain
+
+1. Go to the `domains` section.
+2. Click `Create Domain`.
+3. Click on the `Dice` Icon next to `Host` field it will generate a free domain for you.
+4. Path is `/`.
+5. `Container Port`, set the port where your application is running, eg usually for Next.js it is `3000`, for Astro is `4321`
+6. HTTPS is `OFF`.
+7. Certificate is `None`.
+8. Click `Create`.
+9. A free domain will be automatically assigned to your application.
+
+
+### Important Clarification on Container Ports
+
+The "Container Port" specified in the domain settings is exclusively for routing traffic to the correct application container through Traefik, and does not expose the port directly to the internet. This is fundamentally different from the port settings in the "Advanced -> Ports" section, which are used to directly expose application ports. The container port in the domain settings ensures that Traefik can internally direct traffic to the specified port within the container based on the domain configuration.
diff --git a/apps/docs-new/content/docs/core/domains/index.mdx b/apps/docs-new/content/docs/core/domains/index.mdx
new file mode 100644
index 0000000..86addb0
--- /dev/null
+++ b/apps/docs-new/content/docs/core/domains/index.mdx
@@ -0,0 +1,144 @@
+---
+title: Domains
+description: This section outlines how to configure domains for your applications in Dokploy, ensuring that your applications are accessible via custom URLs.
+---
+
+import { Callout } from 'fumadocs-ui/components/callout';
+import { Link } from 'next/link';
+
+Dokploy Provide 2 ways to add a domain to your service:
+
+1. **Free Domains** from Traefik.me
+2. **Buy a domain** from one of the providers above
+
+
+ `traefik.me` domains are free, but they are limited to HTTP only, if you want to configure HTTPS for free domains
+ you can [Create a certificate](/docs/core/certificates#traefikme-https-setup) and use it in the domain settings.
+
+
+If you don't have a domain, you can use our integrated free domains from Traefik.me in the Dokploy panel, without doing any configuration however is only for HTTP, if you want to have a HTTPS domain you need to buy a domain from one of the providers above.
+
+Domains are supported for:
+
+- **Applications**
+- **Docker Compose**
+
+
+## Requirements (Optional)
+
+We recommend this if you want to have a HTTPS domain, you need to buy a domain from one of the providers above.
+
+- [Cloudflare](https://www.cloudflare.com/)
+- [Porkbun](https://porkbun.com/)
+- [Namecheap](https://www.namecheap.com/domains/)
+- [Name.com](https://www.name.com/)
+- [GoDaddy](https://www.godaddy.com/)
+- [Domain.com](https://www.domain.com/)
+
+### Add Domain
+
+Associate custom domains with your application to make it accessible over the internet.
+
+- **Host**: The domain name that you want to link to your application (e.g., `api.dokploy.com`).
+- **Path**: The specific path within the domain where the application should be accessible.
+- **Internal Path**: The internal path where your application expects to receive requests.
+- **Strip Path**: Removes the **Path** from the request before forwarding to the application.
+- **Container Port**: The port on the container that the domain should route to.
+- **HTTPS**: Toggle this on to enable HTTPS for your domain, providing secure, encrypted connections.
+- **Certificate**: Select (letsencrypt) or (None)
+
+For how **Internal Path** and **Strip Path** work using Traefik middlewares, see the note below.
+
+### Note
+
+Proper domain configuration is crucial for the accessibility and security of your application. Always verify domain settings and ensure that DNS configurations are properly set up to point to the correct IP addresses. Enable HTTPS to enhance security and trust, especially for production environments.
+
+### Understanding Internal Path and Strip Path
+
+Dokploy uses Traefik middlewares to modify request paths before they reach your application. These powerful tools allow you to create flexible routing configurations that match your application's expected URL structure.
+
+
+**Warning: Potential Redirect Issues**
+
+When using Internal Path and Strip Path middlewares, ensure your application is properly configured to handle the modified paths. If your application generates redirects or absolute URLs that don't match the expected path structure, it may cause redirect loops or broken functionality. Use these middlewares with caution and test thoroughly to ensure your application works correctly with the path transformations.
+
+
+**Internal Path Middleware**
+
+The Internal Path middleware adds a prefix to the request path before forwarding it to your container. This is useful when your application expects all requests to start with a specific base path.
+
+**Example:**
+- Domain: `api.dokploy.com`
+- Path: `/v1`
+- Internal Path: `/backend/api`
+- Request: `api.dokploy.com/v1/users`
+- Forwarded to container as: `/backend/api/users`
+
+In this example, the middleware adds `/backend/api` to the beginning of the request path, which is helpful when your application is structured to expect requests at a specific internal directory.
+
+**Strip Path Middleware**
+
+The Strip Path middleware removes a specified path prefix from the request before forwarding it to your container. This is perfect when you want to organize your public URLs with prefixes but your application expects clean, unprefixed paths.
+
+**Example:**
+- Domain: `app.dokploy.com`
+- Path: `/dashboard`
+- Strip Path: Enabled
+- Request: `app.dokploy.com/dashboard/settings`
+- Forwarded to container as: `/settings`
+
+Here, the middleware removes the `/dashboard` prefix, so your application receives the request as if it was made directly to `/settings`.
+
+**Using Both Internal Path and Strip Path Together**
+
+You can combine both middlewares to create sophisticated routing scenarios. When both are enabled, Strip Path is applied first, then Internal Path is added.
+
+**Example:**
+- Domain: `service.dokploy.com`
+- Path: `/public`
+- Strip Path: Enabled
+- Internal Path: `/app/v2`
+- Request: `service.dokploy.com/public/api/users`
+- Processing:
+ 1. Strip Path removes `/public`: `/api/users`
+ 2. Internal Path adds `/app/v2`: `/app/v2/api/users`
+- Final forwarded path: `/app/v2/api/users`
+
+This powerful combination allows you to:
+- Remove public-facing path prefixes that users see
+- Add internal path prefixes that your application requires
+- Create clean separation between your public URL structure and internal application structure
+
+**When to Use Each Option**
+
+- **Internal Path only**: When your application requires a specific base path that differs from your public URL
+- **Strip Path only**: When you want organized public URLs but your application expects clean paths
+- **Both together**: When you need to transform public URLs to match complex internal application structures
+
+These middlewares ensure your application receives requests in the exact format it expects, regardless of how you structure your public domain paths.
+
+
+### Important Clarification on Container Ports
+
+The "Container Port" specified in the domain settings is exclusively for routing traffic to the correct application container through Traefik, and does not expose the port directly to the internet. This is fundamentally different from the port settings in the "Advanced -> Ports" section, which are used to directly expose application ports. The container port in the domain settings ensures that Traefik can internally direct traffic to the specified port within the container based on the domain configuration.
+
+## Static Build Type
+
+When using the `Static` build type or `Nixpacks` and `Publish Directory` build type, you need to use the port `80` when creating a domain.
+
+
+## Adding WWW to your domain
+
+If you want to add WWW to your domain, you can do it by adding a CNAME record to your DNS provider.
+
+For example, if your domain is `example.com`, you can add a CNAME record to your DNS provider with the following configuration:
+
+- TYPE: CNAME
+- NAME: www
+- VALUE: example.com
+
+Create the domain in dokploy, using the host `www.example.com`
+
+Now in dokploy, you can go to application -> advanced -> redirects (Select the preset www to non-www) and click on save.
+
+now everytime you access `www.example.com` it will redirect to `example.com`
diff --git a/apps/docs-new/content/docs/core/domains/others.mdx b/apps/docs-new/content/docs/core/domains/others.mdx
new file mode 100644
index 0000000..148ffe2
--- /dev/null
+++ b/apps/docs-new/content/docs/core/domains/others.mdx
@@ -0,0 +1,34 @@
+---
+title: Others
+description: This guide will cover how to configure a domain from other providers for your applications in dokploy or panel.
+---
+
+
+In the case you don't want to use Cloudflare, you can use any domain from any provider:
+
+
+1. Go to your DNS Panel.
+2. Go to `Records` section.
+3. Click on `Add Record`.
+4. Select `A` record type.
+5. Enter the `Host` name, eg. `api` so it will be `api.dokploy.com`.
+6. Enter the `IPv4 Address` from your server where the application is hosted eg. `1.2.3.4`.
+7. Click `Save`.
+8. Go to dokploy panel and now you can assign either for `Applications` or `Docker Compose`.
+9. Go to `Domains` section.
+10. Click `Create Domain`.
+11. In the `Host` field, enter the domain name eg. `api.dokploy.com`.
+12. In the `Path` field, enter the path eg. `/`.
+13. In the `Container Port` field, enter the port where your application is running eg. `3000`.
+14. In the `HTTPS` field enable `ON`.
+15. In the `Certificate` field select `Let's Encrypt`.
+16. Click `Create`.
+17. A domain will be automatically assigned to your application.
+18. Wait a few seconds and refresh the application.
+19. You should see the application running on the domain you just created.
+
+
+### Important Clarification on Container Ports
+
+The "Container Port" specified in the domain settings is exclusively for routing traffic to the correct application container through Traefik, and does not expose the port directly to the internet. This is fundamentally different from the port settings in the "Advanced -> Ports" section, which are used to directly expose application ports. The container port in the domain settings ensures that Traefik can internally direct traffic to the specified port within the container based on the domain configuration.
+
diff --git a/apps/docs-new/content/docs/core/features.mdx b/apps/docs-new/content/docs/core/features.mdx
new file mode 100644
index 0000000..8e2df4a
--- /dev/null
+++ b/apps/docs-new/content/docs/core/features.mdx
@@ -0,0 +1,102 @@
+---
+title: 'Features'
+description: 'Explore the comprehensive suite of features available in Dokploy for optimized application deployment and management.'
+---
+
+Dokploy provides a comprehensive suite of features designed to simplify and enhance the application deployment process.
+
+## Application Deployment
+
+Dokploy supports two primary methods for deploying applications:
+
+1. **Applications**: This straightforward method allows for effortless deployment. Ideal for single applications, it offers a near plug-and-play experience.
+2. **Docker Compose**: A more advanced option, requiring the creation of Dockerfiles and `docker-compose.yml`. This method provides greater control over deployment settings and full utilization of Docker Compose capabilities.
+
+### Applications Management
+
+Manage your applications through a range of features:
+
+**Basic Operations**:
+ 1. Deploy, stop, and delete applications.
+ 2. Open a terminal directly in the application container.
+
+**Source and Build Configuration**:
+ 1. Choose source providers (GitHub, Git, Docker).
+ 2. Select build types (Docker, Nixpacks, Heroku Buildpacks, Paketo Buildpacks).
+
+
+**Environment Management**:
+ 1. Add and manage environment variables.
+
+**Monitoring Tools**:
+ 1. Monitor CPU, memory, disk, and network usage.
+
+**Logs**:
+ 1. Access real-time logs.
+
+**Deployments**:
+ 1. View and manage deployments, you can see the logs of the building application.
+ 2. Cancel queued deployments in case you have a lot of deployments in the queue, the most common is when you push alot of times in your repository, you can cancel the incoming queues, not the deployments that are already running.
+
+**Domain Management**:
+ 1. Add, delete, and generate domains.
+
+**Advanced Settings**:
+ 1. Customize initial commands and cluster settings.
+ 2. Set resource limits and manage volumes for data persistence.
+ 3. Configure redirects, security headers, and port settings.
+ 4. Detailed Traefik configuration for specific needs.
+
+### Docker Compose Management
+
+Enhance your Docker Compose experience with these advanced functionalities:
+
+**Lifecycle Management**:
+ 1. Deploy, stop, and delete Docker Compose setups.
+ 2. Open a terminal with service selection capability.
+
+**Source Configuration**:
+ 1. Choose source providers (GitHub, Git, Raw).
+
+**Environment Management**:
+ 1. Add and manage environment variables.
+
+**Monitoring Tools**:
+ 1. Monitor CPU, memory, disk, and network usage of each service.
+
+**Logs**:
+ 1. View real-time logs of each service.
+
+**Deployments**:
+ 1. View and manage deployments, you can see the logs of the building application.
+ 2. Cancel queued deployments in case you have a lot of deployments in the queue, the most common is when you push alot of times in your repository, you can cancel the incoming queues, not the deployments that are already running.
+
+**Advanced Settings**:
+ 1. Append command, by default we use a internal command to build the docker compose however, you can append a command to the existing one.
+ 2. Manage volumes and mounts.
+
+## Database Deployment
+
+Deploy and manage a variety of databases:
+
+
+**Supported Databases**:
+ 1. MySQL, PostgreSQL, MongoDB, Redis, MariaDB.
+
+**General Management**:
+ 1. Deploy, stop, and delete databases.
+ 2. Open a terminal within the database container.
+
+**Environment and Monitoring**:
+ 1. Manage environment variables.
+ 2. Monitor CPU, memory, disk, and network usage.
+
+**Backups and Logs**:
+ 1. Configure manual and scheduled backups.
+ 2. View real-time logs.
+
+**Advanced Configuration**:
+ 1. Use custom Docker images and initial commands.
+ 2. Configure volumes and resource limits.
+
+These features are designed to offer flexibility and control over your deployment environments, ensuring that Dokploy meets the diverse needs of modern application deployment and management.
diff --git a/apps/docs-new/content/docs/core/goodies.mdx b/apps/docs-new/content/docs/core/goodies.mdx
new file mode 100644
index 0000000..05c41bf
--- /dev/null
+++ b/apps/docs-new/content/docs/core/goodies.mdx
@@ -0,0 +1,16 @@
+---
+title: Goodies
+description: "Dokploy has certain goodies that are external that can be used with Dokploy."
+---
+
+1. **Ansible Dokploy**: Ansible role to deploy Dokploy [Ansible Role](https://github.com/jacobtipp/ansible-dokploy)
+2. **Dokploy Oracle infrastructure**: Deploy Dokploy on Oracle infrastructure [Github](https://github.com/statickidz/dokploy-oci-free)
+3. **Dokploy Deploy Action 1**: Automatic Dokploy deployments on Github [Github](https://github.com/benbristow/dokploy-deploy-action)
+4. **Dokploy Deploy Action 2**: Automatic Dokploy deployments on Github [Github](https://github.com/jmischler72/dokploy-deploy-action)
+5. **Dokploy Deploy Action 3**: Automatic Dokploy deployments on Github (Support both `application` and `compose` deployment) [Github](https://github.com/nhridoy/dokploy-deploy-action)
+5. **Dokploy JS Sdk**: Dokploy JS SDK [Github](https://github.com/quiint/dokploy.js)
+6. **Templates Collection** : Docker compose collection for Dokploy [Github](https://github.com/benbristow/dokploy-compose-templates)
+7. **Dokploy Port Updater**: Dokploy Port Updater [Github](https://github.com/clockradios/dokploy-port-updater)
+8. **Dokli TUI**: Dokli TUI [Github](https://github.com/jonykalavera/dokli)
+
+Want to submit your own? [Submit a PR](https://github.com/Dokploy/website/blob/main/README.md)
diff --git a/apps/docs-new/content/docs/core/index.mdx b/apps/docs-new/content/docs/core/index.mdx
new file mode 100644
index 0000000..3cd2f61
--- /dev/null
+++ b/apps/docs-new/content/docs/core/index.mdx
@@ -0,0 +1,54 @@
+---
+title: Welcome to Dokploy
+description: Dokploy is a open source alternative to Heroku, Vercel, and Netlify.
+
+---
+import { Card, Cards } from 'fumadocs-ui/components/card';
+
+
+Dokploy is a stable, easy-to-use deployment solution designed to simplify the application management process. Think of Dokploy as your free self hostable alternative to platforms like Heroku, Vercel, and Netlify, leveraging the robustness of [Docker](https://www.docker.com/) and the flexibility of [Traefik](https://traefik.io/).
+
+
+
+{/* */}
+
+
+
+## Why Choose Dokploy?
+
+- **Simplicity:** Easy setup and management of deployments.
+- **Flexibility:** Supports a wide range of applications and databases.
+- **Open Source:** Free and open-source software, available for anyone to use.
+
+
+## Setting up Dokploy
+
+Getting started with Dokploy is straightforward. Follow our guides to install and configure your applications and databases effectively.
+
+## Setting up
+
+Please go to get started.
+
+
+
+
+
+
+
+
diff --git a/apps/docs-new/content/docs/core/installation.mdx b/apps/docs-new/content/docs/core/installation.mdx
new file mode 100644
index 0000000..0f8ff1f
--- /dev/null
+++ b/apps/docs-new/content/docs/core/installation.mdx
@@ -0,0 +1,126 @@
+---
+title: Installation
+description: "Get Dokploy up and running on your server within minutes with this easy-to-follow installation guide."
+---
+
+Follow these steps in order to set up Dokploy locally and deploy it to your server, effectively managing Docker containers and applications:
+
+You need to follow this steps in the same order:
+
+1. [Virtual Private Server (VPS)](#virtual-private-server-vps)
+
+## Virtual Private Server (VPS)
+
+There are multiple VPS providers to choose from:
+
+We have tested on the following Linux Distros:
+
+- Ubuntu 24.04 LTS
+- Ubuntu 23.10
+- Ubuntu 22.04 LTS
+- Ubuntu 20.04 LTS
+- Ubuntu 18.04 LTS
+- Debian 12
+- Debian 11
+- Debian 10
+- Fedora 40
+- Centos 9
+- Centos 8
+
+### Providers
+
+- [Hostinger](https://www.hostinger.com/vps-hosting?ref=dokploy) Get 20% Discount using this referral link: [Referral Link](https://www.hostinger.com/vps-hosting?REFERRALCODE=1SIUMAURICI97)
+- [AmericanCloud](https://app.americancloud.com/register?ref=dokploy) Receive 20$ credits for free: [Referral Link](https://app.americancloud.com/register?ref=dokploy)
+- [Teramont](https://teramont.net/dokploy) Get 15% discount for free: [Referral Link](https://teramont.net/?partner_coupon=DOKPLOY&aff_link=https%3A%2F%2Fbilling.teramont.net%2Faff.php%3Faff%3D53%26url%3Dhttps%3A%2F%2Fteramont.net%2Fdokploy-hosting)
+- [Hetzner](https://www.hetzner.com/cloud/) Get 20€ credits for free with this referral link: [Referral Link](https://hetzner.cloud/?ref=vou4fhxJ1W2D)
+- [DigitalOcean](https://www.digitalocean.com/pricing/droplets#basic-droplets) Get 200$ credits for free with this referral link: [Referral Link](https://m.do.co/c/db24efd43f35)
+- [Vultr](https://www.vultr.com/pricing/#cloud-compute) Referral Link: [Referral Link](https://www.vultr.com/?ref=9679828)
+- [Linode](https://www.linode.com/es/pricing/#compute-shared)
+- [Scaleway](https://www.scaleway.com/en/pricing/?tags=baremetal,available)
+- [Google Cloud](https://cloud.google.com/)
+- [AWS](https://aws.amazon.com/ec2/pricing/)
+
+### Requirements
+
+To ensure a smooth experience with Dokploy, your server should have at least 2GB of RAM and 30GB of disk space. This specification helps to handle the resources consumed by Docker during builds and prevents system freezes.
+
+import { Callout } from "fumadocs-ui/components/callout";
+
+
+ **Suggestion:** For cost efficiency with reliable service, we recommend
+ Hetzner as the best value-for-money VPS provider.
+
+
+### Port Requirements
+
+Before installing Dokploy, ensure the following ports are available on your server:
+
+- **Port 80**: HTTP traffic (used by Traefik)
+- **Port 443**: HTTPS traffic (used by Traefik)
+- **Port 3000**: Dokploy web interface
+
+
+ **Important:** The installation will fail if any of these ports are already in use. Make sure to stop any services using these ports before running the installation script.
+
+
+### Docker
+
+Dokploy utilizes Docker, so it is essential to have Docker installed on your server. If Docker is not already installed, Dokploy's installation script will install it automatically. Use the following command to install Dokploy:
+
+
+
+
+ Dokploy Cloud: Use Dokploy directly without worrying about maintenance or updates. Enjoy a hassle-free experience with Dokploy Cloud. Sign up
+