Hello World
++ You can open{" "} + + /docs + {" "} + and see the documentation. +
+From 8267c4a7b63ff8000ad073df317dc3bda701f1fa Mon Sep 17 00:00:00 2001
From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
Date: Sat, 9 Nov 2024 21:15:20 -0600
Subject: [PATCH] feat: migration to fumadocs 14
---
apps/docs-v2/.gitignore | 28 +
apps/docs-v2/README.md | 26 +
apps/docs-v2/api.json | 12690 ++++++++++++++++
apps/docs-v2/app/(home)/layout.tsx | 11 +
apps/docs-v2/app/(home)/page.tsx | 19 +
apps/docs-v2/app/api/search/route.ts | 4 +
apps/docs-v2/app/docs/[[...slug]]/page.tsx | 67 +
apps/docs-v2/app/docs/layout.tsx | 12 +
apps/docs-v2/app/global.css | 18 +
apps/docs-v2/app/layout.config.tsx | 54 +
apps/docs-v2/app/layout.tsx | 18 +
apps/docs-v2/app/robots.ts | 11 +
apps/docs-v2/app/sitemap.ts | 18 +
.../docs/api/generated/reference-admin.mdx | 36 +
.../api/generated/reference-application.mdx | 121 +
.../docs/api/generated/reference-auth.mdx | 86 +
.../docs/api/generated/reference-backup.mdx | 51 +
.../api/generated/reference-bitbucket.mdx | 46 +
.../api/generated/reference-certificates.mdx | 31 +
.../docs/api/generated/reference-cluster.mdx | 31 +
.../docs/api/generated/reference-compose.mdx | 96 +
.../api/generated/reference-deployment.mdx | 26 +
.../api/generated/reference-destination.mdx | 41 +
.../docs/api/generated/reference-docker.mdx | 36 +
.../docs/api/generated/reference-domain.mdx | 46 +
.../api/generated/reference-gitProvider.mdx | 21 +
.../docs/api/generated/reference-github.mdx | 41 +
.../docs/api/generated/reference-gitlab.mdx | 46 +
.../docs/api/generated/reference-mariadb.mdx | 66 +
.../docs/api/generated/reference-mongo.mdx | 66 +
.../docs/api/generated/reference-mounts.mdx | 31 +
.../docs/api/generated/reference-mysql.mdx | 66 +
.../api/generated/reference-notification.mdx | 86 +
.../docs/api/generated/reference-port.mdx | 31 +
.../docs/api/generated/reference-postgres.mdx | 66 +
.../docs/api/generated/reference-project.mdx | 36 +
.../api/generated/reference-redirects.mdx | 31 +
.../docs/api/generated/reference-redis.mdx | 66 +
.../docs/api/generated/reference-registry.mdx | 41 +
.../docs/api/generated/reference-security.mdx | 31 +
.../docs/api/generated/reference-server.mdx | 46 +
.../docs/api/generated/reference-settings.mdx | 201 +
.../docs/api/generated/reference-sshKey.mdx | 41 +
.../docs/api/generated/reference-stripe.mdx | 31 +
.../docs/api/generated/reference-user.mdx | 26 +
apps/docs-v2/content/docs/api/index.mdx | 99 +
apps/docs-v2/content/docs/api/meta.json | 7 +
.../content/docs/api/reference-admin.mdx | 36 +
.../docs/api/reference-application.mdx | 121 +
.../content/docs/api/reference-auth.mdx | 86 +
.../content/docs/api/reference-backup.mdx | 51 +
.../content/docs/api/reference-bitbucket.mdx | 46 +
.../docs/api/reference-certificates.mdx | 31 +
.../content/docs/api/reference-cluster.mdx | 31 +
.../content/docs/api/reference-compose.mdx | 96 +
.../content/docs/api/reference-deployment.mdx | 26 +
.../docs/api/reference-destination.mdx | 41 +
.../content/docs/api/reference-docker.mdx | 36 +
.../content/docs/api/reference-domain.mdx | 46 +
.../docs/api/reference-gitProvider.mdx | 21 +
.../content/docs/api/reference-github.mdx | 41 +
.../content/docs/api/reference-gitlab.mdx | 46 +
.../content/docs/api/reference-mariadb.mdx | 66 +
.../content/docs/api/reference-mongo.mdx | 66 +
.../content/docs/api/reference-mounts.mdx | 31 +
.../content/docs/api/reference-mysql.mdx | 66 +
.../docs/api/reference-notification.mdx | 86 +
.../content/docs/api/reference-port.mdx | 31 +
.../content/docs/api/reference-postgres.mdx | 66 +
.../content/docs/api/reference-project.mdx | 36 +
.../content/docs/api/reference-redirects.mdx | 31 +
.../content/docs/api/reference-redis.mdx | 66 +
.../content/docs/api/reference-registry.mdx | 41 +
.../content/docs/api/reference-security.mdx | 31 +
.../content/docs/api/reference-server.mdx | 46 +
.../content/docs/api/reference-settings.mdx | 201 +
.../content/docs/api/reference-sshKey.mdx | 41 +
.../content/docs/api/reference-stripe.mdx | 31 +
.../content/docs/api/reference-user.mdx | 26 +
apps/docs-v2/content/docs/cli/application.mdx | 20 +
.../content/docs/cli/authentication.mdx | 29 +
apps/docs-v2/content/docs/cli/databases.mdx | 45 +
apps/docs-v2/content/docs/cli/index.mdx | 23 +
apps/docs-v2/content/docs/cli/meta.json | 13 +
apps/docs-v2/content/docs/cli/project.mdx | 18 +
.../docs/core/(Git-Sources)/bitbucket.mdx | 73 +
.../docs/core/(Git-Sources)/github.mdx | 48 +
.../docs/core/(Git-Sources)/gitlab.mdx | 79 +
.../docs/core/(Notifications)/discord.mdx | 25 +
.../docs/core/(Notifications)/email.mdx | 22 +
.../docs/core/(Notifications)/overview.mdx | 22 +
.../docs/core/(Notifications)/slack.mdx | 27 +
.../docs/core/(Notifications)/telegram.mdx | 28 +
.../docs/core/(S3-Destinations)/actions.mdx | 30 +
.../docs/core/(S3-Destinations)/aws-s3.mdx | 63 +
.../core/(S3-Destinations)/backblaze-b2.mdx | 26 +
.../core/(S3-Destinations)/cloudflare-r2.mdx | 24 +
.../content/docs/core/(Users)/permissions.mdx | 26 +
.../docs/core/applications/advanced.mdx | 173 +
.../docs/core/applications/auto-deploy.mdx | 86 +
.../docs/core/applications/build-type.mdx | 34 +
.../docs/core/applications/domains.mdx | 48 +
.../content/docs/core/applications/index.mdx | 58 +
.../docs/core/applications/providers.mdx | 58 +
.../content/docs/core/architecture.mdx | 29 +
.../content/docs/core/certificates.mdx | 21 +
.../content/docs/core/databases/backups.mdx | 26 +
.../docs/core/databases/connection.mdx | 33 +
.../content/docs/core/databases/index.mdx | 51 +
.../docs/core/docker-compose/auto-deploy.mdx | 84 +
.../docs/core/docker-compose/domains.mdx | 181 +
.../docs/core/docker-compose/example.mdx | 110 +
.../docs/core/docker-compose/index.mdx | 76 +
.../docs/core/docker-compose/providers.mdx | 66 +
apps/docs-v2/content/docs/core/features.mdx | 102 +
apps/docs-v2/content/docs/core/index.mdx | 54 +
.../content/docs/core/installation.mdx | 85 +
.../docs/core/manual-installation.mdx} | 45 +-
apps/docs-v2/content/docs/core/meta.json | 38 +
.../docs/core/registry/digital-ocean.mdx | 22 +
.../content/docs/core/registry/dockerhub.mdx | 19 +
.../content/docs/core/registry/ghcr.mdx | 19 +
.../content/docs/core/registry/index.mdx | 23 +
.../content/docs/core/reset-password.mdx | 41 +
apps/docs-v2/content/docs/core/ssh-keys.mdx | 30 +
.../content/docs/core/templates/index.mdx | 44 +
.../docs/core/templates/pocketbase.mdx | 6 +
.../content/docs/core/templates/supabase.mdx | 6 +
.../content/docs/core/uninstall.cn.mdx | 32 +
apps/docs-v2/content/docs/core/uninstall.mdx | 39 +
apps/docs-v2/content/docs/core/videos.mdx | 35 +
apps/docs-v2/content/docs/meta.json | 3 +
apps/docs-v2/content/docs/test.mdx | 17 +
apps/docs-v2/generate-docs.mjs | 17 +
apps/docs-v2/lib/source.ts | 17 +
apps/docs-v2/next.config.mjs | 10 +
apps/docs-v2/package.json | 35 +
apps/docs-v2/postcss.config.js | 6 +
.../docs-v2/public/android-chrome-192x192.png | Bin 0 -> 16133 bytes
.../docs-v2/public/android-chrome-512x512.png | Bin 0 -> 55906 bytes
apps/docs-v2/public/apple-touch-icon.png | Bin 0 -> 14448 bytes
apps/docs-v2/public/assets/add-node.png | Bin 0 -> 123273 bytes
apps/docs-v2/public/assets/architecture.png | Bin 0 -> 55882 bytes
apps/docs-v2/public/assets/cli/token.png | Bin 0 -> 153099 bytes
apps/docs-v2/public/assets/diagram.png | Bin 0 -> 165238 bytes
.../public/assets/dokploy-ssh-compose.png | Bin 0 -> 179998 bytes
.../docs-v2/public/assets/dokploy-ssh-key.png | Bin 0 -> 182875 bytes
apps/docs-v2/public/assets/favicon.png | Bin 0 -> 24940 bytes
.../assets/file-mount-configuration.webp | Bin 0 -> 20498 bytes
apps/docs-v2/public/assets/file-mount.png | Bin 0 -> 61075 bytes
.../public/assets/hostinger-add-sshkey.png | Bin 0 -> 133141 bytes
apps/docs-v2/public/assets/houston.webp | Bin 0 -> 98506 bytes
.../app-setup-domain.png | Bin 0 -> 50445 bytes
.../application-domain-setup/domain-setup.png | Bin 0 -> 151143 bytes
.../public/assets/images/checks-passed.png | Bin 0 -> 160724 bytes
.../assets/images/cluster/application.png | Bin 0 -> 101657 bytes
.../public/assets/images/cluster/cluster.png | Bin 0 -> 118464 bytes
.../public/assets/images/cluster/nodes.png | Bin 0 -> 137656 bytes
.../public/assets/images/cluster/registry.png | Bin 0 -> 125053 bytes
.../assets/images/cluster/swarm-settings.png | Bin 0 -> 169371 bytes
.../assets/images/compose/application.png | Bin 0 -> 133697 bytes
.../public/assets/images/compose/domain.png | Bin 0 -> 88877 bytes
.../public/assets/images/compose/overview.png | Bin 0 -> 153002 bytes
.../public/assets/images/compose/setup.png | Bin 0 -> 106849 bytes
.../images/deployment/oracle/oracle-shape.png | Bin 0 -> 257842 bytes
.../public/assets/images/hero-dark.svg | 161 +
.../public/assets/images/hero-light.svg | 155 +
apps/docs-v2/public/assets/images/setup.png | Bin 0 -> 103260 bytes
.../images/web-domain-setup/dokploy-setup.png | Bin 0 -> 123828 bytes
.../images/web-domain-setup/domain-setup.png | Bin 0 -> 151143 bytes
.../public/assets/multi-server-add-app.png | Bin 0 -> 77609 bytes
.../public/assets/multi-server-add-server.png | Bin 0 -> 88966 bytes
.../public/assets/multi-server-finish.png | Bin 0 -> 262859 bytes
.../public/assets/multi-server-overview.png | Bin 0 -> 86785 bytes
.../public/assets/multi-server-setup-2.png | Bin 0 -> 241546 bytes
.../public/assets/multi-server-setup-3.png | Bin 0 -> 197623 bytes
.../public/assets/multi-server-setup-app.png | Bin 0 -> 109677 bytes
.../public/assets/multi-server-setup.png | Bin 0 -> 115362 bytes
apps/docs-v2/public/assets/nodes.png | Bin 0 -> 109347 bytes
.../public/assets/private-repository.png | Bin 0 -> 150211 bytes
apps/docs-v2/public/assets/ssh-keys.png | Bin 0 -> 130072 bytes
apps/docs-v2/public/assets/webhook-github.png | Bin 0 -> 182644 bytes
.../public/assets/webhook-url-compose.png | Bin 0 -> 104082 bytes
apps/docs-v2/public/assets/webhook-url.png | Bin 0 -> 101298 bytes
apps/docs-v2/public/favicon-16x16.png | Bin 0 -> 730 bytes
apps/docs-v2/public/favicon-32x32.png | Bin 0 -> 1889 bytes
apps/docs-v2/public/favicon.ico | Bin 0 -> 15406 bytes
apps/docs-v2/public/logo.png | Bin 0 -> 5407 bytes
apps/docs-v2/scripts/api.yaml | 806 +
apps/docs-v2/scripts/generate-docs.mts | 38 +
apps/docs-v2/scripts/pre-build.mts | 9 +
apps/docs-v2/source.config.ts | 7 +
apps/docs-v2/tailwind.config.js | 21 +
apps/docs-v2/tsconfig.json | 29 +
apps/docs-v2/utils/metadata.ts | 6 +
apps/docs/app/[lang]/[[...slug]]/page.tsx | 2 +-
apps/docs/app/[lang]/layout.tsx | 2 +-
apps/docs/app/api/search/route.ts | 2 +-
apps/docs/app/sitemap.ts | 2 +-
apps/docs/app/{source.ts => source.config.ts} | 0
.../docs/cli/commands/application.cn.mdx | 18 -
.../docs/cli/commands/authentication.cn.mdx | 25 -
.../docs/cli/commands/databases.cn.mdx | 43 -
.../content/docs/cli/commands/project.cn.mdx | 16 -
apps/docs/content/docs/cli/index.cn.mdx | 23 -
apps/docs/content/docs/cli/meta.cn.json | 13 -
.../docs/core/application/advanced.cn.mdx | 166 -
.../docs/core/application/auto-deploy.cn.mdx | 85 -
.../docs/core/application/build-type.cn.mdx | 32 -
.../docs/core/application/domains.cn.mdx | 46 -
.../docs/core/application/overview.cn.mdx | 41 -
.../docs/core/application/providers.cn.mdx | 42 -
.../docs/core/databases/backups.cn.mdx | 26 -
.../docs/core/databases/connection.cn.mdx | 32 -
.../docs/core/databases/overview.cn.mdx | 25 -
.../core/docker-compose/auto-deploy.cn.mdx | 81 -
.../docs/core/docker-compose/domains.cn.mdx | 192 -
.../docs/core/docker-compose/example.cn.mdx | 107 -
.../docs/core/docker-compose/overview.cn.mdx | 76 -
.../docs/core/docker-compose/providers.cn.mdx | 40 -
.../docs/core/get-started/architecture.cn.mdx | 28 -
.../docs/core/get-started/features.cn.mdx | 100 -
.../docs/core/get-started/installation.cn.mdx | 72 -
.../docs/core/get-started/introduction.cn.mdx | 54 -
.../core/get-started/reset-password.cn.mdx | 13 -
apps/docs/next.config.mjs | 2 +-
biome.json | 9 +-
pnpm-lock.yaml | 2602 +++-
pnpm-workspace.yaml | 3 +-
229 files changed, 22179 insertions(+), 2109 deletions(-)
create mode 100644 apps/docs-v2/.gitignore
create mode 100644 apps/docs-v2/README.md
create mode 100644 apps/docs-v2/api.json
create mode 100644 apps/docs-v2/app/(home)/layout.tsx
create mode 100644 apps/docs-v2/app/(home)/page.tsx
create mode 100644 apps/docs-v2/app/api/search/route.ts
create mode 100644 apps/docs-v2/app/docs/[[...slug]]/page.tsx
create mode 100644 apps/docs-v2/app/docs/layout.tsx
create mode 100644 apps/docs-v2/app/global.css
create mode 100644 apps/docs-v2/app/layout.config.tsx
create mode 100644 apps/docs-v2/app/layout.tsx
create mode 100644 apps/docs-v2/app/robots.ts
create mode 100644 apps/docs-v2/app/sitemap.ts
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-admin.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-application.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-auth.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-backup.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-bitbucket.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-certificates.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-cluster.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-compose.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-deployment.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-destination.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-docker.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-domain.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-gitProvider.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-github.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-gitlab.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-mariadb.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-mongo.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-mounts.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-mysql.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-notification.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-port.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-postgres.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-project.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-redirects.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-redis.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-registry.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-security.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-server.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-settings.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-sshKey.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-stripe.mdx
create mode 100644 apps/docs-v2/content/docs/api/generated/reference-user.mdx
create mode 100644 apps/docs-v2/content/docs/api/index.mdx
create mode 100644 apps/docs-v2/content/docs/api/meta.json
create mode 100644 apps/docs-v2/content/docs/api/reference-admin.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-application.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-auth.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-backup.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-bitbucket.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-certificates.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-cluster.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-compose.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-deployment.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-destination.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-docker.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-domain.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-gitProvider.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-github.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-gitlab.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-mariadb.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-mongo.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-mounts.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-mysql.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-notification.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-port.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-postgres.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-project.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-redirects.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-redis.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-registry.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-security.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-server.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-settings.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-sshKey.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-stripe.mdx
create mode 100644 apps/docs-v2/content/docs/api/reference-user.mdx
create mode 100644 apps/docs-v2/content/docs/cli/application.mdx
create mode 100644 apps/docs-v2/content/docs/cli/authentication.mdx
create mode 100644 apps/docs-v2/content/docs/cli/databases.mdx
create mode 100644 apps/docs-v2/content/docs/cli/index.mdx
create mode 100644 apps/docs-v2/content/docs/cli/meta.json
create mode 100644 apps/docs-v2/content/docs/cli/project.mdx
create mode 100644 apps/docs-v2/content/docs/core/(Git-Sources)/bitbucket.mdx
create mode 100644 apps/docs-v2/content/docs/core/(Git-Sources)/github.mdx
create mode 100644 apps/docs-v2/content/docs/core/(Git-Sources)/gitlab.mdx
create mode 100644 apps/docs-v2/content/docs/core/(Notifications)/discord.mdx
create mode 100644 apps/docs-v2/content/docs/core/(Notifications)/email.mdx
create mode 100644 apps/docs-v2/content/docs/core/(Notifications)/overview.mdx
create mode 100644 apps/docs-v2/content/docs/core/(Notifications)/slack.mdx
create mode 100644 apps/docs-v2/content/docs/core/(Notifications)/telegram.mdx
create mode 100644 apps/docs-v2/content/docs/core/(S3-Destinations)/actions.mdx
create mode 100644 apps/docs-v2/content/docs/core/(S3-Destinations)/aws-s3.mdx
create mode 100644 apps/docs-v2/content/docs/core/(S3-Destinations)/backblaze-b2.mdx
create mode 100644 apps/docs-v2/content/docs/core/(S3-Destinations)/cloudflare-r2.mdx
create mode 100644 apps/docs-v2/content/docs/core/(Users)/permissions.mdx
create mode 100644 apps/docs-v2/content/docs/core/applications/advanced.mdx
create mode 100644 apps/docs-v2/content/docs/core/applications/auto-deploy.mdx
create mode 100644 apps/docs-v2/content/docs/core/applications/build-type.mdx
create mode 100644 apps/docs-v2/content/docs/core/applications/domains.mdx
create mode 100644 apps/docs-v2/content/docs/core/applications/index.mdx
create mode 100644 apps/docs-v2/content/docs/core/applications/providers.mdx
create mode 100644 apps/docs-v2/content/docs/core/architecture.mdx
create mode 100644 apps/docs-v2/content/docs/core/certificates.mdx
create mode 100644 apps/docs-v2/content/docs/core/databases/backups.mdx
create mode 100644 apps/docs-v2/content/docs/core/databases/connection.mdx
create mode 100644 apps/docs-v2/content/docs/core/databases/index.mdx
create mode 100644 apps/docs-v2/content/docs/core/docker-compose/auto-deploy.mdx
create mode 100644 apps/docs-v2/content/docs/core/docker-compose/domains.mdx
create mode 100644 apps/docs-v2/content/docs/core/docker-compose/example.mdx
create mode 100644 apps/docs-v2/content/docs/core/docker-compose/index.mdx
create mode 100644 apps/docs-v2/content/docs/core/docker-compose/providers.mdx
create mode 100644 apps/docs-v2/content/docs/core/features.mdx
create mode 100644 apps/docs-v2/content/docs/core/index.mdx
create mode 100644 apps/docs-v2/content/docs/core/installation.mdx
rename apps/{docs/content/docs/core/get-started/manual-installation.cn.mdx => docs-v2/content/docs/core/manual-installation.mdx} (58%)
create mode 100644 apps/docs-v2/content/docs/core/meta.json
create mode 100644 apps/docs-v2/content/docs/core/registry/digital-ocean.mdx
create mode 100644 apps/docs-v2/content/docs/core/registry/dockerhub.mdx
create mode 100644 apps/docs-v2/content/docs/core/registry/ghcr.mdx
create mode 100644 apps/docs-v2/content/docs/core/registry/index.mdx
create mode 100644 apps/docs-v2/content/docs/core/reset-password.mdx
create mode 100644 apps/docs-v2/content/docs/core/ssh-keys.mdx
create mode 100644 apps/docs-v2/content/docs/core/templates/index.mdx
create mode 100644 apps/docs-v2/content/docs/core/templates/pocketbase.mdx
create mode 100644 apps/docs-v2/content/docs/core/templates/supabase.mdx
create mode 100644 apps/docs-v2/content/docs/core/uninstall.cn.mdx
create mode 100644 apps/docs-v2/content/docs/core/uninstall.mdx
create mode 100644 apps/docs-v2/content/docs/core/videos.mdx
create mode 100644 apps/docs-v2/content/docs/meta.json
create mode 100644 apps/docs-v2/content/docs/test.mdx
create mode 100644 apps/docs-v2/generate-docs.mjs
create mode 100644 apps/docs-v2/lib/source.ts
create mode 100644 apps/docs-v2/next.config.mjs
create mode 100644 apps/docs-v2/package.json
create mode 100644 apps/docs-v2/postcss.config.js
create mode 100644 apps/docs-v2/public/android-chrome-192x192.png
create mode 100644 apps/docs-v2/public/android-chrome-512x512.png
create mode 100644 apps/docs-v2/public/apple-touch-icon.png
create mode 100644 apps/docs-v2/public/assets/add-node.png
create mode 100644 apps/docs-v2/public/assets/architecture.png
create mode 100644 apps/docs-v2/public/assets/cli/token.png
create mode 100644 apps/docs-v2/public/assets/diagram.png
create mode 100644 apps/docs-v2/public/assets/dokploy-ssh-compose.png
create mode 100644 apps/docs-v2/public/assets/dokploy-ssh-key.png
create mode 100644 apps/docs-v2/public/assets/favicon.png
create mode 100644 apps/docs-v2/public/assets/file-mount-configuration.webp
create mode 100644 apps/docs-v2/public/assets/file-mount.png
create mode 100644 apps/docs-v2/public/assets/hostinger-add-sshkey.png
create mode 100644 apps/docs-v2/public/assets/houston.webp
create mode 100644 apps/docs-v2/public/assets/images/application-domain-setup/app-setup-domain.png
create mode 100644 apps/docs-v2/public/assets/images/application-domain-setup/domain-setup.png
create mode 100644 apps/docs-v2/public/assets/images/checks-passed.png
create mode 100644 apps/docs-v2/public/assets/images/cluster/application.png
create mode 100644 apps/docs-v2/public/assets/images/cluster/cluster.png
create mode 100644 apps/docs-v2/public/assets/images/cluster/nodes.png
create mode 100644 apps/docs-v2/public/assets/images/cluster/registry.png
create mode 100644 apps/docs-v2/public/assets/images/cluster/swarm-settings.png
create mode 100644 apps/docs-v2/public/assets/images/compose/application.png
create mode 100644 apps/docs-v2/public/assets/images/compose/domain.png
create mode 100644 apps/docs-v2/public/assets/images/compose/overview.png
create mode 100644 apps/docs-v2/public/assets/images/compose/setup.png
create mode 100644 apps/docs-v2/public/assets/images/deployment/oracle/oracle-shape.png
create mode 100644 apps/docs-v2/public/assets/images/hero-dark.svg
create mode 100644 apps/docs-v2/public/assets/images/hero-light.svg
create mode 100644 apps/docs-v2/public/assets/images/setup.png
create mode 100644 apps/docs-v2/public/assets/images/web-domain-setup/dokploy-setup.png
create mode 100644 apps/docs-v2/public/assets/images/web-domain-setup/domain-setup.png
create mode 100644 apps/docs-v2/public/assets/multi-server-add-app.png
create mode 100644 apps/docs-v2/public/assets/multi-server-add-server.png
create mode 100644 apps/docs-v2/public/assets/multi-server-finish.png
create mode 100644 apps/docs-v2/public/assets/multi-server-overview.png
create mode 100644 apps/docs-v2/public/assets/multi-server-setup-2.png
create mode 100644 apps/docs-v2/public/assets/multi-server-setup-3.png
create mode 100644 apps/docs-v2/public/assets/multi-server-setup-app.png
create mode 100644 apps/docs-v2/public/assets/multi-server-setup.png
create mode 100644 apps/docs-v2/public/assets/nodes.png
create mode 100644 apps/docs-v2/public/assets/private-repository.png
create mode 100644 apps/docs-v2/public/assets/ssh-keys.png
create mode 100644 apps/docs-v2/public/assets/webhook-github.png
create mode 100644 apps/docs-v2/public/assets/webhook-url-compose.png
create mode 100644 apps/docs-v2/public/assets/webhook-url.png
create mode 100644 apps/docs-v2/public/favicon-16x16.png
create mode 100644 apps/docs-v2/public/favicon-32x32.png
create mode 100644 apps/docs-v2/public/favicon.ico
create mode 100644 apps/docs-v2/public/logo.png
create mode 100644 apps/docs-v2/scripts/api.yaml
create mode 100644 apps/docs-v2/scripts/generate-docs.mts
create mode 100644 apps/docs-v2/scripts/pre-build.mts
create mode 100644 apps/docs-v2/source.config.ts
create mode 100644 apps/docs-v2/tailwind.config.js
create mode 100644 apps/docs-v2/tsconfig.json
create mode 100644 apps/docs-v2/utils/metadata.ts
rename apps/docs/app/{source.ts => source.config.ts} (100%)
delete mode 100644 apps/docs/content/docs/cli/commands/application.cn.mdx
delete mode 100644 apps/docs/content/docs/cli/commands/authentication.cn.mdx
delete mode 100644 apps/docs/content/docs/cli/commands/databases.cn.mdx
delete mode 100644 apps/docs/content/docs/cli/commands/project.cn.mdx
delete mode 100644 apps/docs/content/docs/cli/index.cn.mdx
delete mode 100644 apps/docs/content/docs/cli/meta.cn.json
delete mode 100644 apps/docs/content/docs/core/application/advanced.cn.mdx
delete mode 100644 apps/docs/content/docs/core/application/auto-deploy.cn.mdx
delete mode 100644 apps/docs/content/docs/core/application/build-type.cn.mdx
delete mode 100644 apps/docs/content/docs/core/application/domains.cn.mdx
delete mode 100644 apps/docs/content/docs/core/application/overview.cn.mdx
delete mode 100644 apps/docs/content/docs/core/application/providers.cn.mdx
delete mode 100644 apps/docs/content/docs/core/databases/backups.cn.mdx
delete mode 100644 apps/docs/content/docs/core/databases/connection.cn.mdx
delete mode 100644 apps/docs/content/docs/core/databases/overview.cn.mdx
delete mode 100644 apps/docs/content/docs/core/docker-compose/auto-deploy.cn.mdx
delete mode 100644 apps/docs/content/docs/core/docker-compose/domains.cn.mdx
delete mode 100644 apps/docs/content/docs/core/docker-compose/example.cn.mdx
delete mode 100644 apps/docs/content/docs/core/docker-compose/overview.cn.mdx
delete mode 100644 apps/docs/content/docs/core/docker-compose/providers.cn.mdx
delete mode 100644 apps/docs/content/docs/core/get-started/architecture.cn.mdx
delete mode 100644 apps/docs/content/docs/core/get-started/features.cn.mdx
delete mode 100644 apps/docs/content/docs/core/get-started/installation.cn.mdx
delete mode 100644 apps/docs/content/docs/core/get-started/introduction.cn.mdx
delete mode 100644 apps/docs/content/docs/core/get-started/reset-password.cn.mdx
diff --git a/apps/docs-v2/.gitignore b/apps/docs-v2/.gitignore
new file mode 100644
index 0000000..55a12ae
--- /dev/null
+++ b/apps/docs-v2/.gitignore
@@ -0,0 +1,28 @@
+# deps
+/node_modules
+
+# generated content
+.contentlayer
+.content-collections
+.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-v2/README.md b/apps/docs-v2/README.md
new file mode 100644
index 0000000..a923f4d
--- /dev/null
+++ b/apps/docs-v2/README.md
@@ -0,0 +1,26 @@
+# docs-v2
+
+This is a Next.js application generated with
+[Create Fumadocs](https://github.com/fuma-nama/fumadocs).
+
+Run development server:
+
+```bash
+npm run dev
+# or
+pnpm dev
+# or
+yarn dev
+```
+
+Open http://localhost:3000 with your browser to see the result.
+
+## Learn More
+
+To learn more about Next.js and Fumadocs, take a look at the following
+resources:
+
+- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js
+ features and API.
+- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
+- [Fumadocs](https://fumadocs.vercel.app) - learn about Fumadocs
diff --git a/apps/docs-v2/api.json b/apps/docs-v2/api.json
new file mode 100644
index 0000000..62e798a
--- /dev/null
+++ b/apps/docs-v2/api.json
@@ -0,0 +1,12690 @@
+{
+ "openapi": "3.0.3",
+ "info": {
+ "title": "Dokploy API",
+ "description": "Endpoints for dokploy",
+ "version": "1.0.0"
+ },
+ "servers": [
+ {
+ "url": "http://your-dokploy-instance.com/api"
+ }
+ ],
+ "paths": {
+ "/admin.one": {
+ "get": {
+ "operationId": "admin-one",
+ "tags": ["admin"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/admin.createUserInvitation": {
+ "post": {
+ "operationId": "admin-createUserInvitation",
+ "tags": ["admin"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "email": {
+ "type": "string",
+ "format": "email"
+ }
+ },
+ "required": ["email"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/admin.removeUser": {
+ "post": {
+ "operationId": "admin-removeUser",
+ "tags": ["admin"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "authId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["authId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/admin.getUserByToken": {
+ "get": {
+ "operationId": "admin-getUserByToken",
+ "tags": ["admin"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "token",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/admin.assignPermissions": {
+ "post": {
+ "operationId": "admin-assignPermissions",
+ "tags": ["admin"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "canCreateProjects": {
+ "type": "boolean"
+ },
+ "canCreateServices": {
+ "type": "boolean"
+ },
+ "canDeleteProjects": {
+ "type": "boolean"
+ },
+ "canDeleteServices": {
+ "type": "boolean"
+ },
+ "accesedProjects": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "accesedServices": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "canAccessToTraefikFiles": {
+ "type": "boolean"
+ },
+ "canAccessToDocker": {
+ "type": "boolean"
+ },
+ "canAccessToAPI": {
+ "type": "boolean"
+ },
+ "canAccessToSSHKeys": {
+ "type": "boolean"
+ },
+ "canAccessToGitProviders": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "userId",
+ "canCreateProjects",
+ "canCreateServices",
+ "canDeleteProjects",
+ "canDeleteServices",
+ "accesedProjects",
+ "accesedServices",
+ "canAccessToTraefikFiles",
+ "canAccessToDocker",
+ "canAccessToAPI",
+ "canAccessToSSHKeys",
+ "canAccessToGitProviders"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/docker.getContainers": {
+ "get": {
+ "operationId": "docker-getContainers",
+ "tags": ["docker"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "serverId",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/docker.restartContainer": {
+ "post": {
+ "operationId": "docker-restartContainer",
+ "tags": ["docker"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "containerId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["containerId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/docker.getConfig": {
+ "get": {
+ "operationId": "docker-getConfig",
+ "tags": ["docker"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "containerId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ {
+ "name": "serverId",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/docker.getContainersByAppNameMatch": {
+ "get": {
+ "operationId": "docker-getContainersByAppNameMatch",
+ "tags": ["docker"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "appType",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "enum": ["stack"]
+ },
+ {
+ "type": "string",
+ "enum": ["docker-compose"]
+ }
+ ]
+ }
+ },
+ {
+ "name": "appName",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ {
+ "name": "serverId",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/docker.getContainersByAppLabel": {
+ "get": {
+ "operationId": "docker-getContainersByAppLabel",
+ "tags": ["docker"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "appName",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ {
+ "name": "serverId",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/auth.createAdmin": {
+ "post": {
+ "operationId": "auth-createAdmin",
+ "tags": ["auth"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "email": {
+ "type": "string",
+ "format": "email"
+ },
+ "password": {
+ "type": "string",
+ "minLength": 8
+ }
+ },
+ "required": ["email", "password"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/auth.createUser": {
+ "post": {
+ "operationId": "auth-createUser",
+ "tags": ["auth"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "password": {
+ "type": "string",
+ "minLength": 8
+ },
+ "id": {
+ "type": "string"
+ },
+ "token": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["password", "id", "token"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/auth.login": {
+ "post": {
+ "operationId": "auth-login",
+ "tags": ["auth"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "email": {
+ "type": "string",
+ "format": "email"
+ },
+ "password": {
+ "type": "string",
+ "minLength": 8
+ }
+ },
+ "required": ["email", "password"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/auth.get": {
+ "get": {
+ "operationId": "auth-get",
+ "tags": ["auth"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/auth.logout": {
+ "post": {
+ "operationId": "auth-logout",
+ "tags": ["auth"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/auth.update": {
+ "post": {
+ "operationId": "auth-update",
+ "tags": ["auth"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "email": {
+ "type": "string",
+ "nullable": true
+ },
+ "password": {
+ "type": "string",
+ "nullable": true
+ },
+ "rol": {
+ "type": "string",
+ "enum": ["admin", "user"]
+ },
+ "image": {
+ "type": "string"
+ },
+ "secret": {
+ "type": "string",
+ "nullable": true
+ },
+ "token": {
+ "type": "string",
+ "nullable": true
+ },
+ "is2FAEnabled": {
+ "type": "boolean"
+ },
+ "createdAt": {
+ "type": "string"
+ },
+ "resetPasswordToken": {
+ "type": "string",
+ "nullable": true
+ },
+ "resetPasswordExpiresAt": {
+ "type": "string",
+ "nullable": true
+ },
+ "confirmationToken": {
+ "type": "string",
+ "nullable": true
+ },
+ "confirmationExpiresAt": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": ["email", "password"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/auth.generateToken": {
+ "post": {
+ "operationId": "auth-generateToken",
+ "tags": ["auth"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/auth.one": {
+ "get": {
+ "operationId": "auth-one",
+ "tags": ["auth"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "id",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/auth.generate2FASecret": {
+ "get": {
+ "operationId": "auth-generate2FASecret",
+ "tags": ["auth"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/auth.verify2FASetup": {
+ "post": {
+ "operationId": "auth-verify2FASetup",
+ "tags": ["auth"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "pin": {
+ "type": "string",
+ "minLength": 6
+ },
+ "secret": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["pin", "secret"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/auth.verifyLogin2FA": {
+ "post": {
+ "operationId": "auth-verifyLogin2FA",
+ "tags": ["auth"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "pin": {
+ "type": "string",
+ "minLength": 6
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": ["pin", "id"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/auth.disable2FA": {
+ "post": {
+ "operationId": "auth-disable2FA",
+ "tags": ["auth"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/auth.sendResetPasswordEmail": {
+ "post": {
+ "operationId": "auth-sendResetPasswordEmail",
+ "tags": ["auth"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "email": {
+ "type": "string",
+ "minLength": 1,
+ "format": "email"
+ }
+ },
+ "required": ["email"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/auth.resetPassword": {
+ "post": {
+ "operationId": "auth-resetPassword",
+ "tags": ["auth"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "resetPasswordToken": {
+ "type": "string",
+ "minLength": 1
+ },
+ "password": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["resetPasswordToken", "password"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/auth.confirmEmail": {
+ "post": {
+ "operationId": "auth-confirmEmail",
+ "tags": ["auth"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "confirmationToken": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["confirmationToken"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/project.create": {
+ "post": {
+ "operationId": "project-create",
+ "tags": ["project"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "description": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": ["name"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/project.one": {
+ "get": {
+ "operationId": "project-one",
+ "tags": ["project"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/project.all": {
+ "get": {
+ "operationId": "project-all",
+ "tags": ["project"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/project.remove": {
+ "post": {
+ "operationId": "project-remove",
+ "tags": ["project"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "projectId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["projectId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/project.update": {
+ "post": {
+ "operationId": "project-update",
+ "tags": ["project"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "description": {
+ "type": "string",
+ "nullable": true
+ },
+ "projectId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["name", "projectId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/application.create": {
+ "post": {
+ "operationId": "application-create",
+ "tags": ["application"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "appName": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string",
+ "nullable": true
+ },
+ "projectId": {
+ "type": "string"
+ },
+ "serverId": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": ["name", "projectId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/application.one": {
+ "get": {
+ "operationId": "application-one",
+ "tags": ["application"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "applicationId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/application.reload": {
+ "post": {
+ "operationId": "application-reload",
+ "tags": ["application"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "appName": {
+ "type": "string"
+ },
+ "applicationId": {
+ "type": "string"
+ }
+ },
+ "required": ["appName", "applicationId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/application.delete": {
+ "post": {
+ "operationId": "application-delete",
+ "tags": ["application"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "applicationId": {
+ "type": "string"
+ }
+ },
+ "required": ["applicationId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/application.stop": {
+ "post": {
+ "operationId": "application-stop",
+ "tags": ["application"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "applicationId": {
+ "type": "string"
+ }
+ },
+ "required": ["applicationId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/application.start": {
+ "post": {
+ "operationId": "application-start",
+ "tags": ["application"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "applicationId": {
+ "type": "string"
+ }
+ },
+ "required": ["applicationId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/application.redeploy": {
+ "post": {
+ "operationId": "application-redeploy",
+ "tags": ["application"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "applicationId": {
+ "type": "string"
+ }
+ },
+ "required": ["applicationId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/application.saveEnvironment": {
+ "post": {
+ "operationId": "application-saveEnvironment",
+ "tags": ["application"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "applicationId": {
+ "type": "string"
+ },
+ "env": {
+ "type": "string",
+ "nullable": true
+ },
+ "buildArgs": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": ["applicationId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/application.saveBuildType": {
+ "post": {
+ "operationId": "application-saveBuildType",
+ "tags": ["application"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "applicationId": {
+ "type": "string"
+ },
+ "buildType": {
+ "type": "string",
+ "enum": [
+ "dockerfile",
+ "heroku_buildpacks",
+ "paketo_buildpacks",
+ "nixpacks",
+ "static"
+ ]
+ },
+ "dockerfile": {
+ "type": "string",
+ "nullable": true
+ },
+ "dockerContextPath": {
+ "type": "string",
+ "nullable": true
+ },
+ "dockerBuildStage": {
+ "type": "string",
+ "nullable": true
+ },
+ "publishDirectory": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": [
+ "applicationId",
+ "buildType",
+ "dockerContextPath",
+ "dockerBuildStage"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/application.saveGithubProvider": {
+ "post": {
+ "operationId": "application-saveGithubProvider",
+ "tags": ["application"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "applicationId": {
+ "type": "string"
+ },
+ "repository": {
+ "type": "string",
+ "nullable": true
+ },
+ "branch": {
+ "type": "string",
+ "nullable": true
+ },
+ "owner": {
+ "type": "string",
+ "nullable": true
+ },
+ "buildPath": {
+ "type": "string",
+ "nullable": true
+ },
+ "githubId": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": ["applicationId", "owner", "githubId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/application.saveGitlabProvider": {
+ "post": {
+ "operationId": "application-saveGitlabProvider",
+ "tags": ["application"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "applicationId": {
+ "type": "string"
+ },
+ "gitlabBranch": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitlabBuildPath": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitlabOwner": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitlabRepository": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitlabId": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitlabProjectId": {
+ "type": "number",
+ "nullable": true
+ },
+ "gitlabPathNamespace": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": [
+ "applicationId",
+ "gitlabBranch",
+ "gitlabBuildPath",
+ "gitlabOwner",
+ "gitlabRepository",
+ "gitlabId",
+ "gitlabProjectId",
+ "gitlabPathNamespace"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/application.saveBitbucketProvider": {
+ "post": {
+ "operationId": "application-saveBitbucketProvider",
+ "tags": ["application"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "bitbucketBranch": {
+ "type": "string",
+ "nullable": true
+ },
+ "bitbucketBuildPath": {
+ "type": "string",
+ "nullable": true
+ },
+ "bitbucketOwner": {
+ "type": "string",
+ "nullable": true
+ },
+ "bitbucketRepository": {
+ "type": "string",
+ "nullable": true
+ },
+ "bitbucketId": {
+ "type": "string",
+ "nullable": true
+ },
+ "applicationId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "bitbucketBranch",
+ "bitbucketBuildPath",
+ "bitbucketOwner",
+ "bitbucketRepository",
+ "bitbucketId",
+ "applicationId"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/application.saveDockerProvider": {
+ "post": {
+ "operationId": "application-saveDockerProvider",
+ "tags": ["application"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "dockerImage": {
+ "type": "string",
+ "nullable": true
+ },
+ "applicationId": {
+ "type": "string"
+ },
+ "username": {
+ "type": "string",
+ "nullable": true
+ },
+ "password": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": ["applicationId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/application.saveGitProdiver": {
+ "post": {
+ "operationId": "application-saveGitProdiver",
+ "tags": ["application"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "customGitBranch": {
+ "type": "string",
+ "nullable": true
+ },
+ "applicationId": {
+ "type": "string"
+ },
+ "customGitBuildPath": {
+ "type": "string",
+ "nullable": true
+ },
+ "customGitUrl": {
+ "type": "string",
+ "nullable": true
+ },
+ "customGitSSHKeyId": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": ["applicationId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/application.markRunning": {
+ "post": {
+ "operationId": "application-markRunning",
+ "tags": ["application"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "applicationId": {
+ "type": "string"
+ }
+ },
+ "required": ["applicationId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/application.update": {
+ "post": {
+ "operationId": "application-update",
+ "tags": ["application"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "applicationId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "appName": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string",
+ "nullable": true
+ },
+ "env": {
+ "type": "string",
+ "nullable": true
+ },
+ "buildArgs": {
+ "type": "string",
+ "nullable": true
+ },
+ "memoryReservation": {
+ "type": "number",
+ "nullable": true
+ },
+ "memoryLimit": {
+ "type": "number",
+ "nullable": true
+ },
+ "cpuReservation": {
+ "type": "number",
+ "nullable": true
+ },
+ "cpuLimit": {
+ "type": "number",
+ "nullable": true
+ },
+ "title": {
+ "type": "string",
+ "nullable": true
+ },
+ "enabled": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "subtitle": {
+ "type": "string",
+ "nullable": true
+ },
+ "command": {
+ "type": "string",
+ "nullable": true
+ },
+ "refreshToken": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceType": {
+ "type": "string",
+ "enum": ["github", "docker", "git"]
+ },
+ "repository": {
+ "type": "string",
+ "nullable": true
+ },
+ "owner": {
+ "type": "string",
+ "nullable": true
+ },
+ "branch": {
+ "type": "string",
+ "nullable": true
+ },
+ "buildPath": {
+ "type": "string",
+ "nullable": true
+ },
+ "autoDeploy": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "gitlabProjectId": {
+ "type": "number",
+ "nullable": true
+ },
+ "gitlabRepository": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitlabOwner": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitlabBranch": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitlabBuildPath": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitlabPathNamespace": {
+ "type": "string",
+ "nullable": true
+ },
+ "bitbucketRepository": {
+ "type": "string",
+ "nullable": true
+ },
+ "bitbucketOwner": {
+ "type": "string",
+ "nullable": true
+ },
+ "bitbucketBranch": {
+ "type": "string",
+ "nullable": true
+ },
+ "bitbucketBuildPath": {
+ "type": "string",
+ "nullable": true
+ },
+ "username": {
+ "type": "string",
+ "nullable": true
+ },
+ "password": {
+ "type": "string",
+ "nullable": true
+ },
+ "dockerImage": {
+ "type": "string",
+ "nullable": true
+ },
+ "customGitUrl": {
+ "type": "string",
+ "nullable": true
+ },
+ "customGitBranch": {
+ "type": "string",
+ "nullable": true
+ },
+ "customGitBuildPath": {
+ "type": "string",
+ "nullable": true
+ },
+ "customGitSSHKeyId": {
+ "type": "string",
+ "nullable": true
+ },
+ "dockerfile": {
+ "type": "string",
+ "nullable": true
+ },
+ "dockerContextPath": {
+ "type": "string",
+ "nullable": true
+ },
+ "dockerBuildStage": {
+ "type": "string",
+ "nullable": true
+ },
+ "dropBuildPath": {
+ "type": "string",
+ "nullable": true
+ },
+ "healthCheckSwarm": {
+ "type": "object",
+ "properties": {
+ "Test": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "Interval": {
+ "type": "number"
+ },
+ "Timeout": {
+ "type": "number"
+ },
+ "StartPeriod": {
+ "type": "number"
+ },
+ "Retries": {
+ "type": "number"
+ }
+ },
+ "additionalProperties": false,
+ "nullable": true
+ },
+ "restartPolicySwarm": {
+ "type": "object",
+ "properties": {
+ "Condition": {
+ "type": "string"
+ },
+ "Delay": {
+ "type": "number"
+ },
+ "MaxAttempts": {
+ "type": "number"
+ },
+ "Window": {
+ "type": "number"
+ }
+ },
+ "additionalProperties": false,
+ "nullable": true
+ },
+ "placementSwarm": {
+ "type": "object",
+ "properties": {
+ "Constraints": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "Preferences": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "Spread": {
+ "type": "object",
+ "properties": {
+ "SpreadDescriptor": {
+ "type": "string"
+ }
+ },
+ "required": ["SpreadDescriptor"],
+ "additionalProperties": false
+ }
+ },
+ "required": ["Spread"],
+ "additionalProperties": false
+ }
+ },
+ "MaxReplicas": {
+ "type": "number"
+ },
+ "Platforms": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "Architecture": {
+ "type": "string"
+ },
+ "OS": {
+ "type": "string"
+ }
+ },
+ "required": ["Architecture", "OS"],
+ "additionalProperties": false
+ }
+ }
+ },
+ "additionalProperties": false,
+ "nullable": true
+ },
+ "updateConfigSwarm": {
+ "type": "object",
+ "properties": {
+ "Parallelism": {
+ "type": "number"
+ },
+ "Delay": {
+ "type": "number"
+ },
+ "FailureAction": {
+ "type": "string"
+ },
+ "Monitor": {
+ "type": "number"
+ },
+ "MaxFailureRatio": {
+ "type": "number"
+ },
+ "Order": {
+ "type": "string"
+ }
+ },
+ "required": ["Parallelism", "Order"],
+ "additionalProperties": false,
+ "nullable": true
+ },
+ "rollbackConfigSwarm": {
+ "type": "object",
+ "properties": {
+ "Parallelism": {
+ "type": "number"
+ },
+ "Delay": {
+ "type": "number"
+ },
+ "FailureAction": {
+ "type": "string"
+ },
+ "Monitor": {
+ "type": "number"
+ },
+ "MaxFailureRatio": {
+ "type": "number"
+ },
+ "Order": {
+ "type": "string"
+ }
+ },
+ "required": ["Parallelism", "Order"],
+ "additionalProperties": false,
+ "nullable": true
+ },
+ "modeSwarm": {
+ "type": "object",
+ "properties": {
+ "Replicated": {
+ "type": "object",
+ "properties": {
+ "Replicas": {
+ "type": "number"
+ }
+ },
+ "additionalProperties": false
+ },
+ "Global": {
+ "type": "object",
+ "properties": {},
+ "additionalProperties": false
+ },
+ "ReplicatedJob": {
+ "type": "object",
+ "properties": {
+ "MaxConcurrent": {
+ "type": "number"
+ },
+ "TotalCompletions": {
+ "type": "number"
+ }
+ },
+ "additionalProperties": false
+ },
+ "GlobalJob": {
+ "type": "object",
+ "properties": {},
+ "additionalProperties": false
+ }
+ },
+ "additionalProperties": false,
+ "nullable": true
+ },
+ "labelsSwarm": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "nullable": true
+ },
+ "networkSwarm": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "Target": {
+ "type": "string"
+ },
+ "Aliases": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "DriverOpts": {
+ "type": "object",
+ "properties": {},
+ "additionalProperties": false
+ }
+ },
+ "additionalProperties": false
+ },
+ "nullable": true
+ },
+ "replicas": {
+ "type": "number"
+ },
+ "applicationStatus": {
+ "type": "string",
+ "enum": ["idle", "running", "done", "error"]
+ },
+ "buildType": {
+ "type": "string",
+ "enum": [
+ "dockerfile",
+ "heroku_buildpacks",
+ "paketo_buildpacks",
+ "nixpacks",
+ "static"
+ ]
+ },
+ "publishDirectory": {
+ "type": "string",
+ "nullable": true
+ },
+ "createdAt": {
+ "type": "string"
+ },
+ "registryId": {
+ "type": "string",
+ "nullable": true
+ },
+ "projectId": {
+ "type": "string"
+ },
+ "githubId": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitlabId": {
+ "type": "string",
+ "nullable": true
+ },
+ "bitbucketId": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": ["applicationId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/application.refreshToken": {
+ "post": {
+ "operationId": "application-refreshToken",
+ "tags": ["application"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "applicationId": {
+ "type": "string"
+ }
+ },
+ "required": ["applicationId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/application.deploy": {
+ "post": {
+ "operationId": "application-deploy",
+ "tags": ["application"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "applicationId": {
+ "type": "string"
+ }
+ },
+ "required": ["applicationId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/application.cleanQueues": {
+ "post": {
+ "operationId": "application-cleanQueues",
+ "tags": ["application"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "applicationId": {
+ "type": "string"
+ }
+ },
+ "required": ["applicationId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/application.readTraefikConfig": {
+ "get": {
+ "operationId": "application-readTraefikConfig",
+ "tags": ["application"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "applicationId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/application.updateTraefikConfig": {
+ "post": {
+ "operationId": "application-updateTraefikConfig",
+ "tags": ["application"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "applicationId": {
+ "type": "string"
+ },
+ "traefikConfig": {
+ "type": "string"
+ }
+ },
+ "required": ["applicationId", "traefikConfig"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/application.readAppMonitoring": {
+ "get": {
+ "operationId": "application-readAppMonitoring",
+ "tags": ["application"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "appName",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mysql.create": {
+ "post": {
+ "operationId": "mysql-create",
+ "tags": ["mysql"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "appName": {
+ "type": "string",
+ "minLength": 1
+ },
+ "dockerImage": {
+ "type": "string",
+ "default": "mysql:8"
+ },
+ "projectId": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string",
+ "nullable": true
+ },
+ "databaseName": {
+ "type": "string",
+ "minLength": 1
+ },
+ "databaseUser": {
+ "type": "string",
+ "minLength": 1
+ },
+ "databasePassword": {
+ "type": "string"
+ },
+ "databaseRootPassword": {
+ "type": "string"
+ },
+ "serverId": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": [
+ "name",
+ "appName",
+ "projectId",
+ "databaseName",
+ "databaseUser",
+ "databasePassword",
+ "databaseRootPassword"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mysql.one": {
+ "get": {
+ "operationId": "mysql-one",
+ "tags": ["mysql"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "mysqlId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mysql.start": {
+ "post": {
+ "operationId": "mysql-start",
+ "tags": ["mysql"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "mysqlId": {
+ "type": "string"
+ }
+ },
+ "required": ["mysqlId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mysql.stop": {
+ "post": {
+ "operationId": "mysql-stop",
+ "tags": ["mysql"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "mysqlId": {
+ "type": "string"
+ }
+ },
+ "required": ["mysqlId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mysql.saveExternalPort": {
+ "post": {
+ "operationId": "mysql-saveExternalPort",
+ "tags": ["mysql"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "mysqlId": {
+ "type": "string"
+ },
+ "externalPort": {
+ "type": "number",
+ "nullable": true
+ }
+ },
+ "required": ["mysqlId", "externalPort"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mysql.deploy": {
+ "post": {
+ "operationId": "mysql-deploy",
+ "tags": ["mysql"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "mysqlId": {
+ "type": "string"
+ }
+ },
+ "required": ["mysqlId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mysql.changeStatus": {
+ "post": {
+ "operationId": "mysql-changeStatus",
+ "tags": ["mysql"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "mysqlId": {
+ "type": "string"
+ },
+ "applicationStatus": {
+ "type": "string",
+ "enum": ["idle", "running", "done", "error"]
+ }
+ },
+ "required": ["mysqlId", "applicationStatus"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mysql.reload": {
+ "post": {
+ "operationId": "mysql-reload",
+ "tags": ["mysql"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "mysqlId": {
+ "type": "string"
+ },
+ "appName": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["mysqlId", "appName"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mysql.remove": {
+ "post": {
+ "operationId": "mysql-remove",
+ "tags": ["mysql"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "mysqlId": {
+ "type": "string"
+ }
+ },
+ "required": ["mysqlId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mysql.saveEnvironment": {
+ "post": {
+ "operationId": "mysql-saveEnvironment",
+ "tags": ["mysql"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "mysqlId": {
+ "type": "string"
+ },
+ "env": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": ["mysqlId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mysql.update": {
+ "post": {
+ "operationId": "mysql-update",
+ "tags": ["mysql"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "mysqlId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "appName": {
+ "type": "string",
+ "minLength": 1
+ },
+ "description": {
+ "type": "string",
+ "nullable": true
+ },
+ "databaseName": {
+ "type": "string",
+ "minLength": 1
+ },
+ "databaseUser": {
+ "type": "string",
+ "minLength": 1
+ },
+ "databasePassword": {
+ "type": "string"
+ },
+ "databaseRootPassword": {
+ "type": "string"
+ },
+ "dockerImage": {
+ "type": "string",
+ "default": "mysql:8"
+ },
+ "command": {
+ "type": "string",
+ "nullable": true
+ },
+ "env": {
+ "type": "string",
+ "nullable": true
+ },
+ "memoryReservation": {
+ "type": "number",
+ "nullable": true
+ },
+ "memoryLimit": {
+ "type": "number",
+ "nullable": true
+ },
+ "cpuReservation": {
+ "type": "number",
+ "nullable": true
+ },
+ "cpuLimit": {
+ "type": "number",
+ "nullable": true
+ },
+ "externalPort": {
+ "type": "number",
+ "nullable": true
+ },
+ "applicationStatus": {
+ "type": "string",
+ "enum": ["idle", "running", "done", "error"]
+ },
+ "createdAt": {
+ "type": "string"
+ },
+ "projectId": {
+ "type": "string"
+ }
+ },
+ "required": ["mysqlId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/postgres.create": {
+ "post": {
+ "operationId": "postgres-create",
+ "tags": ["postgres"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "appName": {
+ "type": "string"
+ },
+ "databaseName": {
+ "type": "string",
+ "minLength": 1
+ },
+ "databaseUser": {
+ "type": "string",
+ "minLength": 1
+ },
+ "databasePassword": {
+ "type": "string"
+ },
+ "dockerImage": {
+ "type": "string",
+ "default": "postgres:15"
+ },
+ "projectId": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string",
+ "nullable": true
+ },
+ "serverId": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": [
+ "name",
+ "appName",
+ "databaseName",
+ "databaseUser",
+ "databasePassword",
+ "projectId"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/postgres.one": {
+ "get": {
+ "operationId": "postgres-one",
+ "tags": ["postgres"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "postgresId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/postgres.start": {
+ "post": {
+ "operationId": "postgres-start",
+ "tags": ["postgres"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "postgresId": {
+ "type": "string"
+ }
+ },
+ "required": ["postgresId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/postgres.stop": {
+ "post": {
+ "operationId": "postgres-stop",
+ "tags": ["postgres"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "postgresId": {
+ "type": "string"
+ }
+ },
+ "required": ["postgresId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/postgres.saveExternalPort": {
+ "post": {
+ "operationId": "postgres-saveExternalPort",
+ "tags": ["postgres"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "postgresId": {
+ "type": "string"
+ },
+ "externalPort": {
+ "type": "number",
+ "nullable": true
+ }
+ },
+ "required": ["postgresId", "externalPort"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/postgres.deploy": {
+ "post": {
+ "operationId": "postgres-deploy",
+ "tags": ["postgres"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "postgresId": {
+ "type": "string"
+ }
+ },
+ "required": ["postgresId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/postgres.changeStatus": {
+ "post": {
+ "operationId": "postgres-changeStatus",
+ "tags": ["postgres"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "postgresId": {
+ "type": "string"
+ },
+ "applicationStatus": {
+ "type": "string",
+ "enum": ["idle", "running", "done", "error"]
+ }
+ },
+ "required": ["postgresId", "applicationStatus"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/postgres.remove": {
+ "post": {
+ "operationId": "postgres-remove",
+ "tags": ["postgres"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "postgresId": {
+ "type": "string"
+ }
+ },
+ "required": ["postgresId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/postgres.saveEnvironment": {
+ "post": {
+ "operationId": "postgres-saveEnvironment",
+ "tags": ["postgres"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "postgresId": {
+ "type": "string"
+ },
+ "env": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": ["postgresId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/postgres.reload": {
+ "post": {
+ "operationId": "postgres-reload",
+ "tags": ["postgres"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "postgresId": {
+ "type": "string"
+ },
+ "appName": {
+ "type": "string"
+ }
+ },
+ "required": ["postgresId", "appName"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/postgres.update": {
+ "post": {
+ "operationId": "postgres-update",
+ "tags": ["postgres"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "postgresId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "appName": {
+ "type": "string"
+ },
+ "databaseName": {
+ "type": "string",
+ "minLength": 1
+ },
+ "databaseUser": {
+ "type": "string",
+ "minLength": 1
+ },
+ "databasePassword": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string",
+ "nullable": true
+ },
+ "dockerImage": {
+ "type": "string",
+ "default": "postgres:15"
+ },
+ "command": {
+ "type": "string",
+ "nullable": true
+ },
+ "env": {
+ "type": "string",
+ "nullable": true
+ },
+ "memoryReservation": {
+ "type": "number",
+ "nullable": true
+ },
+ "externalPort": {
+ "type": "number",
+ "nullable": true
+ },
+ "memoryLimit": {
+ "type": "number",
+ "nullable": true
+ },
+ "cpuReservation": {
+ "type": "number",
+ "nullable": true
+ },
+ "cpuLimit": {
+ "type": "number",
+ "nullable": true
+ },
+ "applicationStatus": {
+ "type": "string",
+ "enum": ["idle", "running", "done", "error"]
+ },
+ "createdAt": {
+ "type": "string"
+ },
+ "projectId": {
+ "type": "string"
+ }
+ },
+ "required": ["postgresId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/redis.create": {
+ "post": {
+ "operationId": "redis-create",
+ "tags": ["redis"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "appName": {
+ "type": "string",
+ "minLength": 1
+ },
+ "databasePassword": {
+ "type": "string"
+ },
+ "dockerImage": {
+ "type": "string",
+ "default": "redis:8"
+ },
+ "projectId": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string",
+ "nullable": true
+ },
+ "serverId": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": [
+ "name",
+ "appName",
+ "databasePassword",
+ "projectId"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/redis.one": {
+ "get": {
+ "operationId": "redis-one",
+ "tags": ["redis"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "redisId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/redis.start": {
+ "post": {
+ "operationId": "redis-start",
+ "tags": ["redis"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "redisId": {
+ "type": "string"
+ }
+ },
+ "required": ["redisId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/redis.reload": {
+ "post": {
+ "operationId": "redis-reload",
+ "tags": ["redis"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "redisId": {
+ "type": "string"
+ },
+ "appName": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["redisId", "appName"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/redis.stop": {
+ "post": {
+ "operationId": "redis-stop",
+ "tags": ["redis"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "redisId": {
+ "type": "string"
+ }
+ },
+ "required": ["redisId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/redis.saveExternalPort": {
+ "post": {
+ "operationId": "redis-saveExternalPort",
+ "tags": ["redis"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "redisId": {
+ "type": "string"
+ },
+ "externalPort": {
+ "type": "number",
+ "nullable": true
+ }
+ },
+ "required": ["redisId", "externalPort"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/redis.deploy": {
+ "post": {
+ "operationId": "redis-deploy",
+ "tags": ["redis"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "redisId": {
+ "type": "string"
+ }
+ },
+ "required": ["redisId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/redis.changeStatus": {
+ "post": {
+ "operationId": "redis-changeStatus",
+ "tags": ["redis"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "redisId": {
+ "type": "string"
+ },
+ "applicationStatus": {
+ "type": "string",
+ "enum": ["idle", "running", "done", "error"]
+ }
+ },
+ "required": ["redisId", "applicationStatus"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/redis.remove": {
+ "post": {
+ "operationId": "redis-remove",
+ "tags": ["redis"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "redisId": {
+ "type": "string"
+ }
+ },
+ "required": ["redisId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/redis.saveEnvironment": {
+ "post": {
+ "operationId": "redis-saveEnvironment",
+ "tags": ["redis"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "redisId": {
+ "type": "string"
+ },
+ "env": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": ["redisId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/redis.update": {
+ "post": {
+ "operationId": "redis-update",
+ "tags": ["redis"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "redisId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "appName": {
+ "type": "string",
+ "minLength": 1
+ },
+ "description": {
+ "type": "string",
+ "nullable": true
+ },
+ "databasePassword": {
+ "type": "string"
+ },
+ "dockerImage": {
+ "type": "string",
+ "default": "redis:8"
+ },
+ "command": {
+ "type": "string",
+ "nullable": true
+ },
+ "env": {
+ "type": "string",
+ "nullable": true
+ },
+ "memoryReservation": {
+ "type": "number",
+ "nullable": true
+ },
+ "memoryLimit": {
+ "type": "number",
+ "nullable": true
+ },
+ "cpuReservation": {
+ "type": "number",
+ "nullable": true
+ },
+ "cpuLimit": {
+ "type": "number",
+ "nullable": true
+ },
+ "externalPort": {
+ "type": "number",
+ "nullable": true
+ },
+ "createdAt": {
+ "type": "string"
+ },
+ "applicationStatus": {
+ "type": "string",
+ "enum": ["idle", "running", "done", "error"]
+ },
+ "projectId": {
+ "type": "string"
+ }
+ },
+ "required": ["redisId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mongo.create": {
+ "post": {
+ "operationId": "mongo-create",
+ "tags": ["mongo"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "appName": {
+ "type": "string",
+ "minLength": 1
+ },
+ "dockerImage": {
+ "type": "string",
+ "default": "mongo:15"
+ },
+ "projectId": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string",
+ "nullable": true
+ },
+ "databaseUser": {
+ "type": "string",
+ "minLength": 1
+ },
+ "databasePassword": {
+ "type": "string"
+ },
+ "serverId": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": [
+ "name",
+ "appName",
+ "projectId",
+ "databaseUser",
+ "databasePassword"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mongo.one": {
+ "get": {
+ "operationId": "mongo-one",
+ "tags": ["mongo"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "mongoId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mongo.start": {
+ "post": {
+ "operationId": "mongo-start",
+ "tags": ["mongo"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "mongoId": {
+ "type": "string"
+ }
+ },
+ "required": ["mongoId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mongo.stop": {
+ "post": {
+ "operationId": "mongo-stop",
+ "tags": ["mongo"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "mongoId": {
+ "type": "string"
+ }
+ },
+ "required": ["mongoId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mongo.saveExternalPort": {
+ "post": {
+ "operationId": "mongo-saveExternalPort",
+ "tags": ["mongo"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "mongoId": {
+ "type": "string"
+ },
+ "externalPort": {
+ "type": "number",
+ "nullable": true
+ }
+ },
+ "required": ["mongoId", "externalPort"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mongo.deploy": {
+ "post": {
+ "operationId": "mongo-deploy",
+ "tags": ["mongo"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "mongoId": {
+ "type": "string"
+ }
+ },
+ "required": ["mongoId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mongo.changeStatus": {
+ "post": {
+ "operationId": "mongo-changeStatus",
+ "tags": ["mongo"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "mongoId": {
+ "type": "string"
+ },
+ "applicationStatus": {
+ "type": "string",
+ "enum": ["idle", "running", "done", "error"]
+ }
+ },
+ "required": ["mongoId", "applicationStatus"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mongo.reload": {
+ "post": {
+ "operationId": "mongo-reload",
+ "tags": ["mongo"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "mongoId": {
+ "type": "string"
+ },
+ "appName": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["mongoId", "appName"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mongo.remove": {
+ "post": {
+ "operationId": "mongo-remove",
+ "tags": ["mongo"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "mongoId": {
+ "type": "string"
+ }
+ },
+ "required": ["mongoId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mongo.saveEnvironment": {
+ "post": {
+ "operationId": "mongo-saveEnvironment",
+ "tags": ["mongo"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "mongoId": {
+ "type": "string"
+ },
+ "env": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": ["mongoId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mongo.update": {
+ "post": {
+ "operationId": "mongo-update",
+ "tags": ["mongo"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "mongoId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "appName": {
+ "type": "string",
+ "minLength": 1
+ },
+ "description": {
+ "type": "string",
+ "nullable": true
+ },
+ "databaseUser": {
+ "type": "string",
+ "minLength": 1
+ },
+ "databasePassword": {
+ "type": "string"
+ },
+ "dockerImage": {
+ "type": "string",
+ "default": "mongo:15"
+ },
+ "command": {
+ "type": "string",
+ "nullable": true
+ },
+ "env": {
+ "type": "string",
+ "nullable": true
+ },
+ "memoryReservation": {
+ "type": "number",
+ "nullable": true
+ },
+ "memoryLimit": {
+ "type": "number",
+ "nullable": true
+ },
+ "cpuReservation": {
+ "type": "number",
+ "nullable": true
+ },
+ "cpuLimit": {
+ "type": "number",
+ "nullable": true
+ },
+ "externalPort": {
+ "type": "number",
+ "nullable": true
+ },
+ "applicationStatus": {
+ "type": "string",
+ "enum": ["idle", "running", "done", "error"]
+ },
+ "createdAt": {
+ "type": "string"
+ },
+ "projectId": {
+ "type": "string"
+ }
+ },
+ "required": ["mongoId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mariadb.create": {
+ "post": {
+ "operationId": "mariadb-create",
+ "tags": ["mariadb"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "appName": {
+ "type": "string",
+ "minLength": 1
+ },
+ "dockerImage": {
+ "type": "string",
+ "default": "mariadb:6"
+ },
+ "databaseRootPassword": {
+ "type": "string"
+ },
+ "projectId": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string",
+ "nullable": true
+ },
+ "databaseName": {
+ "type": "string",
+ "minLength": 1
+ },
+ "databaseUser": {
+ "type": "string",
+ "minLength": 1
+ },
+ "databasePassword": {
+ "type": "string"
+ },
+ "serverId": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": [
+ "name",
+ "appName",
+ "databaseRootPassword",
+ "projectId",
+ "databaseName",
+ "databaseUser",
+ "databasePassword"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mariadb.one": {
+ "get": {
+ "operationId": "mariadb-one",
+ "tags": ["mariadb"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "mariadbId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mariadb.start": {
+ "post": {
+ "operationId": "mariadb-start",
+ "tags": ["mariadb"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "mariadbId": {
+ "type": "string"
+ }
+ },
+ "required": ["mariadbId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mariadb.stop": {
+ "post": {
+ "operationId": "mariadb-stop",
+ "tags": ["mariadb"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "mariadbId": {
+ "type": "string"
+ }
+ },
+ "required": ["mariadbId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mariadb.saveExternalPort": {
+ "post": {
+ "operationId": "mariadb-saveExternalPort",
+ "tags": ["mariadb"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "mariadbId": {
+ "type": "string"
+ },
+ "externalPort": {
+ "type": "number",
+ "nullable": true
+ }
+ },
+ "required": ["mariadbId", "externalPort"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mariadb.deploy": {
+ "post": {
+ "operationId": "mariadb-deploy",
+ "tags": ["mariadb"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "mariadbId": {
+ "type": "string"
+ }
+ },
+ "required": ["mariadbId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mariadb.changeStatus": {
+ "post": {
+ "operationId": "mariadb-changeStatus",
+ "tags": ["mariadb"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "mariadbId": {
+ "type": "string"
+ },
+ "applicationStatus": {
+ "type": "string",
+ "enum": ["idle", "running", "done", "error"]
+ }
+ },
+ "required": ["mariadbId", "applicationStatus"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mariadb.remove": {
+ "post": {
+ "operationId": "mariadb-remove",
+ "tags": ["mariadb"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "mariadbId": {
+ "type": "string"
+ }
+ },
+ "required": ["mariadbId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mariadb.saveEnvironment": {
+ "post": {
+ "operationId": "mariadb-saveEnvironment",
+ "tags": ["mariadb"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "mariadbId": {
+ "type": "string"
+ },
+ "env": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": ["mariadbId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mariadb.reload": {
+ "post": {
+ "operationId": "mariadb-reload",
+ "tags": ["mariadb"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "mariadbId": {
+ "type": "string"
+ },
+ "appName": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["mariadbId", "appName"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mariadb.update": {
+ "post": {
+ "operationId": "mariadb-update",
+ "tags": ["mariadb"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "mariadbId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "appName": {
+ "type": "string",
+ "minLength": 1
+ },
+ "description": {
+ "type": "string",
+ "nullable": true
+ },
+ "databaseName": {
+ "type": "string",
+ "minLength": 1
+ },
+ "databaseUser": {
+ "type": "string",
+ "minLength": 1
+ },
+ "databasePassword": {
+ "type": "string"
+ },
+ "databaseRootPassword": {
+ "type": "string"
+ },
+ "dockerImage": {
+ "type": "string",
+ "default": "mariadb:6"
+ },
+ "command": {
+ "type": "string",
+ "nullable": true
+ },
+ "env": {
+ "type": "string",
+ "nullable": true
+ },
+ "memoryReservation": {
+ "type": "number",
+ "nullable": true
+ },
+ "memoryLimit": {
+ "type": "number",
+ "nullable": true
+ },
+ "cpuReservation": {
+ "type": "number",
+ "nullable": true
+ },
+ "cpuLimit": {
+ "type": "number",
+ "nullable": true
+ },
+ "externalPort": {
+ "type": "number",
+ "nullable": true
+ },
+ "applicationStatus": {
+ "type": "string",
+ "enum": ["idle", "running", "done", "error"]
+ },
+ "createdAt": {
+ "type": "string"
+ },
+ "projectId": {
+ "type": "string"
+ }
+ },
+ "required": ["mariadbId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/compose.create": {
+ "post": {
+ "operationId": "compose-create",
+ "tags": ["compose"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "description": {
+ "type": "string",
+ "nullable": true
+ },
+ "projectId": {
+ "type": "string"
+ },
+ "composeType": {
+ "type": "string",
+ "enum": ["docker-compose", "stack"]
+ },
+ "appName": {
+ "type": "string"
+ },
+ "serverId": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": ["name", "projectId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/compose.one": {
+ "get": {
+ "operationId": "compose-one",
+ "tags": ["compose"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "composeId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/compose.update": {
+ "post": {
+ "operationId": "compose-update",
+ "tags": ["compose"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "composeId": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "appName": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string",
+ "nullable": true
+ },
+ "env": {
+ "type": "string",
+ "nullable": true
+ },
+ "composeFile": {
+ "type": "string"
+ },
+ "refreshToken": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceType": {
+ "type": "string",
+ "enum": ["git", "github", "gitlab", "bitbucket", "raw"]
+ },
+ "composeType": {
+ "type": "string",
+ "enum": ["docker-compose", "stack"]
+ },
+ "repository": {
+ "type": "string",
+ "nullable": true
+ },
+ "owner": {
+ "type": "string",
+ "nullable": true
+ },
+ "branch": {
+ "type": "string",
+ "nullable": true
+ },
+ "autoDeploy": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "gitlabProjectId": {
+ "type": "number",
+ "nullable": true
+ },
+ "gitlabRepository": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitlabOwner": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitlabBranch": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitlabPathNamespace": {
+ "type": "string",
+ "nullable": true
+ },
+ "bitbucketRepository": {
+ "type": "string",
+ "nullable": true
+ },
+ "bitbucketOwner": {
+ "type": "string",
+ "nullable": true
+ },
+ "bitbucketBranch": {
+ "type": "string",
+ "nullable": true
+ },
+ "customGitUrl": {
+ "type": "string",
+ "nullable": true
+ },
+ "customGitBranch": {
+ "type": "string",
+ "nullable": true
+ },
+ "customGitSSHKeyId": {
+ "type": "string",
+ "nullable": true
+ },
+ "command": {
+ "type": "string"
+ },
+ "composePath": {
+ "type": "string",
+ "minLength": 1
+ },
+ "suffix": {
+ "type": "string"
+ },
+ "randomize": {
+ "type": "boolean"
+ },
+ "composeStatus": {
+ "type": "string",
+ "enum": ["idle", "running", "done", "error"]
+ },
+ "projectId": {
+ "type": "string"
+ },
+ "createdAt": {
+ "type": "string"
+ },
+ "githubId": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitlabId": {
+ "type": "string",
+ "nullable": true
+ },
+ "bitbucketId": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": ["composeId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/compose.delete": {
+ "post": {
+ "operationId": "compose-delete",
+ "tags": ["compose"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "composeId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["composeId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/compose.cleanQueues": {
+ "post": {
+ "operationId": "compose-cleanQueues",
+ "tags": ["compose"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "composeId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["composeId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/compose.loadServices": {
+ "get": {
+ "operationId": "compose-loadServices",
+ "tags": ["compose"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "composeId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ {
+ "name": "type",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "not": {}
+ },
+ {
+ "type": "string",
+ "enum": ["fetch", "cache"]
+ }
+ ],
+ "default": "cache"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/compose.fetchSourceType": {
+ "post": {
+ "operationId": "compose-fetchSourceType",
+ "tags": ["compose"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "composeId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["composeId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/compose.randomizeCompose": {
+ "post": {
+ "operationId": "compose-randomizeCompose",
+ "tags": ["compose"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "composeId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "suffix": {
+ "type": "string"
+ }
+ },
+ "required": ["composeId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/compose.getConvertedCompose": {
+ "get": {
+ "operationId": "compose-getConvertedCompose",
+ "tags": ["compose"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "composeId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/compose.deploy": {
+ "post": {
+ "operationId": "compose-deploy",
+ "tags": ["compose"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "composeId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["composeId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/compose.redeploy": {
+ "post": {
+ "operationId": "compose-redeploy",
+ "tags": ["compose"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "composeId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["composeId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/compose.stop": {
+ "post": {
+ "operationId": "compose-stop",
+ "tags": ["compose"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "composeId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["composeId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/compose.getDefaultCommand": {
+ "get": {
+ "operationId": "compose-getDefaultCommand",
+ "tags": ["compose"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "composeId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/compose.refreshToken": {
+ "post": {
+ "operationId": "compose-refreshToken",
+ "tags": ["compose"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "composeId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["composeId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/compose.deployTemplate": {
+ "post": {
+ "operationId": "compose-deployTemplate",
+ "tags": ["compose"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "projectId": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "minLength": 1
+ },
+ "serverId": {
+ "type": "string"
+ }
+ },
+ "required": ["projectId", "id"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/compose.templates": {
+ "get": {
+ "operationId": "compose-templates",
+ "tags": ["compose"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/compose.getTags": {
+ "get": {
+ "operationId": "compose-getTags",
+ "tags": ["compose"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/user.all": {
+ "get": {
+ "operationId": "user-all",
+ "tags": ["user"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/user.byAuthId": {
+ "get": {
+ "operationId": "user-byAuthId",
+ "tags": ["user"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "authId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/user.byUserId": {
+ "get": {
+ "operationId": "user-byUserId",
+ "tags": ["user"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "userId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/domain.create": {
+ "post": {
+ "operationId": "domain-create",
+ "tags": ["domain"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "host": {
+ "type": "string",
+ "minLength": 1
+ },
+ "path": {
+ "type": "string",
+ "minLength": 1,
+ "nullable": true
+ },
+ "port": {
+ "type": "number",
+ "minimum": 1,
+ "maximum": 65535,
+ "nullable": true
+ },
+ "https": {
+ "type": "boolean"
+ },
+ "applicationId": {
+ "type": "string",
+ "nullable": true
+ },
+ "certificateType": {
+ "type": "string",
+ "enum": ["letsencrypt", "none"]
+ },
+ "composeId": {
+ "type": "string",
+ "nullable": true
+ },
+ "serviceName": {
+ "type": "string",
+ "nullable": true
+ },
+ "domainType": {
+ "type": "string",
+ "enum": ["compose", "application"],
+ "nullable": true
+ }
+ },
+ "required": ["host"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/domain.byApplicationId": {
+ "get": {
+ "operationId": "domain-byApplicationId",
+ "tags": ["domain"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "applicationId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/domain.byComposeId": {
+ "get": {
+ "operationId": "domain-byComposeId",
+ "tags": ["domain"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "composeId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/domain.generateDomain": {
+ "post": {
+ "operationId": "domain-generateDomain",
+ "tags": ["domain"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "appName": {
+ "type": "string"
+ },
+ "serverId": {
+ "type": "string"
+ }
+ },
+ "required": ["appName"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/domain.update": {
+ "post": {
+ "operationId": "domain-update",
+ "tags": ["domain"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "host": {
+ "type": "string",
+ "minLength": 1
+ },
+ "path": {
+ "type": "string",
+ "minLength": 1,
+ "nullable": true
+ },
+ "port": {
+ "type": "number",
+ "minimum": 1,
+ "maximum": 65535,
+ "nullable": true
+ },
+ "https": {
+ "type": "boolean"
+ },
+ "certificateType": {
+ "type": "string",
+ "enum": ["letsencrypt", "none"]
+ },
+ "serviceName": {
+ "type": "string",
+ "nullable": true
+ },
+ "domainType": {
+ "type": "string",
+ "enum": ["compose", "application"],
+ "nullable": true
+ },
+ "domainId": {
+ "type": "string"
+ }
+ },
+ "required": ["host", "domainId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/domain.one": {
+ "get": {
+ "operationId": "domain-one",
+ "tags": ["domain"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "domainId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/domain.delete": {
+ "post": {
+ "operationId": "domain-delete",
+ "tags": ["domain"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "domainId": {
+ "type": "string"
+ }
+ },
+ "required": ["domainId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/destination.create": {
+ "post": {
+ "operationId": "destination-create",
+ "tags": ["destination"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "accessKey": {
+ "type": "string"
+ },
+ "bucket": {
+ "type": "string"
+ },
+ "region": {
+ "type": "string"
+ },
+ "endpoint": {
+ "type": "string"
+ },
+ "secretAccessKey": {
+ "type": "string"
+ },
+ "serverId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "accessKey",
+ "bucket",
+ "region",
+ "endpoint",
+ "secretAccessKey"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/destination.testConnection": {
+ "post": {
+ "operationId": "destination-testConnection",
+ "tags": ["destination"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "accessKey": {
+ "type": "string"
+ },
+ "bucket": {
+ "type": "string"
+ },
+ "region": {
+ "type": "string"
+ },
+ "endpoint": {
+ "type": "string"
+ },
+ "secretAccessKey": {
+ "type": "string"
+ },
+ "serverId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "accessKey",
+ "bucket",
+ "region",
+ "endpoint",
+ "secretAccessKey"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/destination.one": {
+ "get": {
+ "operationId": "destination-one",
+ "tags": ["destination"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "destinationId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/destination.all": {
+ "get": {
+ "operationId": "destination-all",
+ "tags": ["destination"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/destination.remove": {
+ "post": {
+ "operationId": "destination-remove",
+ "tags": ["destination"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "destinationId": {
+ "type": "string"
+ }
+ },
+ "required": ["destinationId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/destination.update": {
+ "post": {
+ "operationId": "destination-update",
+ "tags": ["destination"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "accessKey": {
+ "type": "string"
+ },
+ "bucket": {
+ "type": "string"
+ },
+ "region": {
+ "type": "string"
+ },
+ "endpoint": {
+ "type": "string"
+ },
+ "secretAccessKey": {
+ "type": "string"
+ },
+ "destinationId": {
+ "type": "string"
+ },
+ "serverId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "accessKey",
+ "bucket",
+ "region",
+ "endpoint",
+ "secretAccessKey",
+ "destinationId"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/backup.create": {
+ "post": {
+ "operationId": "backup-create",
+ "tags": ["backup"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "schedule": {
+ "type": "string"
+ },
+ "enabled": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "prefix": {
+ "type": "string",
+ "minLength": 1
+ },
+ "destinationId": {
+ "type": "string"
+ },
+ "database": {
+ "type": "string",
+ "minLength": 1
+ },
+ "mariadbId": {
+ "type": "string",
+ "nullable": true
+ },
+ "mysqlId": {
+ "type": "string",
+ "nullable": true
+ },
+ "postgresId": {
+ "type": "string",
+ "nullable": true
+ },
+ "mongoId": {
+ "type": "string",
+ "nullable": true
+ },
+ "databaseType": {
+ "type": "string",
+ "enum": ["postgres", "mariadb", "mysql", "mongo"]
+ }
+ },
+ "required": [
+ "schedule",
+ "prefix",
+ "destinationId",
+ "database",
+ "databaseType"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/backup.one": {
+ "get": {
+ "operationId": "backup-one",
+ "tags": ["backup"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "backupId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/backup.update": {
+ "post": {
+ "operationId": "backup-update",
+ "tags": ["backup"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "schedule": {
+ "type": "string"
+ },
+ "enabled": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "prefix": {
+ "type": "string",
+ "minLength": 1
+ },
+ "backupId": {
+ "type": "string"
+ },
+ "destinationId": {
+ "type": "string"
+ },
+ "database": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": [
+ "schedule",
+ "prefix",
+ "backupId",
+ "destinationId",
+ "database"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/backup.remove": {
+ "post": {
+ "operationId": "backup-remove",
+ "tags": ["backup"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "backupId": {
+ "type": "string"
+ }
+ },
+ "required": ["backupId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/backup.manualBackupPostgres": {
+ "post": {
+ "operationId": "backup-manualBackupPostgres",
+ "tags": ["backup"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "backupId": {
+ "type": "string"
+ }
+ },
+ "required": ["backupId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/backup.manualBackupMySql": {
+ "post": {
+ "operationId": "backup-manualBackupMySql",
+ "tags": ["backup"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "backupId": {
+ "type": "string"
+ }
+ },
+ "required": ["backupId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/backup.manualBackupMariadb": {
+ "post": {
+ "operationId": "backup-manualBackupMariadb",
+ "tags": ["backup"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "backupId": {
+ "type": "string"
+ }
+ },
+ "required": ["backupId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/backup.manualBackupMongo": {
+ "post": {
+ "operationId": "backup-manualBackupMongo",
+ "tags": ["backup"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "backupId": {
+ "type": "string"
+ }
+ },
+ "required": ["backupId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/deployment.all": {
+ "get": {
+ "operationId": "deployment-all",
+ "tags": ["deployment"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "applicationId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/deployment.allByCompose": {
+ "get": {
+ "operationId": "deployment-allByCompose",
+ "tags": ["deployment"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "composeId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/deployment.allByServer": {
+ "get": {
+ "operationId": "deployment-allByServer",
+ "tags": ["deployment"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "serverId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mounts.create": {
+ "post": {
+ "operationId": "mounts-create",
+ "tags": ["mounts"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": ["bind", "volume", "file"]
+ },
+ "hostPath": {
+ "type": "string",
+ "nullable": true
+ },
+ "volumeName": {
+ "type": "string",
+ "nullable": true
+ },
+ "content": {
+ "type": "string",
+ "nullable": true
+ },
+ "mountPath": {
+ "type": "string",
+ "minLength": 1
+ },
+ "serviceType": {
+ "type": "string",
+ "enum": [
+ "application",
+ "postgres",
+ "mysql",
+ "mariadb",
+ "mongo",
+ "redis",
+ "compose"
+ ],
+ "default": "application"
+ },
+ "filePath": {
+ "type": "string",
+ "nullable": true
+ },
+ "serviceId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["type", "mountPath", "serviceId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mounts.remove": {
+ "post": {
+ "operationId": "mounts-remove",
+ "tags": ["mounts"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "mountId": {
+ "type": "string"
+ }
+ },
+ "required": ["mountId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mounts.one": {
+ "get": {
+ "operationId": "mounts-one",
+ "tags": ["mounts"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "mountId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/mounts.update": {
+ "post": {
+ "operationId": "mounts-update",
+ "tags": ["mounts"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "mountId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "type": {
+ "type": "string",
+ "enum": ["bind", "volume", "file"]
+ },
+ "hostPath": {
+ "type": "string",
+ "nullable": true
+ },
+ "volumeName": {
+ "type": "string",
+ "nullable": true
+ },
+ "filePath": {
+ "type": "string",
+ "nullable": true
+ },
+ "content": {
+ "type": "string",
+ "nullable": true
+ },
+ "serviceType": {
+ "type": "string",
+ "enum": [
+ "application",
+ "postgres",
+ "mysql",
+ "mariadb",
+ "mongo",
+ "redis",
+ "compose"
+ ],
+ "default": "application"
+ },
+ "mountPath": {
+ "type": "string",
+ "minLength": 1
+ },
+ "applicationId": {
+ "type": "string",
+ "nullable": true
+ },
+ "postgresId": {
+ "type": "string",
+ "nullable": true
+ },
+ "mariadbId": {
+ "type": "string",
+ "nullable": true
+ },
+ "mongoId": {
+ "type": "string",
+ "nullable": true
+ },
+ "mysqlId": {
+ "type": "string",
+ "nullable": true
+ },
+ "redisId": {
+ "type": "string",
+ "nullable": true
+ },
+ "composeId": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": ["mountId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/certificates.create": {
+ "post": {
+ "operationId": "certificates-create",
+ "tags": ["certificates"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "certificateId": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "certificateData": {
+ "type": "string",
+ "minLength": 1
+ },
+ "privateKey": {
+ "type": "string",
+ "minLength": 1
+ },
+ "certificatePath": {
+ "type": "string"
+ },
+ "autoRenew": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "adminId": {
+ "type": "string",
+ "nullable": true
+ },
+ "serverId": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": ["name", "certificateData", "privateKey"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/certificates.one": {
+ "get": {
+ "operationId": "certificates-one",
+ "tags": ["certificates"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "certificateId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/certificates.remove": {
+ "post": {
+ "operationId": "certificates-remove",
+ "tags": ["certificates"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "certificateId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["certificateId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/certificates.all": {
+ "get": {
+ "operationId": "certificates-all",
+ "tags": ["certificates"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.reloadServer": {
+ "post": {
+ "operationId": "settings-reloadServer",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.reloadTraefik": {
+ "post": {
+ "operationId": "settings-reloadTraefik",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": false,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "serverId": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.toggleDashboard": {
+ "post": {
+ "operationId": "settings-toggleDashboard",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "enableDashboard": {
+ "type": "boolean"
+ },
+ "serverId": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.cleanUnusedImages": {
+ "post": {
+ "operationId": "settings-cleanUnusedImages",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": false,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "serverId": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.cleanUnusedVolumes": {
+ "post": {
+ "operationId": "settings-cleanUnusedVolumes",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": false,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "serverId": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.cleanStoppedContainers": {
+ "post": {
+ "operationId": "settings-cleanStoppedContainers",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": false,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "serverId": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.cleanDockerBuilder": {
+ "post": {
+ "operationId": "settings-cleanDockerBuilder",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": false,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "serverId": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.cleanDockerPrune": {
+ "post": {
+ "operationId": "settings-cleanDockerPrune",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": false,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "serverId": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.cleanAll": {
+ "post": {
+ "operationId": "settings-cleanAll",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": false,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "serverId": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.cleanMonitoring": {
+ "post": {
+ "operationId": "settings-cleanMonitoring",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.saveSSHPrivateKey": {
+ "post": {
+ "operationId": "settings-saveSSHPrivateKey",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "sshPrivateKey": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.assignDomainServer": {
+ "post": {
+ "operationId": "settings-assignDomainServer",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "host": {
+ "type": "string",
+ "nullable": true
+ },
+ "certificateType": {
+ "type": "string",
+ "enum": ["letsencrypt", "none"],
+ "default": "none"
+ },
+ "letsEncryptEmail": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": ["host"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.cleanSSHPrivateKey": {
+ "post": {
+ "operationId": "settings-cleanSSHPrivateKey",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.updateDockerCleanup": {
+ "post": {
+ "operationId": "settings-updateDockerCleanup",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "enableDockerCleanup": {
+ "type": "boolean"
+ },
+ "serverId": {
+ "type": "string"
+ }
+ },
+ "required": ["enableDockerCleanup"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.readTraefikConfig": {
+ "get": {
+ "operationId": "settings-readTraefikConfig",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.updateTraefikConfig": {
+ "post": {
+ "operationId": "settings-updateTraefikConfig",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "traefikConfig": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["traefikConfig"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.readWebServerTraefikConfig": {
+ "get": {
+ "operationId": "settings-readWebServerTraefikConfig",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.updateWebServerTraefikConfig": {
+ "post": {
+ "operationId": "settings-updateWebServerTraefikConfig",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "traefikConfig": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["traefikConfig"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.readMiddlewareTraefikConfig": {
+ "get": {
+ "operationId": "settings-readMiddlewareTraefikConfig",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.updateMiddlewareTraefikConfig": {
+ "post": {
+ "operationId": "settings-updateMiddlewareTraefikConfig",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "traefikConfig": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["traefikConfig"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.checkAndUpdateImage": {
+ "post": {
+ "operationId": "settings-checkAndUpdateImage",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.updateServer": {
+ "post": {
+ "operationId": "settings-updateServer",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.getDokployVersion": {
+ "get": {
+ "operationId": "settings-getDokployVersion",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.readDirectories": {
+ "get": {
+ "operationId": "settings-readDirectories",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "serverId",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.updateTraefikFile": {
+ "post": {
+ "operationId": "settings-updateTraefikFile",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "minLength": 1
+ },
+ "traefikConfig": {
+ "type": "string",
+ "minLength": 1
+ },
+ "serverId": {
+ "type": "string"
+ }
+ },
+ "required": ["path", "traefikConfig"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.readTraefikFile": {
+ "get": {
+ "operationId": "settings-readTraefikFile",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "path",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ {
+ "name": "serverId",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.getIp": {
+ "get": {
+ "operationId": "settings-getIp",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.getOpenApiDocument": {
+ "get": {
+ "operationId": "settings-getOpenApiDocument",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.readTraefikEnv": {
+ "get": {
+ "operationId": "settings-readTraefikEnv",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "serverId",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.writeTraefikEnv": {
+ "post": {
+ "operationId": "settings-writeTraefikEnv",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "env": {
+ "type": "string"
+ },
+ "serverId": {
+ "type": "string"
+ }
+ },
+ "required": ["env"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.haveTraefikDashboardPortEnabled": {
+ "get": {
+ "operationId": "settings-haveTraefikDashboardPortEnabled",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "serverId",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.readStats": {
+ "get": {
+ "operationId": "settings-readStats",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.getLogRotateStatus": {
+ "get": {
+ "operationId": "settings-getLogRotateStatus",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.toggleLogRotate": {
+ "post": {
+ "operationId": "settings-toggleLogRotate",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "enable": {
+ "type": "boolean"
+ }
+ },
+ "required": ["enable"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.haveActivateRequests": {
+ "get": {
+ "operationId": "settings-haveActivateRequests",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.toggleRequests": {
+ "post": {
+ "operationId": "settings-toggleRequests",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "enable": {
+ "type": "boolean"
+ }
+ },
+ "required": ["enable"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.isCloud": {
+ "get": {
+ "operationId": "settings-isCloud",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.health": {
+ "get": {
+ "operationId": "settings-health",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/security.create": {
+ "post": {
+ "operationId": "security-create",
+ "tags": ["security"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "applicationId": {
+ "type": "string"
+ },
+ "username": {
+ "type": "string",
+ "minLength": 1
+ },
+ "password": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["applicationId", "username", "password"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/security.one": {
+ "get": {
+ "operationId": "security-one",
+ "tags": ["security"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "securityId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/security.delete": {
+ "post": {
+ "operationId": "security-delete",
+ "tags": ["security"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "securityId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["securityId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/security.update": {
+ "post": {
+ "operationId": "security-update",
+ "tags": ["security"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "securityId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "username": {
+ "type": "string",
+ "minLength": 1
+ },
+ "password": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["securityId", "username", "password"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/redirects.create": {
+ "post": {
+ "operationId": "redirects-create",
+ "tags": ["redirects"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "regex": {
+ "type": "string",
+ "minLength": 1
+ },
+ "replacement": {
+ "type": "string",
+ "minLength": 1
+ },
+ "permanent": {
+ "type": "boolean"
+ },
+ "applicationId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "regex",
+ "replacement",
+ "permanent",
+ "applicationId"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/redirects.one": {
+ "get": {
+ "operationId": "redirects-one",
+ "tags": ["redirects"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "redirectId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/redirects.delete": {
+ "post": {
+ "operationId": "redirects-delete",
+ "tags": ["redirects"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "redirectId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["redirectId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/redirects.update": {
+ "post": {
+ "operationId": "redirects-update",
+ "tags": ["redirects"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "redirectId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "regex": {
+ "type": "string",
+ "minLength": 1
+ },
+ "replacement": {
+ "type": "string",
+ "minLength": 1
+ },
+ "permanent": {
+ "type": "boolean"
+ }
+ },
+ "required": ["redirectId", "regex", "replacement", "permanent"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/port.create": {
+ "post": {
+ "operationId": "port-create",
+ "tags": ["port"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "publishedPort": {
+ "type": "number"
+ },
+ "targetPort": {
+ "type": "number"
+ },
+ "protocol": {
+ "type": "string",
+ "enum": ["tcp", "udp"],
+ "default": "tcp"
+ },
+ "applicationId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["publishedPort", "targetPort", "applicationId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/port.one": {
+ "get": {
+ "operationId": "port-one",
+ "tags": ["port"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "portId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/port.delete": {
+ "post": {
+ "operationId": "port-delete",
+ "tags": ["port"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "portId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["portId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/port.update": {
+ "post": {
+ "operationId": "port-update",
+ "tags": ["port"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "portId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "publishedPort": {
+ "type": "number"
+ },
+ "targetPort": {
+ "type": "number"
+ },
+ "protocol": {
+ "type": "string",
+ "enum": ["tcp", "udp"],
+ "default": "tcp"
+ }
+ },
+ "required": ["portId", "publishedPort", "targetPort"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/registry.create": {
+ "post": {
+ "operationId": "registry-create",
+ "tags": ["registry"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "registryName": {
+ "type": "string",
+ "minLength": 1
+ },
+ "username": {
+ "type": "string",
+ "minLength": 1
+ },
+ "password": {
+ "type": "string",
+ "minLength": 1
+ },
+ "registryUrl": {
+ "type": "string"
+ },
+ "registryType": {
+ "type": "string",
+ "enum": ["cloud"]
+ },
+ "imagePrefix": {
+ "type": "string",
+ "nullable": true
+ },
+ "serverId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "registryName",
+ "username",
+ "password",
+ "registryUrl",
+ "registryType",
+ "imagePrefix"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/registry.remove": {
+ "post": {
+ "operationId": "registry-remove",
+ "tags": ["registry"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "registryId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["registryId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/registry.update": {
+ "post": {
+ "operationId": "registry-update",
+ "tags": ["registry"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "registryId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "registryName": {
+ "type": "string",
+ "minLength": 1
+ },
+ "imagePrefix": {
+ "type": "string",
+ "nullable": true
+ },
+ "username": {
+ "type": "string",
+ "minLength": 1
+ },
+ "password": {
+ "type": "string",
+ "minLength": 1
+ },
+ "registryUrl": {
+ "type": "string"
+ },
+ "createdAt": {
+ "type": "string"
+ },
+ "registryType": {
+ "type": "string",
+ "enum": ["cloud"]
+ },
+ "adminId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "serverId": {
+ "type": "string"
+ }
+ },
+ "required": ["registryId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/registry.all": {
+ "get": {
+ "operationId": "registry-all",
+ "tags": ["registry"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/registry.one": {
+ "get": {
+ "operationId": "registry-one",
+ "tags": ["registry"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "registryId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/registry.testRegistry": {
+ "post": {
+ "operationId": "registry-testRegistry",
+ "tags": ["registry"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "registryName": {
+ "type": "string",
+ "minLength": 1
+ },
+ "username": {
+ "type": "string",
+ "minLength": 1
+ },
+ "password": {
+ "type": "string",
+ "minLength": 1
+ },
+ "registryUrl": {
+ "type": "string"
+ },
+ "registryType": {
+ "type": "string",
+ "enum": ["cloud"]
+ },
+ "imagePrefix": {
+ "type": "string",
+ "nullable": true
+ },
+ "serverId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "registryName",
+ "username",
+ "password",
+ "registryUrl",
+ "registryType"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/cluster.getNodes": {
+ "get": {
+ "operationId": "cluster-getNodes",
+ "tags": ["cluster"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/cluster.removeWorker": {
+ "post": {
+ "operationId": "cluster-removeWorker",
+ "tags": ["cluster"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "nodeId": {
+ "type": "string"
+ }
+ },
+ "required": ["nodeId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/cluster.addWorker": {
+ "get": {
+ "operationId": "cluster-addWorker",
+ "tags": ["cluster"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/cluster.addManager": {
+ "get": {
+ "operationId": "cluster-addManager",
+ "tags": ["cluster"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/notification.createSlack": {
+ "post": {
+ "operationId": "notification-createSlack",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "appBuildError": {
+ "type": "boolean"
+ },
+ "databaseBackup": {
+ "type": "boolean"
+ },
+ "dokployRestart": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "appDeploy": {
+ "type": "boolean"
+ },
+ "dockerCleanup": {
+ "type": "boolean"
+ },
+ "webhookUrl": {
+ "type": "string",
+ "minLength": 1
+ },
+ "channel": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "appBuildError",
+ "databaseBackup",
+ "dokployRestart",
+ "name",
+ "appDeploy",
+ "dockerCleanup",
+ "webhookUrl",
+ "channel"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/notification.updateSlack": {
+ "post": {
+ "operationId": "notification-updateSlack",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "appBuildError": {
+ "type": "boolean"
+ },
+ "databaseBackup": {
+ "type": "boolean"
+ },
+ "dokployRestart": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "appDeploy": {
+ "type": "boolean"
+ },
+ "dockerCleanup": {
+ "type": "boolean"
+ },
+ "webhookUrl": {
+ "type": "string",
+ "minLength": 1
+ },
+ "channel": {
+ "type": "string"
+ },
+ "notificationId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "slackId": {
+ "type": "string"
+ },
+ "adminId": {
+ "type": "string"
+ }
+ },
+ "required": ["notificationId", "slackId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/notification.testSlackConnection": {
+ "post": {
+ "operationId": "notification-testSlackConnection",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "webhookUrl": {
+ "type": "string",
+ "minLength": 1
+ },
+ "channel": {
+ "type": "string"
+ }
+ },
+ "required": ["webhookUrl", "channel"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/notification.createTelegram": {
+ "post": {
+ "operationId": "notification-createTelegram",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "appBuildError": {
+ "type": "boolean"
+ },
+ "databaseBackup": {
+ "type": "boolean"
+ },
+ "dokployRestart": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "appDeploy": {
+ "type": "boolean"
+ },
+ "dockerCleanup": {
+ "type": "boolean"
+ },
+ "botToken": {
+ "type": "string",
+ "minLength": 1
+ },
+ "chatId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": [
+ "appBuildError",
+ "databaseBackup",
+ "dokployRestart",
+ "name",
+ "appDeploy",
+ "dockerCleanup",
+ "botToken",
+ "chatId"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/notification.updateTelegram": {
+ "post": {
+ "operationId": "notification-updateTelegram",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "appBuildError": {
+ "type": "boolean"
+ },
+ "databaseBackup": {
+ "type": "boolean"
+ },
+ "dokployRestart": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "appDeploy": {
+ "type": "boolean"
+ },
+ "dockerCleanup": {
+ "type": "boolean"
+ },
+ "botToken": {
+ "type": "string",
+ "minLength": 1
+ },
+ "chatId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "notificationId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "telegramId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "adminId": {
+ "type": "string"
+ }
+ },
+ "required": ["notificationId", "telegramId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/notification.testTelegramConnection": {
+ "post": {
+ "operationId": "notification-testTelegramConnection",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "botToken": {
+ "type": "string",
+ "minLength": 1
+ },
+ "chatId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["botToken", "chatId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/notification.createDiscord": {
+ "post": {
+ "operationId": "notification-createDiscord",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "appBuildError": {
+ "type": "boolean"
+ },
+ "databaseBackup": {
+ "type": "boolean"
+ },
+ "dokployRestart": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "appDeploy": {
+ "type": "boolean"
+ },
+ "dockerCleanup": {
+ "type": "boolean"
+ },
+ "webhookUrl": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": [
+ "appBuildError",
+ "databaseBackup",
+ "dokployRestart",
+ "name",
+ "appDeploy",
+ "dockerCleanup",
+ "webhookUrl"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/notification.updateDiscord": {
+ "post": {
+ "operationId": "notification-updateDiscord",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "appBuildError": {
+ "type": "boolean"
+ },
+ "databaseBackup": {
+ "type": "boolean"
+ },
+ "dokployRestart": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "appDeploy": {
+ "type": "boolean"
+ },
+ "dockerCleanup": {
+ "type": "boolean"
+ },
+ "webhookUrl": {
+ "type": "string",
+ "minLength": 1
+ },
+ "notificationId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "discordId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "adminId": {
+ "type": "string"
+ }
+ },
+ "required": ["notificationId", "discordId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/notification.testDiscordConnection": {
+ "post": {
+ "operationId": "notification-testDiscordConnection",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "webhookUrl": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["webhookUrl"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/notification.createEmail": {
+ "post": {
+ "operationId": "notification-createEmail",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "appBuildError": {
+ "type": "boolean"
+ },
+ "databaseBackup": {
+ "type": "boolean"
+ },
+ "dokployRestart": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "appDeploy": {
+ "type": "boolean"
+ },
+ "dockerCleanup": {
+ "type": "boolean"
+ },
+ "smtpServer": {
+ "type": "string",
+ "minLength": 1
+ },
+ "smtpPort": {
+ "type": "number",
+ "minimum": 1
+ },
+ "username": {
+ "type": "string",
+ "minLength": 1
+ },
+ "password": {
+ "type": "string",
+ "minLength": 1
+ },
+ "fromAddress": {
+ "type": "string",
+ "minLength": 1
+ },
+ "toAddresses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 1
+ }
+ },
+ "required": [
+ "appBuildError",
+ "databaseBackup",
+ "dokployRestart",
+ "name",
+ "appDeploy",
+ "dockerCleanup",
+ "smtpServer",
+ "smtpPort",
+ "username",
+ "password",
+ "fromAddress",
+ "toAddresses"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/notification.updateEmail": {
+ "post": {
+ "operationId": "notification-updateEmail",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "appBuildError": {
+ "type": "boolean"
+ },
+ "databaseBackup": {
+ "type": "boolean"
+ },
+ "dokployRestart": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "appDeploy": {
+ "type": "boolean"
+ },
+ "dockerCleanup": {
+ "type": "boolean"
+ },
+ "smtpServer": {
+ "type": "string",
+ "minLength": 1
+ },
+ "smtpPort": {
+ "type": "number",
+ "minimum": 1
+ },
+ "username": {
+ "type": "string",
+ "minLength": 1
+ },
+ "password": {
+ "type": "string",
+ "minLength": 1
+ },
+ "fromAddress": {
+ "type": "string",
+ "minLength": 1
+ },
+ "toAddresses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 1
+ },
+ "notificationId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "emailId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "adminId": {
+ "type": "string"
+ }
+ },
+ "required": ["notificationId", "emailId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/notification.testEmailConnection": {
+ "post": {
+ "operationId": "notification-testEmailConnection",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "smtpServer": {
+ "type": "string",
+ "minLength": 1
+ },
+ "smtpPort": {
+ "type": "number",
+ "minimum": 1
+ },
+ "username": {
+ "type": "string",
+ "minLength": 1
+ },
+ "password": {
+ "type": "string",
+ "minLength": 1
+ },
+ "toAddresses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 1
+ },
+ "fromAddress": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": [
+ "smtpServer",
+ "smtpPort",
+ "username",
+ "password",
+ "toAddresses",
+ "fromAddress"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/notification.remove": {
+ "post": {
+ "operationId": "notification-remove",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "notificationId": {
+ "type": "string"
+ }
+ },
+ "required": ["notificationId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/notification.one": {
+ "get": {
+ "operationId": "notification-one",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "notificationId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/notification.all": {
+ "get": {
+ "operationId": "notification-all",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/sshKey.create": {
+ "post": {
+ "operationId": "sshKey-create",
+ "tags": ["sshKey"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "description": {
+ "type": "string",
+ "nullable": true
+ },
+ "privateKey": {
+ "type": "string"
+ },
+ "publicKey": {
+ "type": "string"
+ },
+ "adminId": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": ["name", "privateKey", "publicKey"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/sshKey.remove": {
+ "post": {
+ "operationId": "sshKey-remove",
+ "tags": ["sshKey"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "sshKeyId": {
+ "type": "string"
+ }
+ },
+ "required": ["sshKeyId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/sshKey.one": {
+ "get": {
+ "operationId": "sshKey-one",
+ "tags": ["sshKey"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "sshKeyId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/sshKey.all": {
+ "get": {
+ "operationId": "sshKey-all",
+ "tags": ["sshKey"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/sshKey.generate": {
+ "post": {
+ "operationId": "sshKey-generate",
+ "tags": ["sshKey"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": ["rsa", "ed25519"]
+ }
+ },
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/sshKey.update": {
+ "post": {
+ "operationId": "sshKey-update",
+ "tags": ["sshKey"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "description": {
+ "type": "string",
+ "nullable": true
+ },
+ "lastUsedAt": {
+ "type": "string",
+ "nullable": true
+ },
+ "sshKeyId": {
+ "type": "string"
+ }
+ },
+ "required": ["sshKeyId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/gitProvider.getAll": {
+ "get": {
+ "operationId": "gitProvider-getAll",
+ "tags": ["gitProvider"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/gitProvider.remove": {
+ "post": {
+ "operationId": "gitProvider-remove",
+ "tags": ["gitProvider"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "gitProviderId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["gitProviderId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/bitbucket.create": {
+ "post": {
+ "operationId": "bitbucket-create",
+ "tags": ["bitbucket"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "bitbucketId": {
+ "type": "string"
+ },
+ "bitbucketUsername": {
+ "type": "string"
+ },
+ "appPassword": {
+ "type": "string"
+ },
+ "bitbucketWorkspaceName": {
+ "type": "string"
+ },
+ "gitProviderId": {
+ "type": "string"
+ },
+ "authId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["authId", "name"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/bitbucket.one": {
+ "get": {
+ "operationId": "bitbucket-one",
+ "tags": ["bitbucket"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "bitbucketId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/bitbucket.bitbucketProviders": {
+ "get": {
+ "operationId": "bitbucket-bitbucketProviders",
+ "tags": ["bitbucket"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/bitbucket.getBitbucketRepositories": {
+ "get": {
+ "operationId": "bitbucket-getBitbucketRepositories",
+ "tags": ["bitbucket"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "bitbucketId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/bitbucket.getBitbucketBranches": {
+ "get": {
+ "operationId": "bitbucket-getBitbucketBranches",
+ "tags": ["bitbucket"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "owner",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "repo",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "bitbucketId",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/bitbucket.testConnection": {
+ "post": {
+ "operationId": "bitbucket-testConnection",
+ "tags": ["bitbucket"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "bitbucketId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "bitbucketUsername": {
+ "type": "string"
+ },
+ "workspaceName": {
+ "type": "string"
+ }
+ },
+ "required": ["bitbucketId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/bitbucket.update": {
+ "post": {
+ "operationId": "bitbucket-update",
+ "tags": ["bitbucket"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "bitbucketId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "bitbucketUsername": {
+ "type": "string"
+ },
+ "appPassword": {
+ "type": "string",
+ "nullable": true
+ },
+ "bitbucketWorkspaceName": {
+ "type": "string"
+ },
+ "gitProviderId": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "adminId": {
+ "type": "string"
+ }
+ },
+ "required": ["bitbucketId", "gitProviderId", "name"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/gitlab.create": {
+ "post": {
+ "operationId": "gitlab-create",
+ "tags": ["gitlab"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "gitlabId": {
+ "type": "string"
+ },
+ "applicationId": {
+ "type": "string"
+ },
+ "redirectUri": {
+ "type": "string"
+ },
+ "secret": {
+ "type": "string"
+ },
+ "accessToken": {
+ "type": "string",
+ "nullable": true
+ },
+ "refreshToken": {
+ "type": "string",
+ "nullable": true
+ },
+ "groupName": {
+ "type": "string"
+ },
+ "expiresAt": {
+ "type": "number",
+ "nullable": true
+ },
+ "gitProviderId": {
+ "type": "string"
+ },
+ "authId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["authId", "name"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/gitlab.one": {
+ "get": {
+ "operationId": "gitlab-one",
+ "tags": ["gitlab"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "gitlabId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/gitlab.gitlabProviders": {
+ "get": {
+ "operationId": "gitlab-gitlabProviders",
+ "tags": ["gitlab"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/gitlab.getGitlabRepositories": {
+ "get": {
+ "operationId": "gitlab-getGitlabRepositories",
+ "tags": ["gitlab"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "gitlabId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/gitlab.getGitlabBranches": {
+ "get": {
+ "operationId": "gitlab-getGitlabBranches",
+ "tags": ["gitlab"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "id",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "number"
+ }
+ },
+ {
+ "name": "owner",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "repo",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "gitlabId",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/gitlab.testConnection": {
+ "post": {
+ "operationId": "gitlab-testConnection",
+ "tags": ["gitlab"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "gitlabId": {
+ "type": "string"
+ },
+ "groupName": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/gitlab.update": {
+ "post": {
+ "operationId": "gitlab-update",
+ "tags": ["gitlab"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "gitlabId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "applicationId": {
+ "type": "string"
+ },
+ "redirectUri": {
+ "type": "string"
+ },
+ "secret": {
+ "type": "string"
+ },
+ "accessToken": {
+ "type": "string",
+ "nullable": true
+ },
+ "refreshToken": {
+ "type": "string",
+ "nullable": true
+ },
+ "groupName": {
+ "type": "string"
+ },
+ "expiresAt": {
+ "type": "number",
+ "nullable": true
+ },
+ "gitProviderId": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["gitlabId", "gitProviderId", "name"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/github.one": {
+ "get": {
+ "operationId": "github-one",
+ "tags": ["github"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "githubId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/github.getGithubRepositories": {
+ "get": {
+ "operationId": "github-getGithubRepositories",
+ "tags": ["github"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "githubId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/github.getGithubBranches": {
+ "get": {
+ "operationId": "github-getGithubBranches",
+ "tags": ["github"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "repo",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ {
+ "name": "owner",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ {
+ "name": "githubId",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/github.githubProviders": {
+ "get": {
+ "operationId": "github-githubProviders",
+ "tags": ["github"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/github.testConnection": {
+ "post": {
+ "operationId": "github-testConnection",
+ "tags": ["github"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "githubId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["githubId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/github.update": {
+ "post": {
+ "operationId": "github-update",
+ "tags": ["github"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "githubId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "githubAppName": {
+ "type": "string",
+ "nullable": true
+ },
+ "githubAppId": {
+ "type": "number",
+ "nullable": true
+ },
+ "githubClientId": {
+ "type": "string",
+ "nullable": true
+ },
+ "githubClientSecret": {
+ "type": "string",
+ "nullable": true
+ },
+ "githubInstallationId": {
+ "type": "string",
+ "nullable": true
+ },
+ "githubPrivateKey": {
+ "type": "string",
+ "nullable": true
+ },
+ "githubWebhookSecret": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitProviderId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["githubId", "gitProviderId", "name"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/server.create": {
+ "post": {
+ "operationId": "server-create",
+ "tags": ["server"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "description": {
+ "type": "string",
+ "nullable": true
+ },
+ "ipAddress": {
+ "type": "string"
+ },
+ "port": {
+ "type": "number"
+ },
+ "username": {
+ "type": "string"
+ },
+ "sshKeyId": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": [
+ "name",
+ "ipAddress",
+ "port",
+ "username",
+ "sshKeyId"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/server.one": {
+ "get": {
+ "operationId": "server-one",
+ "tags": ["server"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "serverId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/server.all": {
+ "get": {
+ "operationId": "server-all",
+ "tags": ["server"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/server.withSSHKey": {
+ "get": {
+ "operationId": "server-withSSHKey",
+ "tags": ["server"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/server.setup": {
+ "post": {
+ "operationId": "server-setup",
+ "tags": ["server"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "serverId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["serverId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/server.remove": {
+ "post": {
+ "operationId": "server-remove",
+ "tags": ["server"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "serverId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["serverId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/server.update": {
+ "post": {
+ "operationId": "server-update",
+ "tags": ["server"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "description": {
+ "type": "string",
+ "nullable": true
+ },
+ "serverId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "ipAddress": {
+ "type": "string"
+ },
+ "port": {
+ "type": "number"
+ },
+ "username": {
+ "type": "string"
+ },
+ "sshKeyId": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": [
+ "name",
+ "serverId",
+ "ipAddress",
+ "port",
+ "username",
+ "sshKeyId"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/stripe.getProducts": {
+ "get": {
+ "operationId": "stripe-getProducts",
+ "tags": ["stripe"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/stripe.createCheckoutSession": {
+ "post": {
+ "operationId": "stripe-createCheckoutSession",
+ "tags": ["stripe"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "productId": {
+ "type": "string"
+ },
+ "serverQuantity": {
+ "type": "number",
+ "minimum": 1
+ },
+ "isAnnual": {
+ "type": "boolean"
+ }
+ },
+ "required": ["productId", "serverQuantity", "isAnnual"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/stripe.createCustomerPortalSession": {
+ "post": {
+ "operationId": "stripe-createCustomerPortalSession",
+ "tags": ["stripe"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/stripe.canCreateMoreServers": {
+ "get": {
+ "operationId": "stripe-canCreateMoreServers",
+ "tags": ["stripe"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "securitySchemes": {
+ "Authorization": {
+ "type": "http",
+ "scheme": "bearer"
+ }
+ },
+ "responses": {
+ "error": {
+ "description": "Error response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "message": {
+ "type": "string"
+ },
+ "code": {
+ "type": "string"
+ },
+ "issues": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "message": {
+ "type": "string"
+ }
+ },
+ "required": ["message"],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": ["message", "code"],
+ "additionalProperties": false
+ }
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ {
+ "name": "admin"
+ },
+ {
+ "name": "docker"
+ },
+ {
+ "name": "compose"
+ },
+ {
+ "name": "registry"
+ },
+ {
+ "name": "cluster"
+ },
+ {
+ "name": "user"
+ },
+ {
+ "name": "domain"
+ },
+ {
+ "name": "destination"
+ },
+ {
+ "name": "backup"
+ },
+ {
+ "name": "deployment"
+ },
+ {
+ "name": "mounts"
+ },
+ {
+ "name": "certificates"
+ },
+ {
+ "name": "settings"
+ },
+ {
+ "name": "security"
+ },
+ {
+ "name": "redirects"
+ },
+ {
+ "name": "port"
+ },
+ {
+ "name": "project"
+ },
+ {
+ "name": "application"
+ },
+ {
+ "name": "mysql"
+ },
+ {
+ "name": "postgres"
+ },
+ {
+ "name": "redis"
+ },
+ {
+ "name": "mongo"
+ },
+ {
+ "name": "mariadb"
+ },
+ {
+ "name": "sshRouter"
+ },
+ {
+ "name": "gitProvider"
+ },
+ {
+ "name": "bitbucket"
+ },
+ {
+ "name": "github"
+ },
+ {
+ "name": "gitlab"
+ }
+ ],
+ "externalDocs": {
+ "url": "http://app.dokploy.com/api/settings.getOpenApiDocument"
+ }
+}
diff --git a/apps/docs-v2/app/(home)/layout.tsx b/apps/docs-v2/app/(home)/layout.tsx
new file mode 100644
index 0000000..bb730ef
--- /dev/null
+++ b/apps/docs-v2/app/(home)/layout.tsx
@@ -0,0 +1,11 @@
+import { baseOptions } from "@/app/layout.config";
+import { HomeLayout } from "fumadocs-ui/layouts/home";
+import type { ReactNode } from "react";
+
+export default function Layout({
+ children,
+}: {
+ children: ReactNode;
+}): React.ReactElement {
+ return
+ You can open{" "}
+
+ /docs
+ {" "}
+ and see the documentation.
+
+ {children}
+ Hello World
+
}s&=MwKkNV0`6>j|+@Fb}55iOK
zML|N8sJESap8hc?UcWz` -*=e}r}g_E@qI?Gr=
z mE=_&Q`gI9v?fo@d7Nh)ZBAufon
z*01|h$yE3kH17u)yEFc(2Nn%V&IBSyvQod=*QaWDR)NBhMiH7sj<{
zBD!pCZ&}7c#aVv=*I@3mc7&V@OuPixWB?`YrHE#UQVHUW;SEBc?$QROYIo?E^?uy-
rQ{??U$FC{
g1-90jzSQLz7`>7>Rv3s%}L|S!3kQ%P=E8{-%55uFa
z%GUreH&NID-QU4`7za7I_`*g41MY;%fRiProXI+ZyzSf&oqd&%1Doo8BMFbiow~aD
zOB@o7*L&Mr@^}3Q$VEFG!BKlqkbU%_(h~l{^8LTa(-;0=qabDfDOjMmF9ijrjwK@q
z(Al-K!-)ccub)Shp-u)^$nnb2^aDz`2~+b9{ht897vn(^xevT+D