mirror of
https://github.com/LukeHagar/dokploy.git
synced 2025-12-10 04:19:48 +00:00
Feat/monorepo (#292)
* feat(create-turbo): apply official-starter transform * refactor: move folder * wip: monorepo * feat: add builf * refactor: add pr * update * add .env * refactor: update build * refactor: update build docker * refactor: add progress plain * refactor: remove node pty * refactor: remove * remove * refactor: update * refacotr: uopdate * refactor: add remix app * add env * refactor: add pnpm start * refactor: remove * refactor: remove folders * refactor: remove .dockerfile * chore: update biome * test * choe: add husky * remove .docker folder * feat: add docs website * refactor: add husky * chore(version): bump version * refactor: add new changes * refactor: update circle path * refactor: update * refactor: update * refactor: update dockerfile * refactor: update dockerfile * refactor: update command * refactor: update * refactor: update dockerfile * refactor: add tsx * refactor: update dockerfile * refactor: add deps * refactor: up[date * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: yuodate * refactor: remove * refactor: uncomment * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: updare * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: imprt * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: remove * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: change path * refactor: update * refactor: update * refactor: upoadte * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: add * refactor: update * refactor: update * refactor: add * refactor: update * refactor: remove * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: removed * refactor: update * refactor: update * refactor: update * refactor: add config * refactor: update * refactor: add * refactor: update * refactor: update * refactor: remove * refactor: update * refactor: remove * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: add docs * refactor: update * refactor: add website * refactor: update * refactor: update * refactor: update * refactor: update * refactor: add ignore builds * refactor: update * refactor: update * refactor: add * refactor: update * refactor: update * refactor: remove needs * refactor: update * refactor: update * refactor: add config * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: remove * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: add * refactor: update * refactor: update * refactor: update * refactor: update * refactor: upodate * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update package json * refactor: add biome * refactor: add sponsors * refactor: update * refactor: update * refactor: remove * refactor: update * refactor: update * refactor: update * refactor: update scripts * refactor: remove * refactor: update * refactor: remove --------- Co-authored-by: Turbobot <turbobot@vercel.com>
This commit is contained in:
@@ -1,72 +0,0 @@
|
||||
version: 2.1
|
||||
|
||||
jobs:
|
||||
build-amd64:
|
||||
machine:
|
||||
image: ubuntu-2004:current
|
||||
steps:
|
||||
- checkout
|
||||
- run:
|
||||
name: Prepare .env file
|
||||
command: |
|
||||
cp .env.production.example .env.production
|
||||
- run:
|
||||
name: Build and push AMD64 image
|
||||
command: |
|
||||
VERSION=$(node -p "require('./package.json').version")
|
||||
echo $VERSION
|
||||
docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_TOKEN
|
||||
docker build --platform linux/amd64 -t dokploy/dokploy:canary-amd64 .
|
||||
docker push dokploy/dokploy:canary-amd64
|
||||
|
||||
build-arm64:
|
||||
machine:
|
||||
image: ubuntu-2004:current
|
||||
resource_class: arm.large
|
||||
steps:
|
||||
- checkout
|
||||
|
||||
- run:
|
||||
name: Prepare .env file
|
||||
command: |
|
||||
cp .env.production.example .env.production
|
||||
- run:
|
||||
name: Build and push ARM64 image
|
||||
command: |
|
||||
docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_TOKEN
|
||||
docker build --platform linux/arm64 -t dokploy/dokploy:canary-arm64 .
|
||||
docker push dokploy/dokploy:canary-arm64
|
||||
|
||||
combine-manifests:
|
||||
docker:
|
||||
- image: cimg/base:stable
|
||||
steps:
|
||||
- setup_remote_docker
|
||||
- run:
|
||||
name: Create and push multi-arch manifest
|
||||
command: |
|
||||
docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_TOKEN
|
||||
docker manifest create dokploy/dokploy:canary \
|
||||
dokploy/dokploy:canary-amd64 \
|
||||
dokploy/dokploy:canary-arm64
|
||||
docker manifest push dokploy/dokploy:canary
|
||||
|
||||
workflows:
|
||||
version: 2
|
||||
build-all:
|
||||
jobs:
|
||||
- build-amd64:
|
||||
filters:
|
||||
branches:
|
||||
only: feat/circle
|
||||
- build-arm64:
|
||||
filters:
|
||||
branches:
|
||||
only: feat/circle
|
||||
- combine-manifests:
|
||||
requires:
|
||||
- build-amd64
|
||||
- build-arm64
|
||||
filters:
|
||||
branches:
|
||||
only: feat/circle
|
||||
@@ -9,7 +9,8 @@ jobs:
|
||||
- run:
|
||||
name: Prepare .env file
|
||||
command: |
|
||||
cp .env.production.example .env.production
|
||||
cp apps/dokploy/.env.production.example .env.production
|
||||
cp apps/dokploy/.env.production.example apps/dokploy/.env.production
|
||||
- run:
|
||||
name: Build and push AMD64 image
|
||||
command: |
|
||||
@@ -31,7 +32,8 @@ jobs:
|
||||
- run:
|
||||
name: Prepare .env file
|
||||
command: |
|
||||
cp .env.production.example .env.production
|
||||
cp apps/dokploy/.env.production.example .env.production
|
||||
cp apps/dokploy/.env.production.example apps/dokploy/.env.production
|
||||
- run:
|
||||
name: Build and push ARM64 image
|
||||
command: |
|
||||
@@ -56,7 +58,7 @@ jobs:
|
||||
docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_TOKEN
|
||||
|
||||
if [ "${CIRCLE_BRANCH}" == "main" ]; then
|
||||
VERSION=$(node -p "require('./package.json').version")
|
||||
VERSION=$(node -p "require('apps/dokploy/package.json').version")
|
||||
echo $VERSION
|
||||
TAG="latest"
|
||||
|
||||
@@ -78,7 +80,6 @@ jobs:
|
||||
fi
|
||||
|
||||
workflows:
|
||||
version: 2
|
||||
build-all:
|
||||
jobs:
|
||||
- build-amd64:
|
||||
|
||||
@@ -1,76 +0,0 @@
|
||||
version: 2.1
|
||||
|
||||
jobs:
|
||||
build-amd64:
|
||||
machine:
|
||||
image: ubuntu-2004:current
|
||||
steps:
|
||||
- checkout
|
||||
- run:
|
||||
name: Prepare .env file
|
||||
command: |
|
||||
cp .env.production.example .env.production
|
||||
- run:
|
||||
name: Build and push AMD64 image
|
||||
command: |
|
||||
docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_TOKEN
|
||||
docker build --platform linux/amd64 -t dokploy/dokploy:latest-amd64 .
|
||||
docker push dokploy/dokploy:latest-amd64
|
||||
|
||||
build-arm64:
|
||||
machine:
|
||||
image: ubuntu-2004:current
|
||||
resource_class: arm.large
|
||||
steps:
|
||||
- checkout
|
||||
|
||||
- run:
|
||||
name: Prepare .env file
|
||||
command: |
|
||||
cp .env.production.example .env.production
|
||||
- run:
|
||||
name: Build and push ARM64 image
|
||||
command: |
|
||||
docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_TOKEN
|
||||
docker build --platform linux/arm64 -t dokploy/dokploy:latest-arm64 .
|
||||
docker push dokploy/dokploy:latest-arm64
|
||||
|
||||
combine-manifests:
|
||||
docker:
|
||||
- image: cimg/base:stable
|
||||
steps:
|
||||
- setup_remote_docker
|
||||
- run:
|
||||
name: Create and push multi-arch manifest
|
||||
command: |
|
||||
VERSION=$(node -p "require('./package.json').version")
|
||||
docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_TOKEN
|
||||
docker manifest create dokploy/dokploy:latest \
|
||||
dokploy/dokploy:latest-amd64 \
|
||||
dokploy/dokploy:latest-arm64
|
||||
docker manifest push dokploy/dokploy:latest
|
||||
|
||||
docker manifest create dokploy/dokploy:${VERSION} \
|
||||
dokploy/dokploy:latest-amd64 \
|
||||
dokploy/dokploy:latest-arm64
|
||||
docker manifest push dokploy/dokploy:${VERSION}
|
||||
|
||||
workflows:
|
||||
version: 2
|
||||
build-all:
|
||||
jobs:
|
||||
- build-amd64:
|
||||
filters:
|
||||
branches:
|
||||
only: main
|
||||
- build-arm64:
|
||||
filters:
|
||||
branches:
|
||||
only: main
|
||||
- combine-manifests:
|
||||
requires:
|
||||
- build-amd64
|
||||
- build-arm64
|
||||
filters:
|
||||
branches:
|
||||
only: main
|
||||
68
.github/workflows/pull-request.yml
vendored
68
.github/workflows/pull-request.yml
vendored
@@ -1,49 +1,47 @@
|
||||
name: Pull request
|
||||
name: Pull Request
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
- canary
|
||||
branches: [main, canary]
|
||||
|
||||
env:
|
||||
HUSKY: 0
|
||||
|
||||
jobs:
|
||||
build-app:
|
||||
lint-and-typecheck:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [18.18.0]
|
||||
steps:
|
||||
- name: Check out the code
|
||||
uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v4
|
||||
- uses: pnpm/action-setup@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
node-version: 18.18.0
|
||||
cache: "pnpm"
|
||||
- run: pnpm install --frozen-lockfile
|
||||
- run: pnpm biome ci
|
||||
- run: pnpm typecheck
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
build-and-test:
|
||||
needs: lint-and-typecheck
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: pnpm/action-setup@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 18.18.0
|
||||
cache: "pnpm"
|
||||
- run: pnpm install --frozen-lockfile
|
||||
- run: pnpm build
|
||||
|
||||
# - name: Run commitlint
|
||||
# run: pnpm commitlint --from ${{ github.event.pull_request.head.sha }}~${{ github.event.pull_request.commits }} --to ${{ github.event.pull_request.head.sha }} --verbose
|
||||
|
||||
- name: Run format and lint
|
||||
run: pnpm biome ci
|
||||
|
||||
- name: Run type check
|
||||
run: pnpm typecheck
|
||||
|
||||
- name: Run Build
|
||||
run: pnpm build
|
||||
|
||||
- name: Run Tests
|
||||
run: pnpm run test
|
||||
parallel-tests:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: pnpm/action-setup@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 18.18.0
|
||||
cache: "pnpm"
|
||||
- run: pnpm install --frozen-lockfile
|
||||
- run: pnpm test
|
||||
|
||||
71
.gitignore
vendored
71
.gitignore
vendored
@@ -1,59 +1,38 @@
|
||||
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
|
||||
|
||||
# dependencies
|
||||
/node_modules
|
||||
/.pnp
|
||||
# Dependencies
|
||||
node_modules
|
||||
.pnp
|
||||
.pnp.js
|
||||
/redis-data
|
||||
traefik.yml
|
||||
.docker
|
||||
.env.production
|
||||
|
||||
# testing
|
||||
/coverage
|
||||
/dist
|
||||
/production-server
|
||||
# database
|
||||
/prisma/db.sqlite
|
||||
/prisma/db.sqlite-journal
|
||||
/logs
|
||||
# Local env files
|
||||
.env
|
||||
.env.local
|
||||
.env.development.local
|
||||
.env.test.local
|
||||
.env.production.local
|
||||
|
||||
# next.js
|
||||
/.next/
|
||||
/out/
|
||||
next-env.d.ts
|
||||
/dokploy
|
||||
/config
|
||||
# Testing
|
||||
coverage
|
||||
|
||||
# production
|
||||
/build
|
||||
# Turbo
|
||||
.turbo
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
*.pem
|
||||
# Vercel
|
||||
.vercel
|
||||
|
||||
# debug
|
||||
# Build Outputs
|
||||
.next/
|
||||
out/
|
||||
dist
|
||||
|
||||
|
||||
# Debug
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
.pnpm-debug.log*
|
||||
|
||||
# local env files
|
||||
# do not commit any .env files to git, except for the .env.example file. https://create.t3.gg/en/usage/env-variables#using-environment-variables
|
||||
.env
|
||||
.env*.local
|
||||
|
||||
# vercel
|
||||
.vercel
|
||||
|
||||
# typescript
|
||||
*.tsbuildinfo
|
||||
|
||||
# otros
|
||||
/.data
|
||||
/.main
|
||||
.vscode
|
||||
|
||||
*.lockb
|
||||
*.rdb
|
||||
.idea
|
||||
# Misc
|
||||
.DS_Store
|
||||
*.pem
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
|
||||
|
||||
# Contributing
|
||||
|
||||
Hey, thanks for your interest in contributing to Dokploy! We appreciate your help and taking your time to contribute.
|
||||
|
||||
|
||||
Before you start, please first discuss the feature/bug you want to add with the owners and comunity via github issues.
|
||||
|
||||
We have a few guidelines to follow when contributing to this project:
|
||||
@@ -17,9 +14,10 @@ We have a few guidelines to follow when contributing to this project:
|
||||
|
||||
## Commit Convention
|
||||
|
||||
Before you craete a Pull Request, please make sure your commit message follows the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) specification.
|
||||
Before you create a Pull Request, please make sure your commit message follows the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) specification.
|
||||
|
||||
### Commit Message Format
|
||||
|
||||
```
|
||||
<type>[optional scope]: <description>
|
||||
|
||||
@@ -29,28 +27,27 @@ Before you craete a Pull Request, please make sure your commit message follows t
|
||||
```
|
||||
|
||||
#### Type
|
||||
|
||||
Must be one of the following:
|
||||
|
||||
* **feat**: A new feature
|
||||
* **fix**: A bug fix
|
||||
* **docs**: Documentation only changes
|
||||
* **style**: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
|
||||
* **refactor**: A code change that neither fixes a bug nor adds a feature
|
||||
* **perf**: A code change that improves performance
|
||||
* **test**: Adding missing tests or correcting existing tests
|
||||
* **build**: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
|
||||
* **ci**: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
|
||||
* **chore**: Other changes that don't modify `src` or `test` files
|
||||
* **revert**: Reverts a previous commit
|
||||
- **feat**: A new feature
|
||||
- **fix**: A bug fix
|
||||
- **docs**: Documentation only changes
|
||||
- **style**: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
|
||||
- **refactor**: A code change that neither fixes a bug nor adds a feature
|
||||
- **perf**: A code change that improves performance
|
||||
- **test**: Adding missing tests or correcting existing tests
|
||||
- **build**: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
|
||||
- **ci**: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
|
||||
- **chore**: Other changes that don't modify `src` or `test` files
|
||||
- **revert**: Reverts a previous commit
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
feat: add new feature
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
## Setup
|
||||
|
||||
Before you start, please make the clone based on the `canary` branch, since the `main` branch is the source of truth and should always reflect the latest stable release, also the PRs will be merged to the `canary` branch.
|
||||
@@ -59,45 +56,45 @@ Before you start, please make the clone based on the `canary` branch, since the
|
||||
git clone https://github.com/dokploy/dokploy.git
|
||||
cd dokploy
|
||||
pnpm install
|
||||
cp .env.example .env
|
||||
cp apps/dokploy/.env.example apps/dokploy/.env
|
||||
```
|
||||
|
||||
## Development
|
||||
|
||||
Is required to have **Docker** installed on your machine.
|
||||
|
||||
|
||||
### Setup
|
||||
|
||||
Run the command that will spin up all the required services and files.
|
||||
|
||||
```bash
|
||||
pnpm run setup
|
||||
pnpm run dokploy:setup
|
||||
```
|
||||
|
||||
Now run the development server.
|
||||
|
||||
```bash
|
||||
pnpm run dev
|
||||
pnpm run dokploy:dev
|
||||
```
|
||||
|
||||
|
||||
Go to http://localhost:3000 to see the development server
|
||||
|
||||
## Build
|
||||
|
||||
```bash
|
||||
pnpm run build
|
||||
pnpm run dokploy:build
|
||||
```
|
||||
|
||||
## Docker
|
||||
|
||||
To build the docker image
|
||||
|
||||
```bash
|
||||
pnpm run docker:build
|
||||
```
|
||||
|
||||
To push the docker image
|
||||
|
||||
```bash
|
||||
pnpm run docker:push
|
||||
```
|
||||
@@ -138,7 +135,6 @@ curl -sSL https://nixpacks.com/install.sh -o install.sh \
|
||||
curl -sSL "https://github.com/buildpacks/pack/releases/download/v0.32.1/pack-v0.32.1-linux.tgz" | tar -C /usr/local/bin/ --no-same-owner -xzv pack
|
||||
```
|
||||
|
||||
|
||||
## Pull Request
|
||||
|
||||
- The `main` branch is the source of truth and should always reflect the latest stable release.
|
||||
@@ -152,10 +148,6 @@ curl -sSL "https://github.com/buildpacks/pack/releases/download/v0.32.1/pack-v0.
|
||||
|
||||
Thank you for your contribution!
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Templates
|
||||
|
||||
To add a new template, go to `templates` folder and create a new folder with the name of the template.
|
||||
@@ -176,9 +168,7 @@ import {
|
||||
type Schema,
|
||||
} from "../utils";
|
||||
|
||||
|
||||
export function generate(schema: Schema): Template {
|
||||
|
||||
// do your stuff here, like create a new domain, generate random passwords, mounts.
|
||||
const mainServiceHash = generateHash(schema.projectName);
|
||||
const randomDomain = generateRandomDomain(schema);
|
||||
@@ -186,7 +176,7 @@ export function generate(schema: Schema): Template {
|
||||
const toptKeyBase = generateBase64(32);
|
||||
|
||||
const envs = [
|
||||
// If you want to show a domain in the UI, please add the prefix _HOST at the end of the variable name.
|
||||
// If you want to show a domain in the UI, please add the prefix _HOST at the end of the variable name.
|
||||
`PLAUSIBLE_HOST=${randomDomain}`,
|
||||
"PLAUSIBLE_PORT=8000",
|
||||
`BASE_URL=http://${randomDomain}`,
|
||||
@@ -233,10 +223,37 @@ export function generate(schema: Schema): Template {
|
||||
|
||||
5. Add the logo or image of the template to `public/templates/plausible.svg`
|
||||
|
||||
|
||||
### Recomendations
|
||||
|
||||
- Use the same name of the folder as the id of the template.
|
||||
- The logo should be in the public folder.
|
||||
- If you want to show a domain in the UI, please add the prefix _HOST at the end of the variable name.
|
||||
- If you want to show a domain in the UI, please add the prefix \_HOST at the end of the variable name.
|
||||
- Test first on a vps or a server to make sure the template works.
|
||||
|
||||
## Docs
|
||||
|
||||
To run the docs locally, run the following command:
|
||||
|
||||
```bash
|
||||
pnpm run docs:dev
|
||||
```
|
||||
|
||||
To build the docs, run the following command:
|
||||
|
||||
```bash
|
||||
pnpm run docs:build
|
||||
```
|
||||
|
||||
## Website
|
||||
|
||||
To run the website locally, run the following command:
|
||||
|
||||
```bash
|
||||
pnpm run website:dev
|
||||
```
|
||||
|
||||
To build the website, run the following command:
|
||||
|
||||
```bash
|
||||
pnpm run website:build
|
||||
```
|
||||
|
||||
72
Dockerfile
72
Dockerfile
@@ -1,65 +1,45 @@
|
||||
FROM node:18-slim AS base
|
||||
|
||||
# Disable husky
|
||||
ENV HUSKY=0
|
||||
|
||||
# Set pnpm home
|
||||
ENV PNPM_HOME="/pnpm"
|
||||
ENV PATH="$PNPM_HOME:$PATH"
|
||||
|
||||
# Enable corepack
|
||||
RUN corepack enable
|
||||
|
||||
# Set workdir
|
||||
WORKDIR /app
|
||||
FROM base AS build
|
||||
COPY . /usr/src/app
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
FROM base AS base-deps
|
||||
# Install dependencies only for production
|
||||
RUN apt-get update && apt-get install -y python3 make g++ git && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Copy install script for husky
|
||||
COPY .husky/install.mjs ./.husky/install.mjs
|
||||
|
||||
# Copy package.json and pnpm-lock.yaml
|
||||
COPY package.json pnpm-lock.yaml ./
|
||||
|
||||
FROM base-deps AS prod-deps
|
||||
|
||||
# Set production
|
||||
ENV NODE_ENV=production
|
||||
|
||||
# Install dependencies only for production
|
||||
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile
|
||||
|
||||
FROM base-deps AS build
|
||||
|
||||
# Install dependencies only for building
|
||||
# Install dependencies
|
||||
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
|
||||
|
||||
# Copy the rest of the source code
|
||||
COPY . .
|
||||
# Deploy only the dokploy app
|
||||
|
||||
# Build the application
|
||||
RUN pnpm build
|
||||
ENV NODE_ENV=production
|
||||
RUN pnpm --filter=./apps/dokploy run build
|
||||
RUN pnpm --filter=./apps/dokploy --prod deploy /prod/dokploy
|
||||
|
||||
FROM base AS production
|
||||
RUN cp -R /usr/src/app/apps/dokploy/.next /prod/dokploy/.next
|
||||
RUN cp -R /usr/src/app/apps/dokploy/dist /prod/dokploy/dist
|
||||
|
||||
FROM base AS dokploy
|
||||
WORKDIR /app
|
||||
|
||||
# Set production
|
||||
ENV NODE_ENV=production
|
||||
|
||||
# Install dependencies only for production
|
||||
RUN apt-get update && apt-get install -y curl apache2-utils && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Copy the rest of the source code
|
||||
COPY --from=build /app/.next ./.next
|
||||
COPY --from=build /app/dist ./dist
|
||||
COPY --from=build /app/next.config.mjs ./next.config.mjs
|
||||
COPY --from=build /app/public ./public
|
||||
COPY --from=build /app/package.json ./package.json
|
||||
COPY --from=build /app/drizzle ./drizzle
|
||||
COPY --from=build /app/.env.production ./.env
|
||||
COPY --from=build /app/components.json ./components.json
|
||||
COPY --from=prod-deps /app/node_modules ./node_modules
|
||||
# Copy only the necessary files
|
||||
COPY --from=build /prod/dokploy/.next ./.next
|
||||
COPY --from=build /prod/dokploy/dist ./dist
|
||||
COPY --from=build /prod/dokploy/next.config.mjs ./next.config.mjs
|
||||
COPY --from=build /prod/dokploy/public ./public
|
||||
COPY --from=build /prod/dokploy/package.json ./package.json
|
||||
COPY --from=build /prod/dokploy/drizzle ./drizzle
|
||||
COPY .env.production ./.env
|
||||
COPY --from=build /prod/dokploy/components.json ./components.json
|
||||
COPY --from=build /prod/dokploy/node_modules ./node_modules
|
||||
|
||||
|
||||
# Install docker
|
||||
RUN curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh && rm get-docker.sh
|
||||
@@ -74,7 +54,5 @@ RUN curl -sSL https://nixpacks.com/install.sh -o install.sh \
|
||||
# Install buildpacks
|
||||
RUN curl -sSL "https://github.com/buildpacks/pack/releases/download/v0.35.0/pack-v0.35.0-linux.tgz" | tar -C /usr/local/bin/ --no-same-owner -xzv pack
|
||||
|
||||
# Expose port
|
||||
EXPOSE 3000
|
||||
|
||||
CMD ["pnpm", "start"]
|
||||
CMD [ "pnpm", "start" ]
|
||||
|
||||
57
README-de.md
57
README-de.md
@@ -1,57 +0,0 @@
|
||||
|
||||
|
||||
<div align="center">
|
||||
<h1 align="center">Dokploy</h1>
|
||||
</div>
|
||||
|
||||
<div align="center" style="width:100%;">
|
||||
<img src="https://raw.githubusercontent.com/Dokploy/dokploy/main/logo.png" alt="Reflex Logo" style="width:60%;">
|
||||
</div>
|
||||
<hr>
|
||||
|
||||
|
||||
Dokploy ist eine kostenlose und self-hostable Platform as a Service (PaaS), welche das hosten und managen von deinen Projekten und Datenbanken vereinfacht, das geschieht mithilfe von Docker und Treafik. Es ist designt, um deine Leistung und die Sicherheit deiner Projekte zu verbessern. Dokploy erlaubt dir schnell und einfach auf jeder VPS deine Projekte zu verwirklichen.
|
||||
|
||||
|
||||
## Erklärung
|
||||
[English](README.md) | [中文](README-zh.md) | [Deutsch](README-de.md) | [Русский Язык](README-ru.md)
|
||||
|
||||
|
||||
|
||||
|
||||
## 🌟 Vorteile
|
||||
|
||||
- **Projekte**: - **Projekte**: Hoste jegliche Art von Projekt (Node.js, PHP, Python, Go, Ruby, etc.) mit Einfachheit.
|
||||
- **Datenbanken**: Erstelle und manage Datenbanken, wie MySQL, PostgreSQL, MongoDB, MariaDB, Redis, und mehr.
|
||||
- **Docker Management**: Einfach Docker container hosten und managen.
|
||||
- **Traefik Integration**: Automatische Integration mit Traefik für routing und load balancing
|
||||
- **Real-time Monitoring**: Monitor von CPU, RAM, Speicher, und network Nutzung.
|
||||
- **Database Backups**: Automatische Backups mit Support für mehrere Speicher Systeme.
|
||||
|
||||
|
||||
## 🚀 Loslegen
|
||||
|
||||
Um anzufangen führe einfach den folgende command in einer VPS aus:
|
||||
|
||||
```bash
|
||||
curl -sSL https://dokploy.com/install.sh | sh
|
||||
```
|
||||
|
||||
Getestete Systems:
|
||||
|
||||
- Ubuntu 24.04 LTS (Noble Numbat)
|
||||
- Ubuntu 23.10 (Mantic Minotaur)
|
||||
- Ubuntu 22.04 LTS (Jammy Jellyfish)
|
||||
- Ubuntu 20.04 LTS (Focal Fossa)
|
||||
- Ubuntu 18.04 LTS (Bionic Beaver)
|
||||
- Debian 12
|
||||
- Debian 11
|
||||
- Fedora 40
|
||||
- Centos 9
|
||||
- Centos 8
|
||||
|
||||
|
||||
## 📄 Dokumentation
|
||||
|
||||
Für eine detaillierte Dokumentation, siehe [docs.dokploy.com/docs](https://docs.dokploy.com)
|
||||
|
||||
56
README-ru.md
56
README-ru.md
@@ -1,56 +0,0 @@
|
||||
<div align="center">
|
||||
<h1 align="center">Dokploy</h1>
|
||||
</div>
|
||||
|
||||
<div align="center" style="width:100%;">
|
||||
<img src="https://raw.githubusercontent.com/Dokploy/dokploy/main/logo.png" alt="Логотип Dokploy" style="width:60%;">
|
||||
</div>
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
Dokploy - это бесплатная самоустанавливаемая Платформа как Сервис (PaaS), которая упрощает развертывание и управление приложениями и базами данных с использованием Docker и Traefik. Разработанный для повышения эффективности и безопасности, Dokploy позволяет развертывать ваши приложения на любом VPS.
|
||||
|
||||
|
||||
|
||||
## Объяснение
|
||||
[English](README.md) | [中文](README-zh.md) | [Deutsch](README-de.md)
|
||||
|
||||
|
||||
|
||||
|
||||
## 🌟 Особенности
|
||||
|
||||
- **Приложения**: Легко развертывать любой тип приложения (Node.js, PHP, Python, Go, Ruby и др.).
|
||||
- **Базы данных**: Создавайте и управляйте базами данных с поддержкой MySQL, PostgreSQL, MongoDB, MariaDB, Redis и других.
|
||||
- **Управление Docker**: Легко развертывать и управляйте контейнерами Docker.
|
||||
- **Интеграция с Traefik**: Автоматически интегрируется с Traefik для маршрутизации и балансировки нагрузки.
|
||||
- **Мониторинг в реальном времени**: Отслеживайте использование CPU, памяти, хранилища и сети.
|
||||
- **Резервное копирование баз данных**: Автоматизируйте резервное копирование с поддержкой нескольких мест хранения.
|
||||
|
||||
|
||||
## 🚀 Начало работы
|
||||
|
||||
Чтобы установить, выполните следующую команду на VPS:
|
||||
|
||||
|
||||
```bash
|
||||
curl -sSL https://dokploy.com/install.sh | sh
|
||||
```
|
||||
|
||||
Проверенные системы:
|
||||
|
||||
- Ubuntu 24.04 LTS (Noble Numbat)
|
||||
- Ubuntu 23.10 (Mantic Minotaur)
|
||||
- Ubuntu 22.04 LTS (Jammy Jellyfish)
|
||||
- Ubuntu 20.04 LTS (Focal Fossa)
|
||||
- Ubuntu 18.04 LTS (Bionic Beaver)
|
||||
- Debian 12
|
||||
- Debian 11
|
||||
- Fedora 40
|
||||
- Centos 9
|
||||
- Centos 8
|
||||
|
||||
|
||||
## 📄 Документация
|
||||
Для подробной документации посетите [docs.dokploy.com/docs](https://docs.dokploy.com).
|
||||
60
README-zh.md
60
README-zh.md
@@ -1,60 +0,0 @@
|
||||
|
||||
|
||||
<div align="center">
|
||||
<h1 align="center">Dokploy</h1>
|
||||
</div>
|
||||
|
||||
<div align="center" style="width:100%;">
|
||||
<img src="https://raw.githubusercontent.com/Dokploy/dokploy/main/logo.png" alt="Reflex Logo" style="width:60%;">
|
||||
</div>
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
Dokploy 是一个免费的自托管平台即服务 (PaaS),它使用 Docker 和 Traefik 简化了应用程序和数据库的部署和管理。 Dokploy 旨在提高效率和安全性,允许您在任何 VPS 上部署应用程序。
|
||||
|
||||
## 语言
|
||||
[English](README.md)
|
||||
|
||||
[中文](README-zh.md)
|
||||
|
||||
[Deutsch](README-de.md)
|
||||
|
||||
[Русский Язык](README-ru.md)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## 🌟 功能
|
||||
|
||||
- **应用程序**: 轻松部署任何类型的应用程序(Node.js,PHP,Python,Go、Ruby 等)。数据库: 创建和管理数据库,支持 MySQL,PostgreSQL,MongoDB、MariaDB、Redis 等。
|
||||
- **Docker 管理**: 轻松部署和管理 Docker 容器。
|
||||
- **Traefik 集成**: 自动与 Traefik 集成,用于路由和负载均衡。
|
||||
- **实时监控**: 监控 CPU,内存,存储和网络使用情况。
|
||||
- **数据库备份**: 支持多种存储目的地自动备份。
|
||||
|
||||
## 🚀 入门
|
||||
要开始使用 请在VPS 上运行以下命令:
|
||||
|
||||
```bash
|
||||
curl -sSL https://dokploy.com/install.sh | sh
|
||||
```
|
||||
|
||||
经过测试的系统:
|
||||
|
||||
- Ubuntu 24.04 LTS (Noble Numbat)
|
||||
- Ubuntu 23.10 (Mantic Minotaur)
|
||||
- Ubuntu 22.04 LTS (Jammy Jellyfish)
|
||||
- Ubuntu 20.04 LTS (Focal Fossa)
|
||||
- Ubuntu 18.04 LTS (Bionic Beaver)
|
||||
- Debian 12
|
||||
- Debian 11
|
||||
- Fedora 40
|
||||
- Centos 9
|
||||
- Centos 8
|
||||
|
||||
|
||||
## 📄 文档
|
||||
|
||||
如需查看详细的文档资料 请访问[docs.dokploy.com/docs](https://docs.dokploy.com)
|
||||
80
README.md
80
README.md
@@ -24,6 +24,7 @@ Dokploy include multiples features to make your life easier.
|
||||
- **Real-time Monitoring**: Monitor CPU, memory, storage, and network usage, for every resource.
|
||||
- **Docker Management**: Easily deploy and manage Docker containers.
|
||||
- **CLI/API**: Manage your applications and databases using the command line or trought the API.
|
||||
- **Notifications**: Get notified when your deployments are successful or failed (Slack, Discord, Telegram, Email, etc.)
|
||||
- **Self-Hosted**: Self-host Dokploy on your VPS.
|
||||
|
||||
## 🚀 Getting Started
|
||||
@@ -34,38 +35,63 @@ To get started run the following command in a VPS:
|
||||
curl -sSL https://dokploy.com/install.sh | sh
|
||||
```
|
||||
|
||||
## 📄 Documentation
|
||||
|
||||
For detailed documentation, visit [docs.dokploy.com](https://docs.dokploy.com).
|
||||
|
||||
## Sponsors
|
||||
|
||||
🙏 We're deeply grateful to all our sponsors who make Dokploy possible! Your support helps cover the costs of hosting, testing, and developing new features.
|
||||
|
||||
[Dokploy Open Collective](https://opencollective.com/dokploy)
|
||||
|
||||
[Github Sponsors](https://github.com/sponsors/Siumauricio)
|
||||
|
||||
<!-- Hero Sponsors 🎖 -->
|
||||
|
||||
<!-- Add Hero Sponsors here -->
|
||||
|
||||
### Premium Supporters 🥇
|
||||
|
||||
<div style="display: flex; gap: 30px; flex-wrap: wrap;">
|
||||
<a href="https://supafort.com/" target="_blank"><img src="https://supafort.com/build/q-4Ht4rBZR.webp" alt="bc direct logo" width="190"/></a>
|
||||
</div>
|
||||
|
||||
<!-- Elite Contributors 🥈 -->
|
||||
|
||||
<!-- Add Elite Contributors here -->
|
||||
|
||||
### Supporting Members 🥉
|
||||
|
||||
<div style="display: flex; gap: 30px; flex-wrap: wrap;">
|
||||
<a href="https://lightspeed.run/"><img src="https://github.com/lightspeedrun.png" width="60px" alt="Lightspeed.run"/></a>
|
||||
</div>
|
||||
|
||||
### Community Backers 🤝
|
||||
|
||||
<div style="display: flex; gap: 30px; flex-wrap: wrap;">
|
||||
<a href="https://steamsets.com/"><img src="https://avatars.githubusercontent.com/u/111978405?s=200&v=4" width="60px" alt="Lightspeed.run"/></a>
|
||||
</div>
|
||||
|
||||
#### Organizations:
|
||||
|
||||
[](https://opencollective.com/dokploy)
|
||||
|
||||
#### Individuals:
|
||||
|
||||
[](https://opencollective.com/dokploy)
|
||||
|
||||
### Contributors 🤝
|
||||
|
||||
<a href="https://github.com/dokploy/dokploy/graphs/contributors">
|
||||
<img src="https://contrib.rocks/image?repo=dokploy/dokploy" />
|
||||
</a>
|
||||
|
||||
## Video Tutorial
|
||||
|
||||
<a href="https://youtu.be/mznYKPvhcfw">
|
||||
<img src="https://dokploy.com/banner.webp" alt="Watch the video" width="400" style="border-radius:20px;"/>
|
||||
</a>
|
||||
|
||||
## Donations
|
||||
|
||||
If you like dokploy, and want to support the project to cover the costs of hosting, testing and development new features, you can donate to the project using the following link:
|
||||
|
||||
Thanks to all the supporters!
|
||||
|
||||
[Dokploy Open Collective](https://opencollective.com/dokploy)
|
||||
|
||||
Organizations:
|
||||
|
||||
<a href="https://opencollective.com/dokploy"><img src="https://opencollective.com/dokploy/organizations.svg?width=890"></a>
|
||||
|
||||
Individuals:
|
||||
<a href="https://opencollective.com/dokploy"><img src="https://opencollective.com/dokploy/individuals.svg?width=890"></a>
|
||||
|
||||
## Contributors
|
||||
|
||||
<a href="https://github.com/dokploy/dokploy/graphs/contributors">
|
||||
<img src="https://contrib.rocks/image?repo=dokploy/dokploy" />
|
||||
</a>
|
||||
|
||||
## Support OS
|
||||
<!-- ## Supported OS
|
||||
|
||||
- Ubuntu 24.04 LTS
|
||||
- Ubuntu 23.10
|
||||
@@ -76,8 +102,8 @@ Individuals:
|
||||
- Debian 11
|
||||
- Fedora 40
|
||||
- Centos 9
|
||||
- Centos 8
|
||||
- Centos 8 -->
|
||||
|
||||
## Explanation
|
||||
## Contributing
|
||||
|
||||
[English](README.md) | [中文](README-zh.md) | [Deutsch](README-de.md) | [Русский Язык](README-ru.md)
|
||||
Check out the [Contributing Guide](CONTRIBUTING.md) for more information.
|
||||
|
||||
31
apps/docs/.gitignore
vendored
Normal file
31
apps/docs/.gitignore
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
# deps
|
||||
/node_modules
|
||||
|
||||
# generated content
|
||||
.contentlayer
|
||||
|
||||
# test & build
|
||||
/coverage
|
||||
/.next/
|
||||
/out/
|
||||
/build
|
||||
*.tsbuildinfo
|
||||
|
||||
# bun
|
||||
bun.lockb
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
*.pem
|
||||
/.pnp
|
||||
.pnp.js
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
.idea/*
|
||||
.idea
|
||||
|
||||
# others
|
||||
.env*.local
|
||||
.vercel
|
||||
next-env.d.ts
|
||||
4
apps/docs/.map.ts
Normal file
4
apps/docs/.map.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
/** Auto-generated **/
|
||||
declare const map: Record<string, unknown>;
|
||||
|
||||
export { map };
|
||||
15
apps/docs/README.md
Normal file
15
apps/docs/README.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# Docs
|
||||
|
||||
Dokploy Documentation
|
||||
|
||||
Run development server:
|
||||
|
||||
```bash
|
||||
npm run dev
|
||||
# or
|
||||
pnpm dev
|
||||
# or
|
||||
yarn dev
|
||||
```
|
||||
|
||||
Open http://localhost:3000 with your browser to see the result.
|
||||
9309
apps/docs/api.json
Normal file
9309
apps/docs/api.json
Normal file
File diff suppressed because it is too large
Load Diff
104
apps/docs/app/[lang]/[[...slug]]/page.tsx
Normal file
104
apps/docs/app/[lang]/[[...slug]]/page.tsx
Normal file
@@ -0,0 +1,104 @@
|
||||
import { getLanguages, getPage } from "@/app/source";
|
||||
import { url, baseUrl } from "@/utils/metadata";
|
||||
import { DocsBody, DocsPage } from "fumadocs-ui/page";
|
||||
import type { Metadata } from "next";
|
||||
import { notFound, permanentRedirect } from "next/navigation";
|
||||
|
||||
export default async function Page({
|
||||
params,
|
||||
}: {
|
||||
params: { lang: string; slug?: string[] };
|
||||
}) {
|
||||
const page = getPage(params.slug, params.lang);
|
||||
|
||||
if (page == null) {
|
||||
permanentRedirect("/docs/core/get-started/introduction");
|
||||
}
|
||||
|
||||
const MDX = page.data.exports.default;
|
||||
|
||||
return (
|
||||
<DocsPage toc={page.data.exports.toc}>
|
||||
<DocsBody>
|
||||
<h1>{page.data.title}</h1>
|
||||
<MDX />
|
||||
</DocsBody>
|
||||
</DocsPage>
|
||||
);
|
||||
}
|
||||
|
||||
export async function generateStaticParams() {
|
||||
return getLanguages().flatMap(({ language, pages }) =>
|
||||
pages.map((page) => ({
|
||||
lang: language,
|
||||
slug: page.slugs,
|
||||
})),
|
||||
);
|
||||
}
|
||||
|
||||
export function generateMetadata({
|
||||
params,
|
||||
}: {
|
||||
params: { lang: string; slug?: string[] };
|
||||
}) {
|
||||
const page = getPage(params.slug, params.lang);
|
||||
if (page == null) {
|
||||
permanentRedirect("/docs/core/get-started/introduction");
|
||||
}
|
||||
return {
|
||||
title: page.data.title,
|
||||
|
||||
description: page.data.description,
|
||||
robots: "index,follow",
|
||||
alternates: {
|
||||
canonical: new URL(`${baseUrl}${page.url}`).toString(),
|
||||
languages: {
|
||||
zh: `${baseUrl}/cn${page.url.replace("/cn", "")}`,
|
||||
en: `${baseUrl}/en${page.url.replace("/en", "")}`,
|
||||
},
|
||||
},
|
||||
openGraph: {
|
||||
title: page.data.title,
|
||||
description: page.data.description,
|
||||
url: new URL(`${baseUrl}`).toString(),
|
||||
images: [
|
||||
{
|
||||
url: new URL(
|
||||
`${baseUrl}/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Flogo.7cfd81d9.png&w=828&q=75`,
|
||||
).toString(),
|
||||
width: 1200,
|
||||
height: 630,
|
||||
alt: page.data.title,
|
||||
},
|
||||
],
|
||||
},
|
||||
twitter: {
|
||||
card: "summary_large_image",
|
||||
creator: "@siumauricio",
|
||||
title: page.data.title,
|
||||
description: page.data.description,
|
||||
images: [
|
||||
{
|
||||
url: new URL(
|
||||
`${baseUrl}/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Flogo.7cfd81d9.png&w=828&q=75`,
|
||||
).toString(),
|
||||
width: 1200,
|
||||
height: 630,
|
||||
alt: page.data.title,
|
||||
},
|
||||
],
|
||||
},
|
||||
applicationName: "Dokploy Docs",
|
||||
keywords: [
|
||||
"dokploy",
|
||||
"vps",
|
||||
"open source",
|
||||
"cloud",
|
||||
"self hosting",
|
||||
"free",
|
||||
],
|
||||
icons: {
|
||||
icon: "/icon.svg",
|
||||
},
|
||||
} satisfies Metadata;
|
||||
}
|
||||
128
apps/docs/app/[lang]/layout.tsx
Normal file
128
apps/docs/app/[lang]/layout.tsx
Normal file
@@ -0,0 +1,128 @@
|
||||
import { RootToggle } from "fumadocs-ui/components/layout/root-toggle";
|
||||
import { I18nProvider } from "fumadocs-ui/i18n";
|
||||
import { DocsLayout } from "fumadocs-ui/layout";
|
||||
import { RootProvider } from "fumadocs-ui/provider";
|
||||
import { Inter } from "next/font/google";
|
||||
import type { ReactNode } from "react";
|
||||
import { baseOptions } from "../layout.config";
|
||||
import { pageTree } from "../source";
|
||||
import "../global.css";
|
||||
import GoogleAnalytics from "@/components/analytics/google";
|
||||
import {
|
||||
LibraryIcon,
|
||||
type LucideIcon,
|
||||
PlugZapIcon,
|
||||
TerminalIcon,
|
||||
} from "lucide-react";
|
||||
const inter = Inter({
|
||||
subsets: ["latin"],
|
||||
});
|
||||
|
||||
interface Mode {
|
||||
param: string;
|
||||
name: string;
|
||||
package: string;
|
||||
description: string;
|
||||
icon: LucideIcon;
|
||||
}
|
||||
|
||||
const modes: Mode[] = [
|
||||
{
|
||||
param: "core/get-started/introduction",
|
||||
name: "Core",
|
||||
package: "Dokploy",
|
||||
description: "The core",
|
||||
icon: LibraryIcon,
|
||||
},
|
||||
{
|
||||
param: "cli",
|
||||
name: "CLI",
|
||||
package: "fumadocs-ui",
|
||||
description: "Interactive CLI",
|
||||
icon: TerminalIcon,
|
||||
},
|
||||
{
|
||||
param: "api",
|
||||
name: "API",
|
||||
package: "fumadocs-mdx",
|
||||
description: "API Documentation",
|
||||
icon: PlugZapIcon,
|
||||
},
|
||||
];
|
||||
|
||||
export default function Layout({
|
||||
params,
|
||||
children,
|
||||
}: {
|
||||
params: { lang: string };
|
||||
children: ReactNode;
|
||||
}) {
|
||||
return (
|
||||
<html
|
||||
lang={params.lang}
|
||||
className={inter.className}
|
||||
suppressHydrationWarning
|
||||
>
|
||||
<GoogleAnalytics />
|
||||
<body>
|
||||
<I18nProvider
|
||||
locale={params.lang}
|
||||
translations={{
|
||||
en: {
|
||||
name: "English",
|
||||
},
|
||||
cn: {
|
||||
name: "Chinese",
|
||||
toc: "目錄",
|
||||
search: "搜尋文檔",
|
||||
lastUpdate: "最後更新於",
|
||||
searchNoResult: "沒有結果",
|
||||
previousPage: "上一頁",
|
||||
nextPage: "下一頁",
|
||||
chooseLanguage: "選擇語言",
|
||||
},
|
||||
}}
|
||||
>
|
||||
<RootProvider>
|
||||
<DocsLayout
|
||||
i18n
|
||||
tree={pageTree[params.lang]}
|
||||
nav={{
|
||||
title: params.lang === "cn" ? "目錄" : "Dokploy",
|
||||
url: `/${params.lang}`,
|
||||
transparentMode: "none",
|
||||
}}
|
||||
sidebar={{
|
||||
// defaultOpenLevel: 0,
|
||||
|
||||
banner: (
|
||||
<RootToggle
|
||||
options={modes.map((mode) => {
|
||||
return {
|
||||
url: `/${params.lang}/docs/${mode.param}`,
|
||||
icon: (
|
||||
<mode.icon
|
||||
className="size-9 shrink-0 rounded-md bg-gradient-to-t from-background/80 p-1.5"
|
||||
style={{
|
||||
backgroundColor: `hsl(var(--${mode.param}-color)/.3)`,
|
||||
color: `hsl(var(--${mode.param}-color))`,
|
||||
}}
|
||||
/>
|
||||
),
|
||||
title: mode.name,
|
||||
description: mode.description,
|
||||
};
|
||||
})}
|
||||
/>
|
||||
),
|
||||
}}
|
||||
{...baseOptions}
|
||||
>
|
||||
{children}
|
||||
</DocsLayout>
|
||||
</RootProvider>
|
||||
</I18nProvider>
|
||||
</body>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
18
apps/docs/app/api/search/route.ts
Normal file
18
apps/docs/app/api/search/route.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import { getPages } from "@/app/source";
|
||||
import { createI18nSearchAPI } from "fumadocs-core/search/server";
|
||||
|
||||
import { languages } from "@/i18n";
|
||||
|
||||
export const { GET } = createI18nSearchAPI("advanced", {
|
||||
indexes: languages.map((lang) => {
|
||||
return {
|
||||
language: lang,
|
||||
indexes: getPages(lang).map((page) => ({
|
||||
id: page.url,
|
||||
url: page.url,
|
||||
title: page.data.title,
|
||||
structuredData: page.data.exports.structuredData,
|
||||
})),
|
||||
};
|
||||
}),
|
||||
});
|
||||
27
apps/docs/app/global.css
Normal file
27
apps/docs/app/global.css
Normal file
@@ -0,0 +1,27 @@
|
||||
@tailwind base;
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
||||
|
||||
.api {
|
||||
--primary: var(--api-color);
|
||||
}
|
||||
|
||||
.core {
|
||||
--primary: var(--core-color);
|
||||
}
|
||||
|
||||
.cli {
|
||||
--primary: var(--cli-color);
|
||||
}
|
||||
|
||||
:root {
|
||||
--core-color: 250 80% 54%;
|
||||
--cli-color: 0 0% 9%;
|
||||
--api-color: 220deg 91% 54%;
|
||||
}
|
||||
|
||||
.dark {
|
||||
--headless-color: 250 100% 80%;
|
||||
--cli-color: 0 0% 100%;
|
||||
--api-color: 217deg 92% 76%;
|
||||
}
|
||||
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 5.0 KiB |
76
apps/docs/app/layout.config.tsx
Normal file
76
apps/docs/app/layout.config.tsx
Normal file
@@ -0,0 +1,76 @@
|
||||
import type { BaseLayoutProps } from "fumadocs-ui/layout";
|
||||
import { GlobeIcon, HeartIcon } from "lucide-react";
|
||||
|
||||
export const Logo = () => {
|
||||
return (
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 559 446"
|
||||
className="!size-8 lg:!size-10"
|
||||
>
|
||||
<path
|
||||
className="fill-primary stroke-primary"
|
||||
d="M390 56v12c.1 2.3.5 4 1 6a73 73 0 0 0 12 24c2 2.3 5.7 4 7 7 4 3.4 9.6 6.8 14 9 1.7.6 5.7 1.1 7 2 1.9 1.3 2.9 2.3 0 4v1c-.6 1.8-1.9 3.5-3 5q-3 4-7 7c-4.3 3.2-9.5 6.8-15 7h-1q-2 1.6-5 2h-4c-5.2.7-12.9 2.2-18 0h-6c-1.6 0-3-.8-4-1h-3a17 17 0 0 1-6-2h-1c-2.5-.1-4-1.2-6-2l-4-1c-8.4-2-20.3-6.6-27-12h-1c-4.6-1-9.5-4.3-13.7-6.3s-10.5-3-13.3-6.7h-1c-4-1-8.9-3.5-12-6h-1c-6.8-1.6-13.6-6-20-9-6.5-2.8-14.6-5.7-20-10h-1c-7-1.2-15.4-4-22-6h-97c-5.3 4.3-13.7 4.3-18.7 10.3S90.8 101 88 108c-.4 1.5-.8 2.3-1 4-.2 1.6-.8 4-1 5v51c.2 1.2.8 3.2 1 5 .2 2 .5 3.2 1 5a79 79 0 0 0 6 12c.8.7 1.4 2.2 2 3 1.8 2 4.9 3.4 6 6 9.5 8.3 23.5 10.3 33 18h1c5.1 1.2 12 4.8 16 8h1c4 1 8.9 3.5 12 6h1q4.6 1.2 8 4h1c2 .1 2.6 1.3 4 2 1.6.8 2.7.7 4 2h1q2.5.3 4 2h1c3 .7 6.7 2 9 4h1c4.7.8 13.4 3.1 17 6h1c2.5.1 4 1.3 6 2 1.8.4 3 .8 5 1q3 .4 5 1c1.6-.2 2 0 3 1h1q2.5-.5 4 1h1q2.5-.5 4 1h1c2.2-.2 4.5-.3 6 1h1q4-.4 7 1h45c1.2-.2 3.1-1 5-1h6c1.5-.6 2.9-1.3 5-1h1q1.5-1.4 4-1h1q1.5-1.4 4-1h1c2.4-1.3 5-1.6 8-2l5-1c2-.7 3.6-1.6 6-2 4-.7 7.2-1.7 11-3 2.3-1 4.2-2.5 7-3h1q1.5-1.7 4-2h1c1.9-1.5 3.9-2 6-3q2.9-1.6 6-3a95 95 0 0 0 11-5c4.4-2.8 8.9-6 14-8 0 0 .6.2 1 0 1.8-2.8 7-4.8 10-6 0 0 .6.2 1 0 1.5-2.4 5.3-4 8-5 0 0 .6.2 1 0 1.5-2.4 5.3-4 8-5 0 0 .6.2 1 0 1.3-2 3.8-3.1 6-4 0 0 .6.2 1 0 2-3 7.7-5.6 11-7l5-2c6.3-3.8 11.8-9.6 18-14v-1c0-1.9-.4-4.2 0-6-1-4.5-3.9-5.5-7-8h-1c-1.2 0-2.8-.2-4 0-8.9 1.7-16.5 11.3-25.2 14.8-8.8 3.4-16.9 10.7-25.8 14.2h-1c-10.9 10.6-29.2 16-42.7 23.3S343.7 234.6 328 235h-1q-1.5 1.4-4 1h-1q-1.5 1.4-4 1h-1c-1.5 1.3-3.9 1.2-6 1h-1c-1.7 1.3-4.6 1.2-7 1-1 .2-2.4 1-4 1h-5c-6.6 0-13.4.4-20 0-1.9-.1-2.7.3-4-1h-8c-2.8-.2-5.7-1.3-8-2h-2q-5.7.4-10-2h-1q-4.5 0-8-2h-1a10 10 0 0 1-6-2h-1c-5.9-.2-12-3.8-17-6l-4-1c-1.7-.5-2.8-.7-4-2h-1q-2.5-.2-4-2h-1q-3.4-.9-6-3h-1c-3.5-.8-7.3-2.9-10-5h-1c-1.7 0-2.2-.7-3-2h-1c-11.6-2.7-23.2-11.5-34.2-15.8-11-4.2-25.9-9.2-29.8-21.2h4c16.2 0 32.8-1 49 0 1.7.1 3 .8 4 1 2.1.4 3.4-.5 5 1h1c3.6.1 8.4 1.8 11 4h1a45 45 0 0 1 18 8h1q4.6 1.2 8 4h1c4.2 1 8.3 3.4 12 5q3.4 1.2 7 2c5.7 1.3 13 2.3 18 5h1c3.7-.2 7 1.1 10 2h9c1.6 0 3 .8 4 1h32c2.2-1.6 6-1 9-1h1a63 63 0 0 1 22-4 22 22 0 0 1 8-2c1.7-1.4 3.7-1.6 6-2a81 81 0 0 0 12-3c2.3-1 4.2-2.5 7-3h1q1.5-1.7 4-2h1c1.9-1.5 3.6-2.2 6-3l3-1c4.1-2.3 8.4-5.2 13-7 0 0 .6.2 1 0 1.5-2.4 6.3-5 9-6 0 0 .6.2 1 0 5.3-8.1 17.6-12.5 24.8-20.2C439.9 144 445 133 452 126v-1a12 12 0 0 1 2-5c2.1-2.2 8.9-1 12-1q2 .2 4 0c1-.2 2.3-1.2 4-1h1q2.1-1.5 5-2h1q2.1-1.9 5-3s.6.2 1 0c9-9.3 18-15.4 23-28 1.1-2.8 3.5-6.4 4-9 .2-1 .2-3 0-4-1.5-6-12.3-2.4-15.7 2.3S484.7 80 479 80h-7c-7.8 4.3-19.3 5.7-23 16a37 37 0 0 0-22-24c-1.5-.5-2.5-.7-4-1-2.1-.5-3.6-.2-5-2h-1a22 22 0 0 1-12-8c-2-2.9-3.4-6.5-6-9h-1c-3.9-.6-6.1 1-8 4m-181 45h1c2.2-.2 4.5-.3 6 1h1q2.5-.5 4 1h1a33 33 0 0 1 17 7h1c4.4 1 8.2 4.1 12 6 2.1 1 4.1 1.5 6 3h1c4 1 8.9 3.5 12 6h1c4 1 8.9 3.5 12 6h1c4 1 8.9 3.5 12 6h1a61 61 0 0 1 21 10h1c3.5.8 7.3 2.9 10 5h1c6.1 1.4 12.3 5 18 7 1.8.4 3 .8 5 1 1.8.2 3.7.8 5 1q2.5-.5 4 1h6c2.5 0 4 .3 6 1h3q-.7 2.1-3 2a46 46 0 0 1-16 7l-10 3c-2 .8-3.4 1.9-6 2h-1c-2.6 2.1-7.5 3-11 3h-1c-3.1 2.5-10.7 3.5-15 3h-1c-1.5 1.3-3.9 1.2-6 1-1 .2-2.4 1-4 1h-11c-3.8.4-8.3.4-12 0h-9c-2.3 0-4.3-.7-6-1h-3c-1.8 0-2.9-.7-4-1-3.5-.8-7-.7-10-2h-1c-4.1-.7-9.8-1.4-13-4h-1q-4-.6-7-3h-1q-2.5-.2-4-2h-1q-3.4-.9-6-3h-1c-7.2-1.7-13.3-5.9-20.2-8.8-7-2.8-16.2-4.3-22.8-7.2h-11c-14 0-28.9.3-42-1-2.3 0-4.8.3-7 0a6 6 0 0 1-5-5c-1.8-4.8-.4-10.4 0-15 0-4.3-.4-8.7 0-13 .2-3.2 2.2-7.3 4-10q2-3 5-5c2.1-2 5.4-2.3 8-3 15.6-3.9 36.3-1 53-1 5.2 0 12-.5 17 0s12.2-1.8 16 1Z"
|
||||
/>
|
||||
|
||||
<path
|
||||
className="fill-primary stroke-primary"
|
||||
d="M162 132v1c1.8 2.9 4.5 5.3 8 6 .3-.2 3.7-.2 4 0 7-1.4 9.2-8.8 7-15v-1a14 14 0 0 0-7-4c-.3.2-3.7.2-4 0-6.5 1.3-8.6 6.8-8 13Z"
|
||||
/>
|
||||
|
||||
<path
|
||||
className="fill-primary stroke-primary"
|
||||
d="M465 211h-1c-18.2 14.6-41.2 24.6-60 39-19 14.2-42.7 29.3-66 34l-4 1c-2.4 1-4 2-7 2h-1q-3.5 2-8 2h-1c-1.3 1.2-3 1.1-5 1h-2q-2.6 1.1-6 1h-2c-3 1.2-6.5 1-10 1-6.3.6-13.8.6-20 0-3.4 0-8.4.9-11-1h-1c-2.2.2-4.5.3-6-1h-1c-2 .2-3.7.2-5-1h-1c-7.6.5-16.5-3.4-23-6l-4-1a129 129 0 0 1-36.2-15.8c-10.4-6.6-23.2-12.8-32.5-20.5-9.2-7.7-23.8-12.8-30.3-22.7h-1c-2.3-1.4-4.5-2.7-6-5h-1c-4-2.5-8.5-5.2-12-8h-9a9 9 0 0 0-6 7c.3 3.3 0 6.7 0 10v9c.2 1.6 1 3.8 1 6v3c.2 1 1.2 2.2 1 4v1c1.2 1.2.8 2.2 1 4 .8 6.7 3 12.6 5 19 1.7 4.3 4.2 9.1 5 14v1q1.8 1.5 2 4v1a36 36 0 0 1 5 10c.7 2 1 3 2 5 8 12.7 15.7 25.5 25.8 37.3 10 11.7 20.8 20.6 32.4 30.4 11.7 9.9 28.3 14 39.8 23.3h1q2.5.3 4 2h1c2.8.4 4.8 2 7 3l7 2c5.7 1.3 13 2.3 18 5h1c2.1-.3 3.6.8 5 1h3c2.8.2 5.8 1 8 2h8c2.1 0 4.6.8 6 1h21c1.2-.2 3.2-1 5-1h9c3.3-1 7-2.4 11-2h1c2.7-2.2 7.4-2.4 11-3a55 55 0 0 0 8-2c6.5-2.6 13.9-6.3 21-8h1c8.5-6.8 20.6-9.7 29.2-16.8 8.7-7 18.3-12.8 26.8-20.2 4.4-3.8 9-9 13-13 14.8-14.8 20.7-34.6 33-50v-1q.9-3.4 3-6v-1q.3-2.5 2-4v-1c.5-3.3 2-8.6 4-11v-1q0-3.5 2-6v-1c1.1-6.7 2.4-15 5-21v-1c-.2-2-.2-3.7 1-5v-8c0-5.3-.5-10.8 0-16a14 14 0 0 0-4-6c-1-.5-1.1-.4-2-1h-6q-2.1 1.5-5 2m-6 38c-2.1 13.4-21.2 20.3-31 30-10 9.5-23.7 19-35 27-11.5 8-25.1 19.7-39 23h-1a22 22 0 0 1-10 4h-1a25 25 0 0 1-12 4h-1q-3.5 2-8 2h-1c-1.1 1.1-2.3 1-4 1h-2c-1.2.4-2.2 1-4 1h-2c-1.8.7-3.6 1.3-6 1h-1c-1.2 1.2-2.3 1-4 1h-5c-5.7.6-12.3.8-18 0h-4c-1.9 0-2.7-.6-4-1h-6c-1.9 0-2.7.3-4-1h-1q-2.5.5-4-1h-1c-8.1.5-16.8-3.6-24.2-5.8S210 329.8 204 325h-1c-12.8-5-27.1-15.6-37.7-24.3S138.8 284.2 131 273c-.3-.2-1 0-1 0-5.7-4.4-16.6-10-19-17-.9-2.6-1-5.4-2-8-.8-2.2-2.5-5-2-8a667 667 0 0 0 88 56h1q3.4.9 6 3h1c2.8.4 4.8 2 7 3q5 1.8 10 3l6 2q2.9.6 6 1 3 .4 5 1c1.6-.2 2 0 3 1h1c2-.2 3.7-.2 5 1h1c2.2-.3 3.4.4 5 1h8c1.6 0 3 .9 4 1h40c1.8-1.3 4.6-1.2 7-1h1c1.2-1.2 3.2-1.2 5-1h1c1.2-1.2 3.2-1.2 5-1h1c1.1-1.1 2.3-1 4-1h2c3.5-1.7 6.9-2.3 11-3l4-1c3.4-1.4 7.1-3 11-4 1.5-.4 2.5-.5 4-1 1.4-.7 2-1.9 4-2h1q2.6-2.1 6-3h1c2.5-2 6-3.8 9-5l3-1c1.4-.9 2-2.5 4-3h1q1.4-2.2 4-3h1c7.3-7.7 19-13.2 27.7-19.3 8.8-6.1 18.2-15 28.3-18.7.4-.2 1 0 1 0q3.8-3.9 9-6c1.3 2.5-.5 6.7-1 10m-20 55c-.2.4 0 1 0 1-3.4 9.6-12.7 19-19 27a88 88 0 0 1-12 12 214 214 0 0 1-26.7 20.3c-9.5 5.8-20 14.8-31.3 16.7h-1a22 22 0 0 1-10 4h-1c-3.2 2.6-8.9 3.3-13 4h-1q-1.5 1.4-4 1h-1q-1.5 1.4-4 1h-1c-4.9 2.3-10.5 1-16 2-1 .2-2.5 1-4 1-6.2.4-12.8.3-19 0-1.8 0-3.8-.8-5-1h-4c-1.6 0-3-.9-4-1h-4c-3.9-.3-8.8-1.3-12-3h-1c-3.3-.5-7.5-1-10-3h-1c-3.6-.1-8.4-1.8-11-4h-1c-3.9-.6-8-2.6-11-5h-1c-16.1-3.8-32.2-18.9-45-29a200 200 0 0 1-40-51c17.7 11.5 35 25.5 52 38h1c4 1.6 12.8 5.4 15 9h1c4.6 1 10.4 4.1 14 7h1q2.5.3 4 2h1c3.3.5 8.6 2 11 4h1q3.5 0 6 2h1q2.5-.5 4 1h1q2.5-.5 4 1h1c3.8-.2 7.9 1 11 2h9c1.6 0 3 .8 4 1h32c1.2-.2 3.2-1 5-1h8a139 139 0 0 1 20-4l5-1c2-.7 3.7-1.5 6-2l4-1c1.5-.6 3-1.7 5-2h1q3-2.4 7-3h1q2.6-2.1 6-3h1c11.7-9.4 27.6-14.6 39-25 11.6-10.3 25-18.5 37-28a15 15 0 0 1-5 10Z"
|
||||
/>
|
||||
</svg>
|
||||
);
|
||||
};
|
||||
|
||||
export const baseOptions: BaseLayoutProps = {
|
||||
githubUrl: "https://github.com/dokploy/dokploy",
|
||||
nav: {
|
||||
url: "/get-started/introduction",
|
||||
title: (
|
||||
<>
|
||||
<Logo />
|
||||
<span className="text-foreground">Dokploy</span>
|
||||
</>
|
||||
),
|
||||
},
|
||||
links: [
|
||||
{
|
||||
text: "Website",
|
||||
url: "https://dokploy.com",
|
||||
active: "nested-url",
|
||||
icon: <GlobeIcon />,
|
||||
},
|
||||
{
|
||||
text: "Discord",
|
||||
url: "https://discord.com/invite/2tBnJ3jDJc",
|
||||
active: "nested-url",
|
||||
icon: (
|
||||
<>
|
||||
<svg
|
||||
role="img"
|
||||
className="size-6 "
|
||||
fill="currentColor"
|
||||
viewBox="0 0 24 24"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path d="M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z" />
|
||||
</svg>
|
||||
</>
|
||||
),
|
||||
},
|
||||
{
|
||||
text: "Support",
|
||||
url: "https://opencollective.com/dokploy",
|
||||
active: "nested-url",
|
||||
icon: (
|
||||
<>
|
||||
<HeartIcon fill="currentColor" />
|
||||
</>
|
||||
),
|
||||
},
|
||||
],
|
||||
};
|
||||
11
apps/docs/app/robots.ts
Normal file
11
apps/docs/app/robots.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
import type { MetadataRoute } from "next";
|
||||
|
||||
export default function robots(): MetadataRoute.Robots {
|
||||
return {
|
||||
rules: {
|
||||
userAgent: "*",
|
||||
allow: "/",
|
||||
},
|
||||
sitemap: "https://docs.dokploy.com/sitemap.xml",
|
||||
};
|
||||
}
|
||||
18
apps/docs/app/sitemap.ts
Normal file
18
apps/docs/app/sitemap.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import { url } from "@/utils/metadata";
|
||||
import type { MetadataRoute } from "next";
|
||||
import { getPages } from "./source";
|
||||
|
||||
export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
|
||||
return [
|
||||
...getPages().map<MetadataRoute.Sitemap[number]>((page) => {
|
||||
return {
|
||||
url: url(`/en${page.url}`),
|
||||
lastModified: page.data.exports.lastModified
|
||||
? new Date(page.data.exports.lastModified)
|
||||
: undefined,
|
||||
changeFrequency: "weekly",
|
||||
priority: page.url === "/docs/core/get-started/introduction" ? 1 : 0.8,
|
||||
};
|
||||
}),
|
||||
];
|
||||
}
|
||||
10
apps/docs/app/source.ts
Normal file
10
apps/docs/app/source.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import { map } from "@/.map";
|
||||
import { languages } from "@/i18n";
|
||||
import { loader } from "fumadocs-core/source";
|
||||
import { createMDXSource } from "fumadocs-mdx";
|
||||
|
||||
export const { getPage, getPages, pageTree, getLanguages } = loader({
|
||||
baseUrl: "/",
|
||||
languages,
|
||||
source: createMDXSource(map),
|
||||
});
|
||||
17
apps/docs/components/analytics/google.tsx
Normal file
17
apps/docs/components/analytics/google.tsx
Normal file
@@ -0,0 +1,17 @@
|
||||
"use client";
|
||||
|
||||
import { useEffect } from "react";
|
||||
import initializeGA from ".";
|
||||
|
||||
export default function GoogleAnalytics() {
|
||||
useEffect(() => {
|
||||
// @ts-ignore
|
||||
if (!window.GA_INITIALIZED) {
|
||||
initializeGA();
|
||||
// @ts-ignore
|
||||
window.GA_INITIALIZED = true;
|
||||
}
|
||||
}, []);
|
||||
|
||||
return null;
|
||||
}
|
||||
30
apps/docs/components/analytics/index.ts
Normal file
30
apps/docs/components/analytics/index.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
"use client";
|
||||
|
||||
import ReactGA from "react-ga4";
|
||||
|
||||
const initializeGA = () => {
|
||||
// Replace with your Measurement ID
|
||||
// It ideally comes from an environment variable
|
||||
ReactGA.initialize("G-HZ71HG38HN");
|
||||
|
||||
// Don't forget to remove the console.log() statements
|
||||
// when you are done
|
||||
};
|
||||
|
||||
interface Props {
|
||||
category: string;
|
||||
action: string;
|
||||
label: string;
|
||||
}
|
||||
const trackGAEvent = ({ category, action, label }: Props) => {
|
||||
console.log("GA event:", category, ":", action, ":", label);
|
||||
// Send GA4 Event
|
||||
ReactGA.event({
|
||||
category: category,
|
||||
action: action,
|
||||
label: label,
|
||||
});
|
||||
};
|
||||
|
||||
export default initializeGA;
|
||||
export { initializeGA, trackGAEvent };
|
||||
99
apps/docs/content/docs/api/index.mdx
Normal file
99
apps/docs/content/docs/api/index.mdx
Normal file
@@ -0,0 +1,99 @@
|
||||
---
|
||||
title: Dokploy API
|
||||
description: How to interact with the dokploy API for administrators and users
|
||||
---
|
||||
|
||||
In some cases, you may need to interact directly with the dokploy API. Here's how both administrators and users can do this.
|
||||
|
||||
## For Administrators
|
||||
|
||||
1. Access the Swagger UI by navigating to `your-vps-ip:3000/swagger`.
|
||||
2. Use the Swagger interface to interact with the API.
|
||||
3. By default, access to the Swagger UI is restricted, and only authenticated administrators can access the API.
|
||||
|
||||
## For Users
|
||||
|
||||
1. By default, users do not have direct access to the API.
|
||||
2. Administrators can grant users access to:
|
||||
- Generate access tokens
|
||||
- Access the Swagger UI
|
||||
3. If you need access, contact your administrator.
|
||||
|
||||
Note: The API provides advanced functionalities. Make sure you understand the operations you're performing to avoid unintended changes to the system.
|
||||
|
||||
## Usage
|
||||
|
||||
By default the OpenApi base url is `http://localhost:3000/api`, you need to replace with the ip of your dokploy instance or the domain name.
|
||||
|
||||
### Authentication
|
||||
|
||||
The API uses JWT tokens for authentication. You can generate a token by going to the `/settings/profile` page and go to API/CLI Section and generate the token.
|
||||
|
||||
Let's take a example of authenticated request:
|
||||
```bash
|
||||
curl -X 'GET' \
|
||||
'https://dokploy.com/api/project.all' \
|
||||
-H 'accept: application/json'
|
||||
-H 'Authorization: Bearer YOUR-TOKEN'
|
||||
```
|
||||
then you will get the something like this:
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"projectId": "klZKsyw5g-QT_jrWJ5T-w",
|
||||
"name": "Random",
|
||||
"description": "",
|
||||
"createdAt": "2024-06-19T15:05:58.785Z",
|
||||
"adminId": "_WrKZbs7iJAA3p4N2Yfyu",
|
||||
"applications": [],
|
||||
"mariadb": [],
|
||||
"mongo": [],
|
||||
"mysql": [
|
||||
{
|
||||
"mysqlId": "N3cudwO46TiDXzBm4SaQ1",
|
||||
"name": "mysql",
|
||||
"appName": "random-mysql-924715",
|
||||
"description": "",
|
||||
"databaseName": "mysql",
|
||||
"databaseUser": "mysql",
|
||||
"databasePassword": "h13BzO6y3KYSHaQg",
|
||||
"databaseRootPassword": "mM1b7JeoPA7jArxj",
|
||||
"dockerImage": "mysql:8",
|
||||
"command": null,
|
||||
"env": null,
|
||||
"memoryReservation": null,
|
||||
"memoryLimit": null,
|
||||
"cpuReservation": null,
|
||||
"cpuLimit": null,
|
||||
"externalPort": null,
|
||||
"applicationStatus": "done",
|
||||
"createdAt": "2024-06-24T01:55:40.378Z",
|
||||
"projectId": "klZKsyw5g-QT_jrWJ5T-w"
|
||||
}
|
||||
],
|
||||
"postgres": [],
|
||||
"redis": [
|
||||
{
|
||||
"redisId": "TtFK5S4QFaIjaNGOb8Ku-",
|
||||
"name": "redis",
|
||||
"appName": "random-redis-7eec62",
|
||||
"description": "",
|
||||
"databasePassword": "Yvb8gqClfomjcue8",
|
||||
"dockerImage": "redis:7",
|
||||
"command": null,
|
||||
"env": null,
|
||||
"memoryReservation": null,
|
||||
"memoryLimit": null,
|
||||
"cpuReservation": null,
|
||||
"cpuLimit": null,
|
||||
"externalPort": 6379,
|
||||
"createdAt": "2024-06-26T06:43:20.570Z",
|
||||
"applicationStatus": "done",
|
||||
"projectId": "klZKsyw5g-QT_jrWJ5T-w"
|
||||
}
|
||||
],
|
||||
"compose": []
|
||||
},
|
||||
]
|
||||
```
|
||||
33
apps/docs/content/docs/api/meta.json
Normal file
33
apps/docs/content/docs/api/meta.json
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"title": "CLI",
|
||||
"root": true,
|
||||
"pages": [
|
||||
"---Get Started---",
|
||||
"index",
|
||||
"---API---",
|
||||
"reference-api/reference-admin",
|
||||
"reference-api/reference-application",
|
||||
"reference-api/reference-auth",
|
||||
"reference-api/reference-backup",
|
||||
"reference-api/reference-certificates",
|
||||
"reference-api/reference-cluster",
|
||||
"reference-api/reference-compose",
|
||||
"reference-api/reference-deployment",
|
||||
"reference-api/reference-destination",
|
||||
"reference-api/reference-docker",
|
||||
"reference-api/reference-domain",
|
||||
"reference-api/reference-mariadb",
|
||||
"reference-api/reference-mongo",
|
||||
"reference-api/reference-mounts",
|
||||
"reference-api/reference-mysql",
|
||||
"reference-api/reference-port",
|
||||
"reference-api/reference-postgres",
|
||||
"reference-api/reference-project",
|
||||
"reference-api/reference-redirects",
|
||||
"reference-api/reference-redis",
|
||||
"reference-api/reference-registry",
|
||||
"reference-api/reference-security",
|
||||
"reference-api/reference-settings",
|
||||
"reference-api/reference-user"
|
||||
]
|
||||
}
|
||||
933
apps/docs/content/docs/api/reference-api/reference-admin.mdx
Normal file
933
apps/docs/content/docs/api/reference-api/reference-admin.mdx
Normal file
@@ -0,0 +1,933 @@
|
||||
---
|
||||
title: admin
|
||||
full: true
|
||||
---
|
||||
|
||||
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
|
||||
|
||||
<Root>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/admin.one"}>
|
||||
|
||||
## admin-one
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/admin.one"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/admin.one", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/admin.createUserInvitation"}>
|
||||
|
||||
## admin-createUserInvitation
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"email"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Format: `"email"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/admin.createUserInvitation" \
|
||||
-d '{
|
||||
"email": "user@example.com"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/admin.createUserInvitation", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/admin.removeUser"}>
|
||||
|
||||
## admin-removeUser
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"authId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/admin.removeUser" \
|
||||
-d '{
|
||||
"authId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/admin.removeUser", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/admin.getUserByToken"}>
|
||||
|
||||
## admin-getUserByToken
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"token"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/admin.getUserByToken?token=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/admin.getUserByToken?token=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/admin.assignPermissions"}>
|
||||
|
||||
## admin-assignPermissions
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"userId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"canCreateProjects"} type={"boolean"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"canCreateServices"} type={"boolean"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"canDeleteProjects"} type={"boolean"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"canDeleteServices"} type={"boolean"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"accesedProjects"} type={"array of string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"accesedServices"} type={"array of string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"canAccessToTraefikFiles"} type={"boolean"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"canAccessToDocker"} type={"boolean"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"canAccessToAPI"} type={"boolean"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/admin.assignPermissions" \
|
||||
-d '{
|
||||
"userId": "string",
|
||||
"canCreateProjects": true,
|
||||
"canCreateServices": true,
|
||||
"canDeleteProjects": true,
|
||||
"canDeleteServices": true,
|
||||
"accesedProjects": [
|
||||
"string"
|
||||
],
|
||||
"accesedServices": [
|
||||
"string"
|
||||
],
|
||||
"canAccessToTraefikFiles": true,
|
||||
"canAccessToDocker": true,
|
||||
"canAccessToAPI": true
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/admin.assignPermissions", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/admin.cleanGithubApp"}>
|
||||
|
||||
## admin-cleanGithubApp
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/admin.cleanGithubApp"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/admin.cleanGithubApp", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/admin.getRepositories"}>
|
||||
|
||||
## admin-getRepositories
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/admin.getRepositories"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/admin.getRepositories", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/admin.getBranches"}>
|
||||
|
||||
## admin-getBranches
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"repo"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"owner"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/admin.getBranches?repo=string&owner=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/admin.getBranches?repo=string&owner=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/admin.haveGithubConfigured"}>
|
||||
|
||||
## admin-haveGithubConfigured
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/admin.haveGithubConfigured"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/admin.haveGithubConfigured", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
</Root>
|
||||
2800
apps/docs/content/docs/api/reference-api/reference-application.mdx
Normal file
2800
apps/docs/content/docs/api/reference-api/reference-application.mdx
Normal file
File diff suppressed because it is too large
Load Diff
1487
apps/docs/content/docs/api/reference-api/reference-auth.mdx
Normal file
1487
apps/docs/content/docs/api/reference-api/reference-auth.mdx
Normal file
File diff suppressed because it is too large
Load Diff
887
apps/docs/content/docs/api/reference-api/reference-backup.mdx
Normal file
887
apps/docs/content/docs/api/reference-api/reference-backup.mdx
Normal file
@@ -0,0 +1,887 @@
|
||||
---
|
||||
title: backup
|
||||
full: true
|
||||
---
|
||||
|
||||
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
|
||||
|
||||
<Root>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/backup.create"}>
|
||||
|
||||
## backup-create
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"schedule"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"enabled"} type={"boolean | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"prefix"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"destinationId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"database"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"mariadbId"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"mysqlId"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"postgresId"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"mongoId"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"databaseType"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"postgres" | "mariadb" | "mysql" | "mongo"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/backup.create" \
|
||||
-d '{
|
||||
"schedule": "string",
|
||||
"enabled": true,
|
||||
"prefix": "string",
|
||||
"destinationId": "string",
|
||||
"database": "string",
|
||||
"mariadbId": "string",
|
||||
"mysqlId": "string",
|
||||
"postgresId": "string",
|
||||
"mongoId": "string",
|
||||
"databaseType": "postgres"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/backup.create", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/backup.one"}>
|
||||
|
||||
## backup-one
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"backupId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/backup.one?backupId=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/backup.one?backupId=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/backup.update"}>
|
||||
|
||||
## backup-update
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"schedule"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"enabled"} type={"boolean | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"prefix"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"backupId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"destinationId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"database"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/backup.update" \
|
||||
-d '{
|
||||
"schedule": "string",
|
||||
"enabled": true,
|
||||
"prefix": "string",
|
||||
"backupId": "string",
|
||||
"destinationId": "string",
|
||||
"database": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/backup.update", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/backup.remove"}>
|
||||
|
||||
## backup-remove
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"backupId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/backup.remove" \
|
||||
-d '{
|
||||
"backupId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/backup.remove", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/backup.manualBackupPostgres"}>
|
||||
|
||||
## backup-manualBackupPostgres
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"backupId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/backup.manualBackupPostgres" \
|
||||
-d '{
|
||||
"backupId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/backup.manualBackupPostgres", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/backup.manualBackupMySql"}>
|
||||
|
||||
## backup-manualBackupMySql
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"backupId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/backup.manualBackupMySql" \
|
||||
-d '{
|
||||
"backupId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/backup.manualBackupMySql", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/backup.manualBackupMariadb"}>
|
||||
|
||||
## backup-manualBackupMariadb
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"backupId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/backup.manualBackupMariadb" \
|
||||
-d '{
|
||||
"backupId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/backup.manualBackupMariadb", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/backup.manualBackupMongo"}>
|
||||
|
||||
## backup-manualBackupMongo
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"backupId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/backup.manualBackupMongo" \
|
||||
-d '{
|
||||
"backupId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/backup.manualBackupMongo", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
</Root>
|
||||
@@ -0,0 +1,433 @@
|
||||
---
|
||||
title: certificates
|
||||
full: true
|
||||
---
|
||||
|
||||
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
|
||||
|
||||
<Root>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/certificates.create"}>
|
||||
|
||||
## certificates-create
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"certificateId"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"certificateData"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"privateKey"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"certificatePath"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"autoRenew"} type={"boolean | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/certificates.create" \
|
||||
-d '{
|
||||
"certificateId": "string",
|
||||
"name": "string",
|
||||
"certificateData": "string",
|
||||
"privateKey": "string",
|
||||
"certificatePath": "string",
|
||||
"autoRenew": true
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/certificates.create", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/certificates.one"}>
|
||||
|
||||
## certificates-one
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"certificateId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/certificates.one?certificateId=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/certificates.one?certificateId=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/certificates.remove"}>
|
||||
|
||||
## certificates-remove
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"certificateId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/certificates.remove" \
|
||||
-d '{
|
||||
"certificateId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/certificates.remove", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/certificates.all"}>
|
||||
|
||||
## certificates-all
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/certificates.all"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/certificates.all", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
</Root>
|
||||
383
apps/docs/content/docs/api/reference-api/reference-cluster.mdx
Normal file
383
apps/docs/content/docs/api/reference-api/reference-cluster.mdx
Normal file
@@ -0,0 +1,383 @@
|
||||
---
|
||||
title: cluster
|
||||
full: true
|
||||
---
|
||||
|
||||
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
|
||||
|
||||
<Root>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/cluster.getNodes"}>
|
||||
|
||||
## cluster-getNodes
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/cluster.getNodes"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/cluster.getNodes", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/cluster.removeWorker"}>
|
||||
|
||||
## cluster-removeWorker
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"nodeId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/cluster.removeWorker" \
|
||||
-d '{
|
||||
"nodeId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/cluster.removeWorker", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/cluster.addWorker"}>
|
||||
|
||||
## cluster-addWorker
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/cluster.addWorker"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/cluster.addWorker", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/cluster.addManager"}>
|
||||
|
||||
## cluster-addManager
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/cluster.addManager"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/cluster.addManager", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
</Root>
|
||||
1762
apps/docs/content/docs/api/reference-api/reference-compose.mdx
Normal file
1762
apps/docs/content/docs/api/reference-api/reference-compose.mdx
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,208 @@
|
||||
---
|
||||
title: deployment
|
||||
full: true
|
||||
---
|
||||
|
||||
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
|
||||
|
||||
<Root>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/deployment.all"}>
|
||||
|
||||
## deployment-all
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"applicationId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/deployment.all?applicationId=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/deployment.all?applicationId=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/deployment.allByCompose"}>
|
||||
|
||||
## deployment-allByCompose
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"composeId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/deployment.allByCompose?composeId=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/deployment.allByCompose?composeId=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
</Root>
|
||||
@@ -0,0 +1,684 @@
|
||||
---
|
||||
title: destination
|
||||
full: true
|
||||
---
|
||||
|
||||
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
|
||||
|
||||
<Root>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/destination.create"}>
|
||||
|
||||
## destination-create
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"accessKey"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"bucket"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"region"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"endpoint"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"secretAccessKey"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/destination.create" \
|
||||
-d '{
|
||||
"name": "string",
|
||||
"accessKey": "string",
|
||||
"bucket": "string",
|
||||
"region": "string",
|
||||
"endpoint": "string",
|
||||
"secretAccessKey": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/destination.create", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/destination.testConnection"}>
|
||||
|
||||
## destination-testConnection
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"accessKey"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"bucket"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"region"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"endpoint"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"secretAccessKey"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/destination.testConnection" \
|
||||
-d '{
|
||||
"name": "string",
|
||||
"accessKey": "string",
|
||||
"bucket": "string",
|
||||
"region": "string",
|
||||
"endpoint": "string",
|
||||
"secretAccessKey": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/destination.testConnection", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/destination.one"}>
|
||||
|
||||
## destination-one
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"destinationId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/destination.one?destinationId=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/destination.one?destinationId=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/destination.all"}>
|
||||
|
||||
## destination-all
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/destination.all"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/destination.all", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/destination.remove"}>
|
||||
|
||||
## destination-remove
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"destinationId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/destination.remove" \
|
||||
-d '{
|
||||
"destinationId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/destination.remove", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/destination.update"}>
|
||||
|
||||
## destination-update
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"accessKey"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"bucket"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"region"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"endpoint"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"secretAccessKey"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"destinationId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/destination.update" \
|
||||
-d '{
|
||||
"name": "string",
|
||||
"accessKey": "string",
|
||||
"bucket": "string",
|
||||
"region": "string",
|
||||
"endpoint": "string",
|
||||
"secretAccessKey": "string",
|
||||
"destinationId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/destination.update", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
</Root>
|
||||
398
apps/docs/content/docs/api/reference-api/reference-docker.mdx
Normal file
398
apps/docs/content/docs/api/reference-api/reference-docker.mdx
Normal file
@@ -0,0 +1,398 @@
|
||||
---
|
||||
title: docker
|
||||
full: true
|
||||
---
|
||||
|
||||
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
|
||||
|
||||
<Root>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/docker.getContainers"}>
|
||||
|
||||
## docker-getContainers
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/docker.getContainers"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/docker.getContainers", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/docker.getConfig"}>
|
||||
|
||||
## docker-getConfig
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"containerId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/docker.getConfig?containerId=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/docker.getConfig?containerId=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/docker.getContainersByAppNameMatch"}>
|
||||
|
||||
## docker-getContainersByAppNameMatch
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"appName"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/docker.getContainersByAppNameMatch?appName=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/docker.getContainersByAppNameMatch?appName=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/docker.getContainersByAppLabel"}>
|
||||
|
||||
## docker-getContainersByAppLabel
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"appName"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/docker.getContainersByAppLabel?appName=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/docker.getContainersByAppLabel?appName=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
</Root>
|
||||
772
apps/docs/content/docs/api/reference-api/reference-domain.mdx
Normal file
772
apps/docs/content/docs/api/reference-api/reference-domain.mdx
Normal file
@@ -0,0 +1,772 @@
|
||||
---
|
||||
title: domain
|
||||
full: true
|
||||
---
|
||||
|
||||
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
|
||||
|
||||
<Root>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/domain.create"}>
|
||||
|
||||
## domain-create
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"host"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"path"} type={"string | null"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"port"} type={"number | null"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"https"} type={"boolean"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"applicationId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"certificateType"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"letsencrypt" | "none"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/domain.create" \
|
||||
-d '{
|
||||
"host": "string",
|
||||
"path": "string",
|
||||
"port": 0,
|
||||
"https": true,
|
||||
"applicationId": "string",
|
||||
"certificateType": "letsencrypt"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/domain.create", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/domain.byApplicationId"}>
|
||||
|
||||
## domain-byApplicationId
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"applicationId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/domain.byApplicationId?applicationId=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/domain.byApplicationId?applicationId=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/domain.generateDomain"}>
|
||||
|
||||
## domain-generateDomain
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"applicationId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/domain.generateDomain" \
|
||||
-d '{
|
||||
"applicationId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/domain.generateDomain", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/domain.generateWildcard"}>
|
||||
|
||||
## domain-generateWildcard
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"applicationId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/domain.generateWildcard" \
|
||||
-d '{
|
||||
"applicationId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/domain.generateWildcard", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/domain.update"}>
|
||||
|
||||
## domain-update
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"domainId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"host"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"path"} type={"string | null"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"port"} type={"number | null"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"https"} type={"boolean"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"certificateType"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"letsencrypt" | "none"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/domain.update" \
|
||||
-d '{
|
||||
"domainId": "string",
|
||||
"host": "string",
|
||||
"path": "string",
|
||||
"port": 0,
|
||||
"https": true,
|
||||
"certificateType": "letsencrypt"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/domain.update", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/domain.one"}>
|
||||
|
||||
## domain-one
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"domainId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/domain.one?domainId=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/domain.one?domainId=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/domain.delete"}>
|
||||
|
||||
## domain-delete
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"domainId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/domain.delete" \
|
||||
-d '{
|
||||
"domainId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/domain.delete", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
</Root>
|
||||
1285
apps/docs/content/docs/api/reference-api/reference-mariadb.mdx
Normal file
1285
apps/docs/content/docs/api/reference-api/reference-mariadb.mdx
Normal file
File diff suppressed because it is too large
Load Diff
1261
apps/docs/content/docs/api/reference-api/reference-mongo.mdx
Normal file
1261
apps/docs/content/docs/api/reference-api/reference-mongo.mdx
Normal file
File diff suppressed because it is too large
Load Diff
522
apps/docs/content/docs/api/reference-api/reference-mounts.mdx
Normal file
522
apps/docs/content/docs/api/reference-api/reference-mounts.mdx
Normal file
@@ -0,0 +1,522 @@
|
||||
---
|
||||
title: mounts
|
||||
full: true
|
||||
---
|
||||
|
||||
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
|
||||
|
||||
<Root>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/mounts.create"}>
|
||||
|
||||
## mounts-create
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"type"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"bind" | "volume" | "file"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"hostPath"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"volumeName"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"content"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"mountPath"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"serviceType"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Default: `"application"`</span>
|
||||
|
||||
<span>Value in: `"application" | "postgres" | "mysql" | "mariadb" | "mongo" | "redis" | "compose"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"serviceId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/mounts.create" \
|
||||
-d '{
|
||||
"type": "bind",
|
||||
"hostPath": "string",
|
||||
"volumeName": "string",
|
||||
"content": "string",
|
||||
"mountPath": "string",
|
||||
"serviceType": "application",
|
||||
"serviceId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/mounts.create", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/mounts.remove"}>
|
||||
|
||||
## mounts-remove
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"mountId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/mounts.remove" \
|
||||
-d '{
|
||||
"mountId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/mounts.remove", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/mounts.one"}>
|
||||
|
||||
## mounts-one
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"mountId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/mounts.one?mountId=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/mounts.one?mountId=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/mounts.update"}>
|
||||
|
||||
## mounts-update
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"mountId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"type"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"bind" | "volume" | "file"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"hostPath"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"volumeName"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"content"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"serviceType"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Default: `"application"`</span>
|
||||
|
||||
<span>Value in: `"application" | "postgres" | "mysql" | "mariadb" | "mongo" | "redis" | "compose"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"mountPath"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"applicationId"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"postgresId"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"mariadbId"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"mongoId"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"mysqlId"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"redisId"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"composeId"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/mounts.update" \
|
||||
-d '{
|
||||
"mountId": "string",
|
||||
"type": "bind",
|
||||
"hostPath": "string",
|
||||
"volumeName": "string",
|
||||
"content": "string",
|
||||
"serviceType": "application",
|
||||
"mountPath": "string",
|
||||
"applicationId": "string",
|
||||
"postgresId": "string",
|
||||
"mariadbId": "string",
|
||||
"mongoId": "string",
|
||||
"mysqlId": "string",
|
||||
"redisId": "string",
|
||||
"composeId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/mounts.update", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
</Root>
|
||||
1285
apps/docs/content/docs/api/reference-api/reference-mysql.mdx
Normal file
1285
apps/docs/content/docs/api/reference-api/reference-mysql.mdx
Normal file
File diff suppressed because it is too large
Load Diff
453
apps/docs/content/docs/api/reference-api/reference-port.mdx
Normal file
453
apps/docs/content/docs/api/reference-api/reference-port.mdx
Normal file
@@ -0,0 +1,453 @@
|
||||
---
|
||||
title: port
|
||||
full: true
|
||||
---
|
||||
|
||||
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
|
||||
|
||||
<Root>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/port.create"}>
|
||||
|
||||
## port-create
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"publishedPort"} type={"number"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"targetPort"} type={"number"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"protocol"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Default: `"tcp"`</span>
|
||||
|
||||
<span>Value in: `"tcp" | "udp"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"applicationId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/port.create" \
|
||||
-d '{
|
||||
"publishedPort": 0,
|
||||
"targetPort": 0,
|
||||
"protocol": "tcp",
|
||||
"applicationId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/port.create", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/port.one"}>
|
||||
|
||||
## port-one
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"portId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/port.one?portId=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/port.one?portId=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/port.delete"}>
|
||||
|
||||
## port-delete
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"portId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/port.delete" \
|
||||
-d '{
|
||||
"portId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/port.delete", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/port.update"}>
|
||||
|
||||
## port-update
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"portId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"publishedPort"} type={"number"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"targetPort"} type={"number"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"protocol"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Default: `"tcp"`</span>
|
||||
|
||||
<span>Value in: `"tcp" | "udp"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/port.update" \
|
||||
-d '{
|
||||
"portId": "string",
|
||||
"publishedPort": 0,
|
||||
"targetPort": 0,
|
||||
"protocol": "tcp"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/port.update", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
</Root>
|
||||
1269
apps/docs/content/docs/api/reference-api/reference-postgres.mdx
Normal file
1269
apps/docs/content/docs/api/reference-api/reference-postgres.mdx
Normal file
File diff suppressed because it is too large
Load Diff
523
apps/docs/content/docs/api/reference-api/reference-project.mdx
Normal file
523
apps/docs/content/docs/api/reference-api/reference-project.mdx
Normal file
@@ -0,0 +1,523 @@
|
||||
---
|
||||
title: project
|
||||
full: true
|
||||
---
|
||||
|
||||
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
|
||||
|
||||
<Root>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/project.create"}>
|
||||
|
||||
## project-create
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"description"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/project.create" \
|
||||
-d '{
|
||||
"name": "string",
|
||||
"description": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/project.create", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/project.one"}>
|
||||
|
||||
## project-one
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"projectId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/project.one?projectId=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/project.one?projectId=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/project.all"}>
|
||||
|
||||
## project-all
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/project.all"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/project.all", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/project.remove"}>
|
||||
|
||||
## project-remove
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"projectId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/project.remove" \
|
||||
-d '{
|
||||
"projectId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/project.remove", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/project.update"}>
|
||||
|
||||
## project-update
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"description"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"projectId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/project.update" \
|
||||
-d '{
|
||||
"name": "string",
|
||||
"description": "string",
|
||||
"projectId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/project.update", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
</Root>
|
||||
451
apps/docs/content/docs/api/reference-api/reference-redirects.mdx
Normal file
451
apps/docs/content/docs/api/reference-api/reference-redirects.mdx
Normal file
@@ -0,0 +1,451 @@
|
||||
---
|
||||
title: redirects
|
||||
full: true
|
||||
---
|
||||
|
||||
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
|
||||
|
||||
<Root>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/redirects.create"}>
|
||||
|
||||
## redirects-create
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"regex"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"replacement"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"permanent"} type={"boolean"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"applicationId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/redirects.create" \
|
||||
-d '{
|
||||
"regex": "string",
|
||||
"replacement": "string",
|
||||
"permanent": true,
|
||||
"applicationId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/redirects.create", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/redirects.one"}>
|
||||
|
||||
## redirects-one
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"redirectId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/redirects.one?redirectId=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/redirects.one?redirectId=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/redirects.delete"}>
|
||||
|
||||
## redirects-delete
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"redirectId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/redirects.delete" \
|
||||
-d '{
|
||||
"redirectId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/redirects.delete", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/redirects.update"}>
|
||||
|
||||
## redirects-update
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"redirectId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"regex"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"replacement"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"permanent"} type={"boolean"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/redirects.update" \
|
||||
-d '{
|
||||
"redirectId": "string",
|
||||
"regex": "string",
|
||||
"replacement": "string",
|
||||
"permanent": true
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/redirects.update", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
</Root>
|
||||
1247
apps/docs/content/docs/api/reference-api/reference-redis.mdx
Normal file
1247
apps/docs/content/docs/api/reference-api/reference-redis.mdx
Normal file
File diff suppressed because it is too large
Load Diff
838
apps/docs/content/docs/api/reference-api/reference-registry.mdx
Normal file
838
apps/docs/content/docs/api/reference-api/reference-registry.mdx
Normal file
@@ -0,0 +1,838 @@
|
||||
---
|
||||
title: registry
|
||||
full: true
|
||||
---
|
||||
|
||||
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
|
||||
|
||||
<Root>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/registry.create"}>
|
||||
|
||||
## registry-create
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"registryName"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"username"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"password"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"registryUrl"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"registryType"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"selfHosted" | "cloud"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"imagePrefix"} type={"string | null"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/registry.create" \
|
||||
-d '{
|
||||
"registryName": "string",
|
||||
"username": "string",
|
||||
"password": "string",
|
||||
"registryUrl": "string",
|
||||
"registryType": "selfHosted",
|
||||
"imagePrefix": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/registry.create", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/registry.remove"}>
|
||||
|
||||
## registry-remove
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"registryId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/registry.remove" \
|
||||
-d '{
|
||||
"registryId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/registry.remove", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/registry.update"}>
|
||||
|
||||
## registry-update
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"registryId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"registryName"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"imagePrefix"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"username"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"password"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"registryUrl"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"createdAt"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"registryType"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"selfHosted" | "cloud"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"adminId"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/registry.update" \
|
||||
-d '{
|
||||
"registryId": "string",
|
||||
"registryName": "string",
|
||||
"imagePrefix": "string",
|
||||
"username": "string",
|
||||
"password": "string",
|
||||
"registryUrl": "string",
|
||||
"createdAt": "string",
|
||||
"registryType": "selfHosted",
|
||||
"adminId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/registry.update", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/registry.all"}>
|
||||
|
||||
## registry-all
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/registry.all"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/registry.all", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/registry.one"}>
|
||||
|
||||
## registry-one
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"registryId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/registry.one?registryId=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/registry.one?registryId=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/registry.testRegistry"}>
|
||||
|
||||
## registry-testRegistry
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"registryName"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"username"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"password"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"registryUrl"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"registryType"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"selfHosted" | "cloud"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"imagePrefix"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/registry.testRegistry" \
|
||||
-d '{
|
||||
"registryName": "string",
|
||||
"username": "string",
|
||||
"password": "string",
|
||||
"registryUrl": "string",
|
||||
"registryType": "selfHosted",
|
||||
"imagePrefix": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/registry.testRegistry", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/registry.enableSelfHostedRegistry"}>
|
||||
|
||||
## registry-enableSelfHostedRegistry
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"registryUrl"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"username"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"password"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/registry.enableSelfHostedRegistry" \
|
||||
-d '{
|
||||
"registryUrl": "string",
|
||||
"username": "string",
|
||||
"password": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/registry.enableSelfHostedRegistry", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
</Root>
|
||||
441
apps/docs/content/docs/api/reference-api/reference-security.mdx
Normal file
441
apps/docs/content/docs/api/reference-api/reference-security.mdx
Normal file
@@ -0,0 +1,441 @@
|
||||
---
|
||||
title: security
|
||||
full: true
|
||||
---
|
||||
|
||||
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
|
||||
|
||||
<Root>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/security.create"}>
|
||||
|
||||
## security-create
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"applicationId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"username"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"password"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/security.create" \
|
||||
-d '{
|
||||
"applicationId": "string",
|
||||
"username": "string",
|
||||
"password": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/security.create", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/security.one"}>
|
||||
|
||||
## security-one
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"securityId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/security.one?securityId=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/security.one?securityId=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/security.delete"}>
|
||||
|
||||
## security-delete
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"securityId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/security.delete" \
|
||||
-d '{
|
||||
"securityId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/security.delete", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/security.update"}>
|
||||
|
||||
## security-update
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"securityId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"username"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"password"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/security.update" \
|
||||
-d '{
|
||||
"securityId": "string",
|
||||
"username": "string",
|
||||
"password": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/security.update", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
</Root>
|
||||
2476
apps/docs/content/docs/api/reference-api/reference-settings.mdx
Normal file
2476
apps/docs/content/docs/api/reference-api/reference-settings.mdx
Normal file
File diff suppressed because it is too large
Load Diff
299
apps/docs/content/docs/api/reference-api/reference-user.mdx
Normal file
299
apps/docs/content/docs/api/reference-api/reference-user.mdx
Normal file
@@ -0,0 +1,299 @@
|
||||
---
|
||||
title: user
|
||||
full: true
|
||||
---
|
||||
|
||||
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
|
||||
|
||||
<Root>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/user.all"}>
|
||||
|
||||
## user-all
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/user.all"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/user.all", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/user.byAuthId"}>
|
||||
|
||||
## user-byAuthId
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"authId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/user.byAuthId?authId=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/user.byAuthId?authId=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/user.byUserId"}>
|
||||
|
||||
## user-byUserId
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"userId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/user.byUserId?userId=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/user.byUserId?userId=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
</Root>
|
||||
20
apps/docs/content/docs/cli/commands/application.mdx
Normal file
20
apps/docs/content/docs/cli/commands/application.mdx
Normal file
@@ -0,0 +1,20 @@
|
||||
---
|
||||
title: Application
|
||||
description: A guide to using the Dokploy CLI to manage applications
|
||||
---
|
||||
|
||||
|
||||
The Dokploy CLI can be used to create, deploy, and manage applications.
|
||||
|
||||
## Requirements
|
||||
|
||||
Is required to be already authenticated with the Dokploy CLI.
|
||||
|
||||
|
||||
## Commands
|
||||
|
||||
1. `dokploy app create` - Create a new application.
|
||||
2. `dokploy app delete` - Delete an application.
|
||||
3. `dokploy app deploy` - Deploy an application.
|
||||
4. `dokploy app stop` - Stop a running application.
|
||||
|
||||
29
apps/docs/content/docs/cli/commands/authentication.mdx
Normal file
29
apps/docs/content/docs/cli/commands/authentication.mdx
Normal file
@@ -0,0 +1,29 @@
|
||||
---
|
||||
title: Authentication
|
||||
description: A guide to authenticating with the Dokploy CLI
|
||||
---
|
||||
|
||||
The Dokploy CLI uses a token-based authentication system. To authenticate, you'll need to create an access token and store it securely.
|
||||
|
||||
## Creating an Access Token
|
||||
|
||||
To create an access token, first you need to have permissions if you are admin you don't need permissions.
|
||||
|
||||
by default access token never expires.
|
||||
|
||||
You can go to `dashboard/settings/profile` and click on the `Generate` button.
|
||||
|
||||
<ImageZoom src="/assets/cli/token.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
|
||||
|
||||
## Storing the Access Token
|
||||
|
||||
Dokploy when you create an access token automatically will generate a config.json with the access token and the server url.
|
||||
|
||||
|
||||
|
||||
## Commands
|
||||
|
||||
1. `dokploy authenticate` - Authenticate with the Dokploy CLI.
|
||||
2. `dokploy verify` - Verify if the access token is valid.
|
||||
|
||||
45
apps/docs/content/docs/cli/commands/databases.mdx
Normal file
45
apps/docs/content/docs/cli/commands/databases.mdx
Normal file
@@ -0,0 +1,45 @@
|
||||
---
|
||||
title: Databases
|
||||
description: A guide to using the Dokploy CLI to manage databases
|
||||
---
|
||||
|
||||
The Dokploy CLI can be used to create, deploy, and manage databases.
|
||||
|
||||
## Requirements
|
||||
|
||||
Is required to be already authenticated with the Dokploy CLI.
|
||||
|
||||
|
||||
## Commands
|
||||
|
||||
### MariaDB
|
||||
|
||||
1. `dokploy database mariadb create` - Create a new mariadb database.
|
||||
2. `dokploy database mariadb delete` - Delete an mariadb database.
|
||||
3. `dokploy database mariadb deploy` - Deploy a mariadb database.
|
||||
4. `dokploy database mariadb stop` - Stop a running mariadb database.
|
||||
|
||||
### PostgreSQL
|
||||
1. `dokploy database postgresql create` - Create a new postgresql database.
|
||||
2. `dokploy database postgresql delete` - Delete an postgresql database.
|
||||
3. `dokploy database postgresql deploy` - Deploy a postgresql database.
|
||||
4. `dokploy database postgresql stop` - Stop a running postgresql database.
|
||||
|
||||
### MySQL
|
||||
1. `dokploy database mysql create` - Create a new mysql database.
|
||||
2. `dokploy database mysql delete` - Delete an mysql database.
|
||||
3. `dokploy database mysql deploy` - Deploy a mysql database.
|
||||
4. `dokploy database mysql stop` - Stop a running mysql database.
|
||||
|
||||
### MongoDB
|
||||
1. `dokploy database mongodb create` - Create a new mongodb database.
|
||||
2. `dokploy database mongodb delete` - Delete an mongodb database.
|
||||
3. `dokploy database mongodb deploy` - Deploy a mongodb database.
|
||||
4. `dokploy database mongodb stop` - Stop a running mongodb database.
|
||||
|
||||
### Redis
|
||||
1. `dokploy database redis create` - Create a new redis database.
|
||||
2. `dokploy database redis delete` - Delete an redis database.
|
||||
3. `dokploy database redis deploy` - Deploy a redis database.
|
||||
4. `dokploy database redis stop` - Stop a running redis database.
|
||||
|
||||
18
apps/docs/content/docs/cli/commands/project.mdx
Normal file
18
apps/docs/content/docs/cli/commands/project.mdx
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
title: Project
|
||||
description: A guide to using the Dokploy CLI to manage projects
|
||||
---
|
||||
|
||||
|
||||
The Dokploy CLI can be used to create, deploy, and manage projects.
|
||||
|
||||
## Requirements
|
||||
|
||||
Is required to be already authenticated with the Dokploy CLI.
|
||||
|
||||
## Commands
|
||||
|
||||
1. `dokploy project create` - Create a new project.
|
||||
2. `dokploy project info` - Get information about a project.
|
||||
3. `dokploy project list` - List all projects.
|
||||
|
||||
23
apps/docs/content/docs/cli/index.mdx
Normal file
23
apps/docs/content/docs/cli/index.mdx
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
title: Introduction
|
||||
description: A guide to using the Dokploy command-line interface
|
||||
---
|
||||
|
||||
Dokploy CLI is a command-line tool for remotely managing your Dokploy server. It simplifies creating, deploying, and managing applications and databases.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
npm install -g @dokploy/cli
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
```bash
|
||||
dokploy COMMAND
|
||||
```
|
||||
To get help on a specific command:
|
||||
|
||||
```bash
|
||||
dokploy COMMAND --help
|
||||
```
|
||||
13
apps/docs/content/docs/cli/meta.json
Normal file
13
apps/docs/content/docs/cli/meta.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"title": "CLI",
|
||||
"root": true,
|
||||
"pages": [
|
||||
"---Get Started---",
|
||||
"index",
|
||||
"---Commands---",
|
||||
"commands/authentication",
|
||||
"commands/project",
|
||||
"commands/application",
|
||||
"commands/databases"
|
||||
]
|
||||
}
|
||||
173
apps/docs/content/docs/core/application/advanced.mdx
Normal file
173
apps/docs/content/docs/core/application/advanced.mdx
Normal file
@@ -0,0 +1,173 @@
|
||||
---
|
||||
title: Advanced
|
||||
description: Learn how to use advanced features in your application.
|
||||
---
|
||||
|
||||
This section is designed for experienced users who need to manage complex configurations and orchestration settings in Dokploy. Here, you can execute custom commands, manage cluster replicas, select Docker registries, and configure Docker Swarm settings.
|
||||
|
||||
### Run Command
|
||||
|
||||
- **Purpose**: Allows users to execute custom shell commands directly within the container.
|
||||
- **Usage**: Enter the command you need to run in the provided field and click 'Save' to execute it within the container environment. This tool is particularly useful for debugging or specific administrative tasks.
|
||||
|
||||
### Cluster Settings
|
||||
|
||||
- **Purpose**: Manages the scaling and distribution of the application across multiple servers or nodes.
|
||||
- **Replicas**: Set the number of instances of your application that should be running.
|
||||
- **Registry Selection**: Choose the Docker registry from which your container images will be pulled. This is crucial for ensuring that the correct images are used during deployment.
|
||||
|
||||
#### Important Note
|
||||
Always click 'Redeploy' after modifying the cluster settings to apply the changes.
|
||||
|
||||
### Swarm Settings
|
||||
|
||||
Swarm settings allow for detailed configuration of how containers are orchestrated within the Docker Swarm.
|
||||
|
||||
#### Health Check
|
||||
|
||||
- **Purpose**: Ensures that containers are running smoothly and restarts them if they fail.
|
||||
- **Configuration**: Specify parameters like test commands, intervals, timeouts, start periods, and retries.
|
||||
|
||||
#### Restart Policy
|
||||
|
||||
Defines how containers should be handled if they exit or fail, the configuration is as follows:
|
||||
|
||||
- **Condition**: Specifies under what condition a restart should occur.
|
||||
- **Delay**: Sets the time delay between restarts.
|
||||
- **Max Attempts**: Limits the number of restart attempts.
|
||||
- **Window**: Defines the time window used to evaluate the restart policy.
|
||||
|
||||
#### Update Config
|
||||
|
||||
Manages the deployment and update process of services in the swarm, the configuration is as follows:
|
||||
|
||||
|
||||
- **Parallelism**: Number of containers to update simultaneously.
|
||||
- **Delay**: Time between updates.
|
||||
- **Failure Action**: Action to take if an update fails.
|
||||
- **Monitor**: Duration to monitor a container after an update.
|
||||
- **Max Failure Ratio**: The fraction of containers that are allowed to fail before the update is considered a failure.
|
||||
- **Order**: The order in which containers are stopped and started during an update.
|
||||
|
||||
#### Placement
|
||||
|
||||
Controls where containers are placed within the swarm based on specific rules and preferences, the configuration is as follows:
|
||||
|
||||
- **Constraints**: Conditions that must be met for a container to be placed on a node.
|
||||
- **Preferences**: Preferences for placing containers across nodes to spread load evenly.
|
||||
|
||||
### Rollback Config
|
||||
|
||||
Manages the rollback process for services when updates fail, the configuration is as follows:
|
||||
|
||||
- **Parallelism**: Number of containers to rollback simultaneously.
|
||||
- **Delay**: Time between rollbacks.
|
||||
- **FailureAction**: Action to take if a rollback fails.
|
||||
- **Monitor**: Duration to monitor a container after a rollback.
|
||||
- **MaxFailureRatio**: The fraction of containers that are allowed to fail before the rollback is considered a failure.
|
||||
- **Order**: The order in which containers are stopped and restarted during a rollback.
|
||||
|
||||
### Mode
|
||||
|
||||
Defines how services are replicated within the swarm, the configuration is as follows:
|
||||
|
||||
- **Replicated**: Services are replicated across nodes as specified.
|
||||
- **Replicas**: Number of replicas per service.
|
||||
- **Global**: A single instance of the service runs on every node.
|
||||
- **ReplicatedJob**: Runs a job in a replicated manner.
|
||||
- **MaxConcurrent**: Maximum number of jobs running concurrently.
|
||||
- **TotalCompletions**: Total number of times the jobs need to complete.
|
||||
|
||||
### Network
|
||||
|
||||
Configures network settings for the services, the configuration is as follows:
|
||||
|
||||
- **Target**: Specifies the network name.
|
||||
- **Aliases**: Provides aliases for the network.
|
||||
- **DriverOpts**: Network driver options like MTU size and host binding.
|
||||
|
||||
### Labels
|
||||
|
||||
Assigns metadata to containers to help identify and organize them, the configuration is as follows:
|
||||
|
||||
- **Labels**: Key-value pairs assigned to the service. For example:
|
||||
1. `com.example.app.name`: "my-app"
|
||||
2. `com.example.app.version`: "1.0.0"
|
||||
|
||||
|
||||
### Note
|
||||
Modifying Swarm Settings requires careful consideration as incorrect configurations can disrupt the entire container orchestration. Always ensure you understand the implications of the changes you are making.
|
||||
|
||||
|
||||
## Resources
|
||||
|
||||
Manage the memory and CPU resources allocated to your applications or databases.
|
||||
|
||||
- **Memory Reservation**: The minimum amount of memory guaranteed to the application.
|
||||
- **Memory Limit**: The maximum amount of memory the application can use.
|
||||
- **CPU Limit**: The maximum number of CPU units that the application can utilize.
|
||||
- **CPU Reservation**: The minimum number of CPU units reserved for the application.
|
||||
|
||||
|
||||
### Volumes/Mounts
|
||||
|
||||
Configure persistent storage for your application to ensure data remains intact across container restarts and deployments.
|
||||
|
||||
|
||||
**Bind Mount**: Maps a host file or directory to a container file or directory. Typically used for specific configurations or databases.
|
||||
1. **Host Path**: Path on the host.
|
||||
2. **Mount Path**: Path in the container.
|
||||
|
||||
**Volume Mount**: Uses Docker-managed volumes that are easier to back up and migrate than bind mounts.
|
||||
1. **Volume Name**: Name of the Docker-managed volume.
|
||||
2. **Mount Path**: Path in the container where the volume is mounted.
|
||||
|
||||
**File Mount**: Specifically for single files, useful for configuration files.
|
||||
1. **Content**: The content to store in the file.
|
||||
2. **Mount Path**: Path in the container where the file is placed.
|
||||
|
||||
File mounts are a dokploy features, this create a file in a folder called `files` inside your project, so it recreates every single time you deploy your project.
|
||||
|
||||
<ImageZoom src="/assets/file-mount-configuration.webp" width={800} height={630} className="rounded-lg"/>
|
||||
|
||||
<ImageZoom src="/assets/file-mount.png" width={800} height={630} className="rounded-lg"/>
|
||||
|
||||
### Redirects
|
||||
|
||||
Redirect requests to your application to another URL based on specified rules, enhancing navigational efficiency and SEO.
|
||||
|
||||
- **Regex**: Enter a regular expression to match the URLs that need redirecting.
|
||||
- **Replacement**: Specify the target URL where traffic should be redirected.
|
||||
- **Permanent**: Toggle this option to apply a permanent (HTTP 301) redirection, indicating to browsers and search engines that the page has moved permanently.
|
||||
|
||||
#### Example
|
||||
To redirect all traffic from "http://localhost" to "http://mydomain", set the Regex as `http://localhost/(.*)` and the Replacement as `http://mydomain/$1`.
|
||||
|
||||
|
||||
### Security
|
||||
|
||||
Add basic authentication to your application to restrict access.
|
||||
|
||||
- **Username**: Enter a username.
|
||||
- **Password**: Enter a password.
|
||||
|
||||
#### Important Note
|
||||
Adding basic authentication will prompt users for a username and password before allowing access to the application. Use this for environments where an additional layer of security is required.
|
||||
|
||||
|
||||
### Ports
|
||||
|
||||
Expose your application to the internet by configuring network ports, allowing external access.
|
||||
|
||||
- **Published Port**: The port number on the host that will route traffic to your application.
|
||||
- **Target Port**: The port number inside the container that the application uses.
|
||||
- **Protocol**: Choose between TCP and UDP based on your application's requirements.
|
||||
|
||||
#### Important Note
|
||||
Ensure that the published port does not conflict with other services on the host to avoid port binding errors, also this port is used mostly for accesing the application from the outside, eg your-ip:port, this is not for accessing the application trought a domain.
|
||||
|
||||
### Traefik
|
||||
|
||||
Provides a dynamic and robust method to manage HTTP traffic to your services, including load balancing and SSL termination.
|
||||
|
||||
- **Rules**: Define complex routing, load balancing, and security configurations using Traefik's powerful rule-based configuration system.
|
||||
86
apps/docs/content/docs/core/application/auto-deploy.mdx
Normal file
86
apps/docs/content/docs/core/application/auto-deploy.mdx
Normal file
@@ -0,0 +1,86 @@
|
||||
---
|
||||
title: Auto Deploy
|
||||
description: "Learn how to automatically deploy your application to Dokploy."
|
||||
---
|
||||
|
||||
Automatically deploying your application to Dokploy can be achieved through two primary methods: using Webhooks or the Dokploy API. Each method supports various platforms and provides a streamlined deployment process.
|
||||
|
||||
## Github
|
||||
|
||||
For Github, we provide autodeploy without any configuration. This will automatically deploy your application whenever you push to your repository.
|
||||
|
||||
## Webhook URL
|
||||
|
||||
Webhooks allow you to automatically deploy your application whenever changes are made in your source repository.
|
||||
|
||||
- GitHub
|
||||
- GitLab
|
||||
- Bitbucket
|
||||
- Gitea
|
||||
- DockerHub
|
||||
|
||||
### Configuration Steps
|
||||
|
||||
1. **Enable Auto Deploy**: Toggle the 'Auto Deploy' button found in the general tab of your application settings in Dokploy.
|
||||
2. **Obtain Webhook URL**: Locate the Webhook URL from the deployment logs.
|
||||
|
||||
<ImageZoom
|
||||
src="/assets/webhook-url.png"
|
||||
alt="Webhook URL"
|
||||
width={1000}
|
||||
height={500}
|
||||
/>
|
||||
|
||||
3. **Configure Your Repository**:
|
||||
- Navigate to your repository settings on your chosen platform.
|
||||
- Add the webhook URL provided by Dokploy.
|
||||
- Ensure the settings match the configuration necessary for triggering the webhook.
|
||||
|
||||
<ImageZoom
|
||||
src="/assets/webhook-github.png"
|
||||
alt="Webhook URL"
|
||||
width={1000}
|
||||
height={500}
|
||||
/>
|
||||
|
||||
#### Important Notes
|
||||
|
||||
- **Branch Matching**: When using Git-based providers (GitHub, GitLab, etc.), ensure that the branch configured in Dokploy matches the branch you intend to push to. Misalignment will result in a "Branch Not Match" error.
|
||||
- **Docker Tags**: For deployments using DockerHub, ensure the tag pushed matches the one specified in Dokploy.
|
||||
- The steps are the same for all the providers.
|
||||
|
||||
### API Method
|
||||
|
||||
Deploy your application programmatically using the Dokploy API from anywhere.
|
||||
|
||||
### Steps to Deploy Using API
|
||||
|
||||
Steps:
|
||||
|
||||
1. **Generate a Token**: Create an API token in your profile settings on Dokploy.
|
||||
2. **Retrieve Application ID**:
|
||||
|
||||
```http
|
||||
curl -X 'GET' \
|
||||
'https://your-domain/api/project.all' \
|
||||
-H 'accept: application/json'
|
||||
-H 'Authorization: Bearer <token>'
|
||||
```
|
||||
|
||||
This command lists all projects and services. Identify the applicationId for the application you wish to deploy.
|
||||
|
||||
3. **Trigger Deployment**:
|
||||
|
||||
```http
|
||||
curl -X 'POST' \
|
||||
'https://your-domain/api/application.deploy' \
|
||||
-H 'accept: application/json' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-H 'Authorization: Bearer <token>' \
|
||||
-d '{
|
||||
"applicationId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
This API method allows for flexible, scriptable deployment options, suitable for automated systems or situations where direct repository integration is not feasible.
|
||||
In this way you can deploy your application from anywhere, you can use the webhook URL or the API.
|
||||
32
apps/docs/content/docs/core/application/build-type.cn.mdx
Normal file
32
apps/docs/content/docs/core/application/build-type.cn.mdx
Normal file
@@ -0,0 +1,32 @@
|
||||
---
|
||||
title: 构建类型
|
||||
description: "了解 Dokploy 中可用的不同构建类型,包括 Nixpack、Dockerfile 和 Building pack 选项。"
|
||||
---
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout';
|
||||
|
||||
## 构建类型
|
||||
|
||||
Dokploy 提供了三种不同的构建类型来部署应用程序,每种类型都适合不同的开发需求和偏好。
|
||||
|
||||
### Nixpacks
|
||||
|
||||
这是 Dokploy 中的默认构建类型。当您选择 Nixpack 时,Dokploy 会将您的应用程序构建为 Nixpack,该 Nixpack 针对易用性和效率进行了优化。
|
||||
|
||||
### Dockerfile
|
||||
|
||||
如果您的项目包含 Dockerfile,您可以指定其路径。 Dokploy 将使用此 Dockerfile 直接构建您的应用程序,让您完全控制构建环境和依赖项。
|
||||
|
||||
### Buildpack
|
||||
|
||||
Dokploy 支持两种类型的构建包:
|
||||
|
||||
- **Heroku**: 这些构建包改编自 Heroku 流行的云平台,旨在兼容性和易于迁移。
|
||||
- **Paketo**: 提供利用现代标准和实践来构建应用程序的云原生构建包。
|
||||
|
||||
<Callout>
|
||||
**Tip:**
|
||||
我们建议使用“Nixpack”构建类型,因为它是大多数应用程序最简单、最常用的选项。
|
||||
</Callout>
|
||||
|
||||
通过选择适当的构建类型,您可以定制部署过程,以最适合您的应用程序的要求和您的操作偏好。
|
||||
34
apps/docs/content/docs/core/application/build-type.mdx
Normal file
34
apps/docs/content/docs/core/application/build-type.mdx
Normal file
@@ -0,0 +1,34 @@
|
||||
---
|
||||
title: Build Type
|
||||
description: "Learn about the different build types available in Dokploy, including Nixpacks, Dockerfile, and Buildpack options."
|
||||
|
||||
---
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout';
|
||||
|
||||
|
||||
Dokploy offers three distinct build types for deploying applications, each suited to different development needs and preferences.
|
||||
|
||||
### Nixpacks
|
||||
|
||||
This is the default build type in Dokploy. When you select Nixpacks, Dokploy builds your application as a Nixpack, which is optimized for ease of use and efficiency.
|
||||
|
||||
You can read more about Nixpacks [here](https://nixpacks.com/).
|
||||
|
||||
### Dockerfile
|
||||
|
||||
If your project includes a Dockerfile, you can specify its path. Dokploy will use this Dockerfile to build your application directly, giving you full control over the build environment and dependencies.
|
||||
|
||||
### Buildpack
|
||||
|
||||
Dokploy supports two types of buildpacks:
|
||||
|
||||
- **Heroku**: Adapted from Heroku's popular cloud platform, these buildpacks are designed for compatibility and ease of migration.
|
||||
- **Paketo**: Provides cloud-native buildpacks that leverage modern standards and practices for building applications.
|
||||
|
||||
<Callout>
|
||||
**Tip:** We recommend using the `Nixpacks` build type as it is the most
|
||||
straightforward and commonly used option for most applications.
|
||||
</Callout>
|
||||
|
||||
By choosing the appropriate build type, you can tailor the deployment process to best fit your application's requirements and your operational preferences.
|
||||
48
apps/docs/content/docs/core/application/domains.mdx
Normal file
48
apps/docs/content/docs/core/application/domains.mdx
Normal file
@@ -0,0 +1,48 @@
|
||||
---
|
||||
title: Domains
|
||||
description: Domains
|
||||
---
|
||||
|
||||
This section outlines how to configure domains for your applications in Dokploy, ensuring that your applications are accessible via custom URLs.
|
||||
|
||||
|
||||
### Add Domain
|
||||
|
||||
Associate custom domains with your application to make it accessible over the internet.
|
||||
|
||||
- **Host**: The domain name that you want to link to your application (e.g., `api.dokploy.com`).
|
||||
- **Path**: The specific path within the domain where the application should be accessible.
|
||||
- **Container Port**: The port on the container that the domain should route to.
|
||||
- **Certificate**: Select whether to secure the domain with SSL/TLS certificates. Dokploy supports automatic provisioning of SSL certificates via Let's Encrypt.
|
||||
- **HTTPS**: Toggle this on to enable HTTPS for your domain, providing secure, encrypted connections.
|
||||
|
||||
#### Steps to Add a Domain
|
||||
1. Click 'Add Domain'.
|
||||
2. Fill in the domain details, including host, path, and port.
|
||||
3. Choose to enable HTTPS and select a certificate option.
|
||||
4. Click 'Create' to apply the settings.
|
||||
|
||||
### Generate Domain
|
||||
|
||||
Quickly set up a domain for development or testing purposes without needing to register a domain.
|
||||
|
||||
- **Generate TraefikMe Domain**: Creates a free domain provided by TraefikMe. This is ideal for testing or temporary access before a proper domain is purchased.
|
||||
|
||||
#### Steps to Generate a Domain
|
||||
1. Click 'Generate Domain'.
|
||||
2. Choose 'Generate TraefikMe Domain' for a quick setup.
|
||||
3. A domain will be automatically assigned to your application.
|
||||
|
||||
### Managing Domains
|
||||
|
||||
- **View and Modify**: Existing domains are listed with options to edit settings or remove them.
|
||||
- **Details**: Each domain entry shows the configured host, path, port, and whether HTTPS is enabled.
|
||||
|
||||
### Note
|
||||
|
||||
Proper domain configuration is crucial for the accessibility and security of your application. Always verify domain settings and ensure that DNS configurations are properly set up to point to the correct IP addresses. Enable HTTPS to enhance security and trust, especially for production environments.
|
||||
|
||||
|
||||
### Important Clarification on Container Ports
|
||||
|
||||
The "Container Port" specified in the domain settings is exclusively for routing traffic to the correct application container through Traefik, and does not expose the port directly to the internet. This is fundamentally different from the port settings in the "Advanced -> Ports" section, which are used to directly expose application ports. The container port in the domain settings ensures that Traefik can internally direct traffic to the specified port within the container based on the domain configuration.
|
||||
41
apps/docs/content/docs/core/application/overview.cn.mdx
Normal file
41
apps/docs/content/docs/core/application/overview.cn.mdx
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
title: 概述
|
||||
description: "探索 Dokploy 中可用的多种部署方法,包括 GitHub、Git、Docker 以及通过 webhook 的自动化部署。"
|
||||
---
|
||||
|
||||
Dokploy 提供了多种部署应用程序的方法,无论您使用 GitHub、任何 Git 提供商、Docker 还是自动化部署,都可以简化流程。
|
||||
|
||||
- Github
|
||||
- Git (Any Git Provider)
|
||||
- Docker
|
||||
|
||||
## GitHub
|
||||
|
||||
通过 GitHub 部署很简单:
|
||||
|
||||
1. 在以下配置您的 GitHub 存储库 `/dashboard/settings/server`.
|
||||
2. 创建应用程序时,Dokploy 会自动加载可用的存储库和分支。
|
||||
|
||||
## Git
|
||||
|
||||
对于来自任何 Git 存储库(公共或私有)的部署,您可以使用 SSL 或 HTTPS:
|
||||
|
||||
1. 提供存储库 URL。
|
||||
2. 指定您要部署的分支。
|
||||
|
||||
## Docker
|
||||
|
||||
对于 Docker 部署:
|
||||
|
||||
- 指定 Docker 镜像。对于私人存储库,您需要提供用户名和密码。
|
||||
|
||||
## 自动部署
|
||||
|
||||
设置自动部署:
|
||||
|
||||
1. 导航至`deployments`选项卡并复制`Webhook URL`。
|
||||
2. 在 Git 提供商的设置中,将此 URL 粘贴到 Webhook URL 字段中。
|
||||
3. 选择应该触发部署的事件,例如`Push`。
|
||||
4. 配置后,任何指定的操作(例如推送新提交)都将自动触发部署。
|
||||
|
||||
Dokploy 支持 GitHub、GitLab、Bitbucket、Gitea 和 DockerHub 的 webhook。
|
||||
56
apps/docs/content/docs/core/application/overview.mdx
Normal file
56
apps/docs/content/docs/core/application/overview.mdx
Normal file
@@ -0,0 +1,56 @@
|
||||
---
|
||||
title: Overview
|
||||
description: "Explore the multiple deployment methods available in Dokploy, including GitHub, Git, Docker, and automated deployments via webhooks."
|
||||
---
|
||||
|
||||
Applications in Dokploy are treated as a single service or container, making it easy and intuitive for users to work with each application in its own workspace.
|
||||
|
||||
We offer multiple functionalities that you can use to manage your applications, such as:
|
||||
|
||||
## General
|
||||
|
||||
Configure the source of your code, the way your application is built, and also manage actions like deploying, updating, and deleting your application, and stopping it.
|
||||
|
||||
## Environment
|
||||
|
||||
If you need to assign environment variables to your application, you can do so here.
|
||||
|
||||
## Monitoring
|
||||
|
||||
Four graphs will be displayed for the use of memory, CPU, disk, and network. Note that the information is only updated if you are viewing the current page, otherwise it will not be updated.
|
||||
|
||||
## Logs
|
||||
|
||||
If you want to see any important logs from your application that is running, you can do so here and determine if your application is displaying any errors or not.
|
||||
|
||||
## Deployments
|
||||
|
||||
You can view the last 10 deployments of your application. When you deploy your application in real time, a new deployment record will be created and it will gradually show you how your application is being built.
|
||||
|
||||
We also offer a button to cancel deployments that are in queue. Note that those in progress cannot be canceled.
|
||||
|
||||
We provide a webhook so that you can trigger your own deployments by pushing to your GitHub, Gitea, GitLab, Bitbucket, DockerHub repository.
|
||||
|
||||
## Domains
|
||||
|
||||
This is where you will assign your domain so that your application can be accessed from the internet.
|
||||
|
||||
There are two ways to assign a domain:
|
||||
|
||||
1. Create a custom domain.
|
||||
2. Use a generated domain, we use traefik.me to generate free domains.
|
||||
|
||||
## Advanced Settings
|
||||
|
||||
This section provides advanced configuration options for experienced users. It includes tools for custom commands within the container, managing Docker Swarm settings, and adjusting cluster settings such as replicas and registry selection. These tools are typically not required for standard application deployment and are intended for complex management and troubleshooting tasks.
|
||||
|
||||
- **Run Command**: Execute custom commands directly in the container for advanced management or troubleshooting.
|
||||
- **Cluster Settings**: Configure the number of replicas and select the Docker registry for your deployment to manage how your application scales and where it pulls images from.
|
||||
- **Swarm Settings**: Access additional Docker Swarm configurations for detailed orchestration and scaling across multiple nodes.
|
||||
- **Resources**: Adjust the CPU and memory allocation for your application.
|
||||
- **Volumes**: To ensure data persistence across deployments, configure storage volumes for your application.
|
||||
- **Ports**: Expose your application to the internet by configuring network ports.
|
||||
- **Traefik**: Modify Traefik settings to manage HTTP request handling for your application.
|
||||
|
||||
### Note
|
||||
Adjust these settings carefully as incorrect configurations can significantly impact your application’s functionality and availability.
|
||||
42
apps/docs/content/docs/core/application/providers.mdx
Normal file
42
apps/docs/content/docs/core/application/providers.mdx
Normal file
@@ -0,0 +1,42 @@
|
||||
---
|
||||
title: Providers
|
||||
description: Learn how to use providers in your application.
|
||||
---
|
||||
|
||||
Dokploy offers several deployment methods, streamlining the process whether you're utilizing GitHub, any Git provider, Docker, or automated deployments.
|
||||
|
||||
- GitHub
|
||||
- Git (Any Git Provider)
|
||||
- Docker
|
||||
|
||||
## GitHub
|
||||
|
||||
Deploying via GitHub is straightforward:
|
||||
|
||||
1. Configure your GitHub repository in the `/dashboard/settings/server`.
|
||||
2. When creating an application, Dokploy automatically retrieves the available repositories and branches.
|
||||
|
||||
## Git
|
||||
|
||||
For deployments from any Git repository, whether public or private, you can use either SSH or HTTPS:
|
||||
|
||||
1. Enter the repository URL.
|
||||
2. Specify the branch you wish to deploy.
|
||||
|
||||
### Private Repositories
|
||||
|
||||
For private repositories, authenticate using SSH. We provide a lock icon to generate an SSH key.
|
||||
|
||||
<ImageZoom src="/assets/dokploy-ssh-key.png" width={800} height={630} className="rounded-lg"/>
|
||||
|
||||
You can then copy the SSH key and paste it into the settings of your account.
|
||||
|
||||
<ImageZoom src="/assets/private-repository.png" width={800} height={630} className="rounded-lg"/>
|
||||
|
||||
This enables you to pull repositories from your private repository, a method consistent across nearly all providers.
|
||||
|
||||
## Docker
|
||||
|
||||
For Docker deployments:
|
||||
|
||||
- Provide a Docker image. For private repositories, enter the username and password.
|
||||
96
apps/docs/content/docs/core/cluster/overview.cn.mdx
Normal file
96
apps/docs/content/docs/core/cluster/overview.cn.mdx
Normal file
@@ -0,0 +1,96 @@
|
||||
---
|
||||
title: Cluster (Advanced)
|
||||
description: "Learn how to set up and manage a cluster in Dokploy with docker swarm."
|
||||
sidebar:
|
||||
order: 1
|
||||
---
|
||||
|
||||
|
||||
For most suitables cases you may not need to use a cluster, unless you need to scale your application.
|
||||
A cluster is a group of nodes that work together to provide a single, unified service. In Dokploy, clusters manage a group of servers collaborating to deliver this unified service.
|
||||
|
||||
We use traefik under the hood to load balance the traffic to the application.
|
||||
|
||||
|
||||
We recommend to read the [Traefik Docs](https://doc.traefik.io/traefik/routing/providers/swarm/) before using a cluster, to have a better understanding of how it works.
|
||||
|
||||
To start adding nodes to your cluster, you need a registry. The nodes require the registry to pull images .
|
||||
|
||||
## Requirements
|
||||
|
||||
- A server with Dokploy installed.
|
||||
- A registry to store your images.
|
||||
- Additional servers (VPS) to add as nodes.
|
||||
|
||||
## Registry Options
|
||||
|
||||
We provide two methods to add a registry to your cluster:
|
||||
|
||||
- **Custom Registry (Free)**: Set up a private registry on your server.
|
||||
- **External Registry (Paid)**: Use external registries like Docker Hub, DigitalOcean, AWS ECR, etc.
|
||||
|
||||
|
||||
You can see you can add two types of registries:
|
||||
|
||||
<ImageZoom src="/assets/images/cluster/registry.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
|
||||
|
||||
## Adding Nodes to a Cluster
|
||||
|
||||
Once you have a registry, you can add nodes to your cluster by following these steps:
|
||||
|
||||
1. Click the `Add Node` button.
|
||||
2. You will see two tabs: `Worker` and `Manager`.
|
||||
3. Select the type of node you want to add.
|
||||
4. Follow the two steps provided:
|
||||
- Install the Docker engine.
|
||||
- Install the Dokploy agent. These steps are the same for both node types.
|
||||
5. Run the provided commands on the new server.
|
||||
6. After running the commands, go to `server/settings/cluster`. You will see entries for both the worker and manager nodes in the table.
|
||||
|
||||
<ImageZoom src="/assets/images/cluster/nodes.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
<ImageZoom src="/assets/images/cluster/cluster.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
<ImageZoom src="/assets/images/cluster/application.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
|
||||
|
||||
## Deploying an Application
|
||||
|
||||
Once you have linked nodes to the cluster, you can deploy an application as follows:
|
||||
|
||||
1. Create an application in a project.
|
||||
2. Fork the repository [Dokploy/swarm-test](https://github.com/Dokploy/swarm-test).
|
||||
3. Save it as a GitHub provider.
|
||||
4. Go to the advanced tab of the application.
|
||||
5. In the "Cluster Settings" section:
|
||||
- Change the number of replicas (default is 1).
|
||||
- Select the registry for the nodes to pull images from.
|
||||
6. Now you can deploy the application to the cluster (By clicking the `Deploy` button).
|
||||
|
||||
|
||||
In fact, this is a straightforward way to achieve multi-node deployments. Traefik will handle load balancing and route traffic to the node where the application is most available.
|
||||
|
||||
To further enhance this setup, you can use load balancers from services like AWS, DigitalOcean, or Google Cloud. These load balancers perform health checks before routing requests to ensure that only healthy nodes receive traffic. If a node fails the health check, the load balancer will automatically route the request to another node. This setup provides a more robust and scalable deployment.
|
||||
|
||||
To add manager nodes to the cluster, follow the same steps as adding a worker node. However, if the manager node (where Dokploy is running) fails, all other nodes will become inaccessible. This is because we currently have a single entry point for the cluster. To ensure high availability, you should have multiple manager nodes.
|
||||
|
||||
To achieve this, you need to replicate all persistent and Traefik information to the new manager nodes. This will create multiple entry points for the cluster. You can use tools like rsync, aws data sync, or any other tool to synchronize all the necessary information between the nodes.
|
||||
|
||||
|
||||
## Customizing the Application
|
||||
|
||||
You can customize the application in the "Swarm Settings" section. Here, you can modify almost every setting related to the swarm application mode.
|
||||
|
||||
In the interface, placeholders and expected formats for each setting are provided. All fields must be JSON values.
|
||||
|
||||
#### Customizable Settings:
|
||||
|
||||
- Healthcheck
|
||||
- Restart Policy
|
||||
- Placement
|
||||
- Update Config
|
||||
- Rollback Config
|
||||
- Mode
|
||||
- Network
|
||||
- Labels
|
||||
|
||||
<ImageZoom src="/assets/images/cluster/swarm-settings.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
98
apps/docs/content/docs/core/cluster/overview.mdx
Normal file
98
apps/docs/content/docs/core/cluster/overview.mdx
Normal file
@@ -0,0 +1,98 @@
|
||||
---
|
||||
title: Cluster (Advanced)
|
||||
description: "Learn how to set up and manage a cluster in Dokploy with docker swarm."
|
||||
sidebar:
|
||||
order: 1
|
||||
---
|
||||
|
||||
|
||||
For most suitables cases you may not need to use a cluster, unless you need to scale your application.
|
||||
A cluster is a group of nodes that work together to provide a single, unified service. In Dokploy, clusters manage a group of servers collaborating to deliver this unified service.
|
||||
|
||||
We use traefik under the hood to load balance the traffic to the application.
|
||||
|
||||
|
||||
We recommend to read the [Traefik Docs](https://doc.traefik.io/traefik/routing/providers/swarm/) before using a cluster, to have a better understanding of how it works.
|
||||
|
||||
To start adding nodes to your cluster, you need a registry. The nodes require the registry to pull images .
|
||||
|
||||
## Requirements
|
||||
|
||||
- A server with Dokploy installed.
|
||||
- A registry to store your images.
|
||||
- Additional servers (VPS) to add as nodes.
|
||||
|
||||
## Registry Options
|
||||
|
||||
We provide two methods to add a registry to your cluster:
|
||||
|
||||
- **Custom Registry (Free)**: Set up a private registry on your server.
|
||||
- **External Registry (Paid)**: Use external registries like Docker Hub, DigitalOcean, AWS ECR, etc.
|
||||
|
||||
|
||||
You can see you can add two types of registries:
|
||||
|
||||
<ImageZoom src="/assets/images/cluster/registry.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
|
||||
|
||||
## Adding Nodes to a Cluster
|
||||
|
||||
Once you have a registry, you can add nodes to your cluster by following these steps:
|
||||
|
||||
1. Click the `Add Node` button.
|
||||
2. You will see two tabs: `Worker` and `Manager`.
|
||||
3. Select the type of node you want to add.
|
||||
4. Follow the two steps provided:
|
||||
- Install the Docker engine.
|
||||
- Install the Dokploy agent. These steps are the same for both node types.
|
||||
5. Run the provided commands on the new server.
|
||||
6. After running the commands, go to `server/settings/cluster`. You will see entries for both the worker and manager nodes in the table.
|
||||
|
||||
<ImageZoom src="/assets/images/cluster/nodes.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
<ImageZoom src="/assets/images/cluster/cluster.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
<ImageZoom src="/assets/images/cluster/application.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
{/* 
|
||||

|
||||
 */}
|
||||
|
||||
## Deploying an Application
|
||||
|
||||
Once you have linked nodes to the cluster, you can deploy an application as follows:
|
||||
|
||||
1. Create an application in a project.
|
||||
2. Fork the repository [Dokploy/swarm-test](https://github.com/Dokploy/swarm-test).
|
||||
3. Save it as a GitHub provider.
|
||||
4. Go to the advanced tab of the application.
|
||||
5. In the "Cluster Settings" section:
|
||||
- Change the number of replicas (default is 1).
|
||||
- Select the registry for the nodes to pull images from.
|
||||
6. Now you can deploy the application to the cluster (By clicking the `Deploy` button).
|
||||
|
||||
|
||||
In fact, this is a straightforward way to achieve multi-node deployments. Traefik will handle load balancing and route traffic to the node where the application is most available.
|
||||
|
||||
To further enhance this setup, you can use load balancers from services like AWS, DigitalOcean, or Google Cloud. These load balancers perform health checks before routing requests to ensure that only healthy nodes receive traffic. If a node fails the health check, the load balancer will automatically route the request to another node. This setup provides a more robust and scalable deployment.
|
||||
|
||||
To add manager nodes to the cluster, follow the same steps as adding a worker node. However, if the manager node (where Dokploy is running) fails, all other nodes will become inaccessible. This is because we currently have a single entry point for the cluster. To ensure high availability, you should have multiple manager nodes.
|
||||
|
||||
To achieve this, you need to replicate all persistent and Traefik information to the new manager nodes. This will create multiple entry points for the cluster. You can use tools like rsync, aws data sync, or any other tool to synchronize all the necessary information between the nodes.
|
||||
|
||||
|
||||
## Customizing the Application
|
||||
|
||||
You can customize the application in the "Swarm Settings" section. Here, you can modify almost every setting related to the swarm application mode.
|
||||
|
||||
In the interface, placeholders and expected formats for each setting are provided. All fields must be JSON values.
|
||||
|
||||
#### Customizable Settings:
|
||||
|
||||
- Healthcheck
|
||||
- Restart Policy
|
||||
- Placement
|
||||
- Update Config
|
||||
- Rollback Config
|
||||
- Mode
|
||||
- Network
|
||||
- Labels
|
||||
|
||||
<ImageZoom src="/assets/images/cluster/swarm-settings.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
26
apps/docs/content/docs/core/databases/backups.cn.mdx
Normal file
26
apps/docs/content/docs/core/databases/backups.cn.mdx
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
title: 备份
|
||||
description: "了解如何在 Dokploy 中设置和管理数据库的备份,并提供 S3 存储桶中的存储选项。"
|
||||
---
|
||||
|
||||
Dokploy 提供了一个集成的解决方案来备份您的数据库,确保数据安全和恢复能力。
|
||||
|
||||
## 备份数据库
|
||||
|
||||
要配置数据库备份,请导航至 Dokploy 仪表板中的 `Backup` 选项卡。以下是您需要设置的内容:
|
||||
|
||||
- **Select Destination S3 Bucket(选择备份位置 S3 桶)**: 指定备份将存储在哪里。桶可以在`/dashboard/settings/destinations`路由中配置。
|
||||
- **Database Name(数据库名称)**: 输入要备份的数据库的名称。
|
||||
- **Schedule Cron(定时 cron)**: 使用 cron 语法定义备份的时间表。
|
||||
- **Prefix(前缀)**: 选择将备份存储在您的存储桶中所使用的前缀。
|
||||
- **Enabled(启用)**: 切换备份是否处于活动状态。 默认设置已启用。
|
||||
|
||||
### 测试您的备份配置
|
||||
|
||||
要确保正确配置备份设置:
|
||||
|
||||
1. 点击 `Test` 按钮.
|
||||
2. 这将启动对您选择的 S3 存储桶的测试备份。
|
||||
3. 检查桶以查看测试备份的结果。
|
||||
|
||||
此功能通过在依赖备份过程进行操作备份之前验证您的备份过程是否正确设置,从而让您安心。
|
||||
26
apps/docs/content/docs/core/databases/backups.mdx
Normal file
26
apps/docs/content/docs/core/databases/backups.mdx
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
title: Backups
|
||||
description: "Learn how to schedule and manage backups for your databases in Dokploy, with options for storage in S3 buckets."
|
||||
---
|
||||
|
||||
Dokploy provides an integrated solution for backing up your databases, ensuring data safety and recovery capabilities.
|
||||
|
||||
## Backing Up Your Database
|
||||
|
||||
To configure database backups, navigate to the `Backup` tab within your Dokploy dashboard. Here’s what you’ll need to set up:
|
||||
|
||||
- **Select Destination S3 Bucket**: Specify where your backups will be stored. Buckets can be configured in the `/dashboard/settings/destinations` route.
|
||||
- **Database Name**: Enter the name of the database you want to backup.
|
||||
- **Schedule Cron**: Define the schedule for your backups using cron syntax.
|
||||
- **Prefix**: Choose a prefix under which backups will be stored in your bucket.
|
||||
- **Enabled**: Toggle whether backups are active. The default setting is enabled.
|
||||
|
||||
### Testing Your Backup Configuration
|
||||
|
||||
To ensure your backup settings are correctly configured:
|
||||
|
||||
1. Click the `Test` button.
|
||||
2. This will initiate a test backup to the S3 bucket you selected.
|
||||
3. Check the bucket to see the result of the test backup.
|
||||
|
||||
This feature provides peace of mind by verifying that your backup process is set up correctly before relying on it for operational backups.
|
||||
33
apps/docs/content/docs/core/databases/connection.mdx
Normal file
33
apps/docs/content/docs/core/databases/connection.mdx
Normal file
@@ -0,0 +1,33 @@
|
||||
---
|
||||
title: Connection
|
||||
description: "Learn how to connect to your database using Dokploy."
|
||||
---
|
||||
|
||||
This section explains how to configure database access for applications in Dokploy, including both internal connections within your network and external connections accessible over the internet.
|
||||
|
||||
### Internal Credentials
|
||||
|
||||
Used for connecting to the database from within the same network, without exposing the database to the internet.
|
||||
|
||||
- **User**: Username for the database access.
|
||||
- **Password**: Secure password for database access.
|
||||
- **Database Name**: The name of the database to connect to.
|
||||
- **Internal Host**: The hostname or internal identifier for the database within the network.
|
||||
- **Internal Port (Container)**: The port used within the container to connect to the database.
|
||||
- **Internal Connection URL**: The full connection string used internally to connect to the database.
|
||||
|
||||
### External Credentials
|
||||
|
||||
Enables the database to be reachable from the internet, necessary for remote management or external applications.
|
||||
|
||||
- **External Port (Internet)**: Assign a port that is not currently used by another service to expose the database externally.
|
||||
|
||||
#### Steps to Configure External Access
|
||||
1. Ensure the external port is available and not in conflict with other services.
|
||||
2. Enter the external port you wish to use to expose your database.
|
||||
3. The system will automatically generate an external connection URL, which can be used to access the database from any database management tool over the internet, like phpMyAdmin, MySQL Workbench, PgAdmin, etc.
|
||||
|
||||
### Important Note
|
||||
|
||||
For security reasons, internal credentials should be used for applications running within the same network or environment to prevent unauthorized access. External credentials should only be used when necessary and with proper security measures in place, such as VPNs or IP whitelisting.
|
||||
|
||||
25
apps/docs/content/docs/core/databases/overview.cn.mdx
Normal file
25
apps/docs/content/docs/core/databases/overview.cn.mdx
Normal file
@@ -0,0 +1,25 @@
|
||||
---
|
||||
title: 概述
|
||||
description: "了解如何使用Dokploy轻松创建和备份数据库,支持各种数据库系统."
|
||||
---
|
||||
|
||||
Dokploy 简化了创建和管理数据库的过程,为设置和备份提供了强大的选项。
|
||||
|
||||
## 数据库支持
|
||||
|
||||
Dokploy 目前支持一系列流行的数据库系统,确保您的项目的兼容性和灵活性:
|
||||
|
||||
- **Postgres**: 强大、符合 SQL 且高度可靠。
|
||||
- **MySQL**: 广泛使用的关系数据库以其性能和灵活性而闻名。
|
||||
- **MariaDB**: 具有额外功能和改进的性能的 SQL 的分支。
|
||||
- **MongoDB**: NoSQL 数据库以其高可扩展性和灵活性而闻名。
|
||||
- **Redis**: 内存中的键-值存储,通常用作数据库、缓存和消息代理。
|
||||
|
||||
## 部署
|
||||
|
||||
在 Dokploy 中部署数据库很简单:
|
||||
|
||||
1. 导航至 Dokploy 仪表板的数据库部分。
|
||||
2. 单击您要设置的数据库旁边的`Deploy`按钮。
|
||||
|
||||
`Deploy`按钮启动一个简化的流程,自动设置您选择的数据库,使其准备好立即使用。
|
||||
49
apps/docs/content/docs/core/databases/overview.mdx
Normal file
49
apps/docs/content/docs/core/databases/overview.mdx
Normal file
@@ -0,0 +1,49 @@
|
||||
---
|
||||
title: Overview
|
||||
description: "Discover how to create and backup databases easily with Dokploy, supporting a variety of database systems."
|
||||
---
|
||||
|
||||
Dokploy simplifies the process of creating and managing databases, offering robust options for both setup and backups.
|
||||
|
||||
## Database Support
|
||||
|
||||
Dokploy currently supports a range of popular database systems, ensuring compatibility and flexibility for your projects:
|
||||
|
||||
- **Postgres**: Robust, SQL-compliant and highly reliable.
|
||||
- **MySQL**: Widely used relational database known for its performance and flexibility.
|
||||
- **MariaDB**: A fork of MySQL with additional features and improved performance.
|
||||
- **MongoDB**: A NoSQL database known for its high scalability and flexibility.
|
||||
- **Redis**: An in-memory key-value store often used as a database, cache, and message broker.
|
||||
|
||||
|
||||
We offer multiple functionalities that you can use to manage your databases, such as:
|
||||
|
||||
## General
|
||||
|
||||
Actions like deploying, updating, and deleting your database, and stopping it.
|
||||
|
||||
## Environment
|
||||
|
||||
If you need to assign environment variables to your application, you can do so here.
|
||||
|
||||
## Monitoring
|
||||
|
||||
Four graphs will be displayed for the use of memory, CPU, disk, and network. Note that the information is only updated if you are viewing the current page, otherwise it will not be updated.
|
||||
|
||||
## Backups
|
||||
|
||||
We offer automated backups for your databases, ensuring that you can recover your data quickly and easily in case of any issues, you can setup a S3 Destinations in settings to store your backups.
|
||||
|
||||
|
||||
## Logs
|
||||
|
||||
If you want to see any important logs from your application that is running, you can do so here and determine if your application is displaying any errors or not.
|
||||
|
||||
## Advanced
|
||||
|
||||
This section provides advanced configuration options for experienced users. It includes tools for custom commands within the container, managing Docker Swarm settings, and adjusting cluster settings such as replicas and registry selection. These tools are typically not required for standard application deployment and are intended for complex management and troubleshooting tasks.
|
||||
|
||||
- **Custom Docker Image**: You can change the Docker image used to run your database.
|
||||
- **Run Command**: Execute custom commands directly in the container for advanced management or troubleshooting.
|
||||
- **Volumes**: To ensure data persistence across deployments, configure storage volumes for your application.
|
||||
- **Resources**: Adjust the CPU and memory allocation for your application.
|
||||
32
apps/docs/content/docs/core/deployments/oracle-cloud.cn.mdx
Normal file
32
apps/docs/content/docs/core/deployments/oracle-cloud.cn.mdx
Normal file
@@ -0,0 +1,32 @@
|
||||
---
|
||||
title: Oracle 云
|
||||
description: 将应用程序部署到 Oracle 云
|
||||
---
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout';
|
||||
|
||||
|
||||
将应用程序部署到 Oracle 云
|
||||
|
||||
步骤
|
||||
|
||||
1. 登录 Oracle 云
|
||||
2. 创建一个新的 `Compute Instance`
|
||||
3. 到 `Image and Shape`
|
||||
4. 选择 `Ubuntu 20.04 LTS`
|
||||
|
||||
<ImageZoom src="/assets/images/deployment/oracle/oracle-shape.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
|
||||
|
||||
5. 添加 SSH Key,确保添加您的 SSH key 的公钥
|
||||
6. 登录实例 `ssh ubuntu@ip-address-of-instance`
|
||||
<Callout>
|
||||
如果由于出现连接拒绝错误而无法访问实例,您可以尝试将`Public Subnet IPv4
|
||||
CIDR Block` 添加到实例,转到您的实例,然后 Quick Actions -> Connect public
|
||||
subnet to internet -> Create
|
||||
</Callout>
|
||||
7. 运行 `sudo su`
|
||||
8. 运行 `curl -sSL https://dokploy.com/install.sh | sh`
|
||||
9. 默认情况下,Oracle 云 已设置仅 22 个端口打开,您可以在实例中更改
|
||||
-> attached VNICs -> 点击 `subnet` 链接 -> 打开 `Security Lists` -> `Inbound Rules` -> 点击 `default security list for vnc` 链接 -> 进入规则 -> 添加入口规则 -> 设置 CIDR `0.0.0.0/0` 后,保存.
|
||||
10. 打开 `ip-address-of-instance:3000` 您会看到仪表板.
|
||||
31
apps/docs/content/docs/core/deployments/oracle-cloud.mdx
Normal file
31
apps/docs/content/docs/core/deployments/oracle-cloud.mdx
Normal file
@@ -0,0 +1,31 @@
|
||||
---
|
||||
title: Oracle Cloud
|
||||
description: Deploy your application to Oracle Cloud
|
||||
---
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout';
|
||||
|
||||
|
||||
|
||||
Deploy your application to Oracle Cloud
|
||||
|
||||
Steps
|
||||
|
||||
1. Log in to Oracle Cloud
|
||||
2. Create a new `Compute Instance`
|
||||
3. Go to `Image and Shape`
|
||||
4. Select `Ubuntu 20.04 LTS` and Shape
|
||||
|
||||
<ImageZoom src="/assets/images/deployment/oracle/oracle-shape.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
|
||||
5. Add SSH Key, make sure to add the public key of your SSH key
|
||||
6. Login to the instance `ssh ubuntu@ip-address-of-instance`
|
||||
<Callout>
|
||||
If you cannot access to the instance because you se connection refused error, you can try adding a `Public Subnet IPv4 CIDR Block` to the instance, go to your instance and then Quick Actions -> Connect public subnet to internet -> Create
|
||||
</Callout>
|
||||
7. Run `sudo su`
|
||||
8. Run `curl -sSL https://dokploy.com/install.sh | sh`
|
||||
9. By default oracle cloud have blocked the ports only the 22 is open, you can change in your instance -> attached VNICs -> click on `subnet` Link -> go to `Security Lists` -> `Inbound Rules` -> Click on `default security list for vnc` Link -> Go to ingress rules -> add a ingress rule -> on source CIDR `0.0.0.0/0` and save.
|
||||
9. Go to `ip-address-of-instance:3000` and you will see the dashboard.
|
||||
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
---
|
||||
title: 自动部署
|
||||
description: 如何使用 Dokploy 自动部署您的 docker-compose 应用
|
||||
---
|
||||
|
||||
自动部署您的 docker-compose 应用到 Dokploy 可以通过两种主要方法实现:使用 Webhooks 或 Dokploy API。每种方法支持各种平台,并提供简化的部署过程。
|
||||
|
||||
## Github
|
||||
|
||||
对于 Github,我们提供无需配置的自动部署。这将在您推送到存储库时自动部署您的应用。
|
||||
|
||||
## Webhook URL
|
||||
|
||||
使用 Webhooks,您可以在源代码库中发生更改时自动部署您的 docker-compose 应用。
|
||||
|
||||
- GitHub
|
||||
- GitLab
|
||||
- Bitbucket
|
||||
- Gitea
|
||||
|
||||
### 配置步骤
|
||||
|
||||
1. **启用自动部署**:在 Dokploy 中的应用设置的常规标签中切换“自动部署”按钮。
|
||||
2. **获取 Webhook URL**:从部署日志中找到 Webhook URL。
|
||||
|
||||
<ImageZoom
|
||||
src="/assets/webhook-url-compose.png"
|
||||
alt="Webhook URL"
|
||||
width={1000}
|
||||
height={500}/>
|
||||
|
||||
3. **配置您的存储库**:
|
||||
- 导航到您选择的平台上的存储库设置。
|
||||
- 添加 Dokploy 提供的 webhook URL。
|
||||
- 确保设置匹配触发 webhook 所需的配置。
|
||||
|
||||
<ImageZoom
|
||||
src="/assets/webhook-github.png"
|
||||
alt="Webhook URL"
|
||||
width={1000}
|
||||
height={500}/>
|
||||
|
||||
#### 重要说明
|
||||
|
||||
- **分支匹配**:使用基于 Git 的提供商(GitHub、GitLab 等)时,确保 Dokploy 中配置的分支与您打算推送到的分支匹配。不匹配将导致“分支不匹配”错误。
|
||||
- 所有提供商的步骤相同。
|
||||
|
||||
## API 方法
|
||||
|
||||
通过 Dokploy API 从任何地方以编程方式部署您的应用。
|
||||
|
||||
### 使用 API 部署的步骤
|
||||
|
||||
步骤:
|
||||
|
||||
1. **生成令牌**:在 Dokploy 的个人资料设置中创建一个 API 令牌。
|
||||
2. **获取 Compose ID**:
|
||||
|
||||
```http
|
||||
curl -X 'GET' \
|
||||
'https://your-domain/api/project.all' \
|
||||
-H 'accept: application/json' \
|
||||
-H 'Authorization: Bearer <token>'
|
||||
```
|
||||
|
||||
此命令列出所有项目和服务。确定您要部署的 compose 的 composeId。
|
||||
|
||||
3. **触发部署**:
|
||||
```http
|
||||
curl -X 'POST' \
|
||||
'https://canary.dokploy.com/api/compose.deploy' \
|
||||
-H 'accept: application/json' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-H 'Authorization: Bearer <token>' \
|
||||
-d '{
|
||||
"composeId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
这种 API 方法提供了灵活的、可脚本化的部署选项,适用于自动化系统或无法直接集成存储库的情况。
|
||||
通过这种方式,您可以从任何地方部署您的应用,可以使用 webhook URL 或 API。
|
||||
84
apps/docs/content/docs/core/docker-compose/auto-deploy.mdx
Normal file
84
apps/docs/content/docs/core/docker-compose/auto-deploy.mdx
Normal file
@@ -0,0 +1,84 @@
|
||||
---
|
||||
title: Auto-deploy
|
||||
description: How to auto-deploy your docker-compose application with Dokploy
|
||||
---
|
||||
|
||||
Automatically deploying your docker-compose application to Dokploy can be achieved through two primary methods: using Webhooks or the Dokploy API. Each method supports various platforms and provides a streamlined deployment process.
|
||||
|
||||
## Github
|
||||
|
||||
For Github, we provide autodeploy without any configuration. This will automatically deploy your application whenever you push to your repository.
|
||||
|
||||
## Webhook URL
|
||||
|
||||
Webhooks allow you to automatically deploy your docker-compose application whenever changes are made in your source repository.
|
||||
|
||||
- GitHub
|
||||
- GitLab
|
||||
- Bitbucket
|
||||
- Gitea
|
||||
|
||||
### Configuration Steps
|
||||
|
||||
1. **Enable Auto Deploy**: Toggle the 'Auto Deploy' button found in the general tab of your application settings in Dokploy.
|
||||
2. **Obtain Webhook URL**: Locate the Webhook URL from the deployment logs.
|
||||
|
||||
<ImageZoom
|
||||
src="/assets/webhook-url-compose.png"
|
||||
alt="Webhook URL"
|
||||
width={1000}
|
||||
height={500}
|
||||
/>
|
||||
|
||||
3. **Configure Your Repository**:
|
||||
- Navigate to your repository settings on your chosen platform.
|
||||
- Add the webhook URL provided by Dokploy.
|
||||
- Ensure the settings match the configuration necessary for triggering the webhook.
|
||||
|
||||
<ImageZoom
|
||||
src="/assets/webhook-github.png"
|
||||
alt="Webhook URL"
|
||||
width={1000}
|
||||
height={500}
|
||||
/>
|
||||
|
||||
#### Important Notes
|
||||
|
||||
- **Branch Matching**: When using Git-based providers (GitHub, GitLab, etc.), ensure that the branch configured in Dokploy matches the branch you intend to push to. Misalignment will result in a "Branch Not Match" error.
|
||||
- The steps are the same for all the providers.
|
||||
|
||||
## API Method
|
||||
|
||||
Deploy your application programmatically using the Dokploy API from anywhere.
|
||||
|
||||
### Steps to Deploy Using API
|
||||
|
||||
Steps:
|
||||
|
||||
1. **Generate a Token**: Create an API token in your profile settings on Dokploy.
|
||||
2. **Retrieve Compose ID**:
|
||||
|
||||
```http
|
||||
curl -X 'GET' \
|
||||
'https://your-domain/api/project.all' \
|
||||
-H 'accept: application/json'
|
||||
-H 'Authorization: Bearer <token>'
|
||||
```
|
||||
|
||||
This command lists all projects and services. Identify the composeId for the compose you wish to deploy.
|
||||
|
||||
3. **Trigger Deployment**:
|
||||
|
||||
```http
|
||||
curl -X 'POST' \
|
||||
'https://canary.dokploy.com/api/compose.deploy' \
|
||||
-H 'accept: application/json' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-H 'Authorization: Bearer <token>' \
|
||||
-d '{
|
||||
"composeId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
This API method allows for flexible, scriptable deployment options, suitable for automated systems or situations where direct repository integration is not feasible.
|
||||
In this way you can deploy your application from anywhere, you can use the webhook URL or the API.
|
||||
196
apps/docs/content/docs/core/docker-compose/domains.mdx
Normal file
196
apps/docs/content/docs/core/docker-compose/domains.mdx
Normal file
@@ -0,0 +1,196 @@
|
||||
---
|
||||
title: Domains
|
||||
description: Configure domains for your Docker Compose application.
|
||||
---
|
||||
|
||||
When using Docker Compose, adding a domain to a service is a straightforward process. This guide will walk you through the necessary steps to configure domains for your application.
|
||||
|
||||
Key Steps:
|
||||
|
||||
1. Add the service to the `dokploy-network`.
|
||||
2. Use Traefik labels to configure routing.
|
||||
|
||||
Example Scenario
|
||||
|
||||
Let's consider an application with three components: a frontend, a backend, and a database. We'll start with a basic Docker Compose file and then enhance it with domain configuration.
|
||||
|
||||
```yaml
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
frontend:
|
||||
build:
|
||||
context: ./frontend
|
||||
dockerfile: Dockerfile
|
||||
volumes:
|
||||
- ./frontend:/app
|
||||
ports:
|
||||
- "3000:3000"
|
||||
depends_on:
|
||||
- backend
|
||||
|
||||
backend:
|
||||
build:
|
||||
context: ./backend
|
||||
dockerfile: Dockerfile
|
||||
volumes:
|
||||
- ./backend:/app
|
||||
ports:
|
||||
- "5000:5000"
|
||||
environment:
|
||||
- DATABASE_URL=postgres://postgres:password@database:5432/mydatabase
|
||||
depends_on:
|
||||
- database
|
||||
|
||||
database:
|
||||
image: postgres:13
|
||||
environment:
|
||||
POSTGRES_USER: postgres
|
||||
POSTGRES_PASSWORD: password
|
||||
POSTGRES_DB: mydatabase
|
||||
volumes:
|
||||
- db-data:/var/lib/postgresql/data
|
||||
|
||||
volumes:
|
||||
db-data:
|
||||
```
|
||||
|
||||
## Step 1: Add the Network
|
||||
|
||||
First, we'll add the dokploy-network to our services:
|
||||
|
||||
```yaml
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
frontend:
|
||||
# ... (previous configuration)
|
||||
networks:
|
||||
- dokploy-network
|
||||
|
||||
backend:
|
||||
# ... (previous configuration)
|
||||
networks:
|
||||
- dokploy-network
|
||||
|
||||
database:
|
||||
# ... (previous configuration)
|
||||
networks:
|
||||
- dokploy-network
|
||||
|
||||
volumes:
|
||||
db-data:
|
||||
|
||||
networks:
|
||||
dokploy-network:
|
||||
external: true
|
||||
```
|
||||
|
||||
Step 2: Configuring Traefik Labels
|
||||
|
||||
Now, let's add Traefik labels to route domains to our services. We'll focus on the frontend and backend services:
|
||||
|
||||
{/* It is necessary to add these labels:
|
||||
|
||||
1. `traefik.enable=true`
|
||||
This label tells Traefik that this service should be routed by Traefik.
|
||||
2. `traefik.http.routers.<UNIQUE-RULE>.rule=Host('your-domain.dokploy.com')`
|
||||
This label tells Traefik that the domain to be used is `your-domain.dokploy.com`
|
||||
3. `traefik.http.routers.<UNIQUE-RULE>.entrypoints=web`
|
||||
This label tells Traefik that the service should be accessible via the `http` protocol.
|
||||
4. `traefik.http.services.<UNIQUE-RULE>.loadbalancer.server.port=3000`
|
||||
This label tells Traefik that the port to be used is `3000`
|
||||
|
||||
Note: For loadbalancer.server.port, ensure you assign the port that your service is using. It's important to note that you do not need to expose the port like this:
|
||||
|
||||
Nota: en el loadbalancer.server.port asegurate de asignar el puerto que tu servicio esta utilizando, y alcaramos no es necesario que expongas el puerto de esta manera
|
||||
|
||||
'3000:3000' esto es incorrecto, unicamente debes de asignar el puerto que tu servicio esta utilizando, en este caso `3000`
|
||||
|
||||
asegurate de crear los registros `A` que apunten a tu dominio, esto hazlo desde tu DNS provider. */}
|
||||
|
||||
|
||||
```yaml
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
frontend:
|
||||
build:
|
||||
context: ./frontend
|
||||
dockerfile: Dockerfile
|
||||
volumes:
|
||||
- ./frontend:/app
|
||||
expose:
|
||||
- 3000
|
||||
depends_on:
|
||||
- backend
|
||||
networks:
|
||||
- dokploy-network
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.frontend-app.rule=Host(`frontend.dokploy.com`)
|
||||
- traefik.http.routers.frontend-app.entrypoints=web
|
||||
- traefik.http.services.frontend-app.loadbalancer.server.port=3000
|
||||
|
||||
backend:
|
||||
build:
|
||||
context: ./backend
|
||||
dockerfile: Dockerfile
|
||||
volumes:
|
||||
- ./backend:/app
|
||||
expose:
|
||||
- 5000
|
||||
environment:
|
||||
- DATABASE_URL=postgres://postgres:password@database:5432/mydatabase
|
||||
depends_on:
|
||||
- database
|
||||
networks:
|
||||
- dokploy-network
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.backend-app.rule=Host(`backend.dokploy.com`)
|
||||
- traefik.http.routers.backend-app.entrypoints=web
|
||||
- traefik.http.services.backend-app.loadbalancer.server.port=5000
|
||||
|
||||
database:
|
||||
# ... (same as before)
|
||||
|
||||
volumes:
|
||||
db-data:
|
||||
|
||||
networks:
|
||||
dokploy-network:
|
||||
external: true
|
||||
```
|
||||
|
||||
Understanding Traefik Labels
|
||||
|
||||
|
||||
1. `traefik.enable=true` Enables Traefik routing for the service.
|
||||
2. `traefik.http.routers.<UNIQUE-RULE>.rule=Host('your-domain.dokploy.com')` Specifies the domain for the service
|
||||
3. `traefik.http.routers.<UNIQUE-RULE>.entrypoints=web` Sets the service to be accessible via HTTP.
|
||||
4. `traefik.http.services.<UNIQUE-RULE>.loadbalancer.server.port=3000` Specifies the port your service is using internally.
|
||||
|
||||
**Note**: Replace `<UNIQUE-RULE>` with a unique identifier for each service (e.g., frontend-app, backend-app, etc.).
|
||||
|
||||
|
||||
## Important Considerations
|
||||
|
||||
1. **Port Exposure**: Use `expose` instead of `ports` to expose ports to the host machine. This ensures that the ports are not exposed to the host machine.
|
||||
2. **DNS Configuration**: Ensure you create `A` records pointing to your domain in your DNS Provider Settings.
|
||||
3. **HTTPS**: For HTTPS, you can use Let's Encrypt or other SSL/TLS certificates.
|
||||
|
||||
|
||||
## Deployment
|
||||
|
||||
With these configurations in place, you're now ready to deploy your application using Docker Compose. This setup should be sufficient to get your services up and running with custom domain routing through Traefik.
|
||||
|
||||
## SSL Certificates and Further Configuration
|
||||
|
||||
If you have questions about when to use Let's Encrypt or other SSL certificate options, you can find more detailed information in the following resources:
|
||||
|
||||
1. [Certificates](/docs/core/domain/certificates)
|
||||
2. [Docker Compose Domain](/docs/core/domain/docker-compose-setup)
|
||||
3. [Docker Compose Example](/docs/core/docker-compose/example)
|
||||
|
||||
If you have any further questions or need assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc) and we'll be happy to help.
|
||||
110
apps/docs/content/docs/core/docker-compose/example.mdx
Normal file
110
apps/docs/content/docs/core/docker-compose/example.mdx
Normal file
@@ -0,0 +1,110 @@
|
||||
---
|
||||
title: "Example"
|
||||
description: "Learn how to use Docker Compose with Dokploy"
|
||||
|
||||
---
|
||||
|
||||
## Tutorial
|
||||
|
||||
In this tutorial, we will create a simple application using Docker Compose and route the traffic to an accessible domain.
|
||||
|
||||
|
||||
### Steps
|
||||
|
||||
1. Create a new project.
|
||||
2. Create a new service `Compose` and select the Compose Type `Docker Compose`.
|
||||
3. Fork this repository: [Repo](https://github.com/Dokploy/docker-compose-test).
|
||||
4. Select Provider type: GitHub or Git.
|
||||
5. Select the repository: `Dokploy/docker-compose-test`.
|
||||
6. Select the branch: `main`.
|
||||
7. Set the Compose Path to `./docker-compose.yml` and save.
|
||||

|
||||
|
||||
|
||||
### Updating Your `docker-compose.yml`
|
||||
|
||||
Add the following to your existing `docker-compose.yml` file:
|
||||
|
||||
1. Add the network `dokploy-network` to each service.
|
||||
2. Add labels for Traefik to make the service accessible through the domain.
|
||||
|
||||
Example:
|
||||
|
||||
Let's modify the following compose file to make it work with Dokploy:
|
||||
|
||||
```yaml
|
||||
version: "3"
|
||||
|
||||
services:
|
||||
next-app:
|
||||
build:
|
||||
context: ./next-app
|
||||
dockerfile: prod.Dockerfile
|
||||
args:
|
||||
ENV_VARIABLE: ${ENV_VARIABLE}
|
||||
NEXT_PUBLIC_ENV_VARIABLE: ${NEXT_PUBLIC_ENV_VARIABLE}
|
||||
restart: always
|
||||
ports:
|
||||
- 3000:3000
|
||||
networks:
|
||||
- my_network
|
||||
networks:
|
||||
my_network:
|
||||
external: true
|
||||
```
|
||||
|
||||
|
||||
Updated version with dokploy-network and Traefik labels:
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout';
|
||||
|
||||
<Callout type="warn">
|
||||
Don't set container_name property to the each service, it will cause issues with logs, metrics and other features
|
||||
</Callout>
|
||||
{/* :::danger
|
||||
Don't set container_name property to the each service, it will cause issues with logs, metrics and other features
|
||||
|
||||
::: */}
|
||||
|
||||
```yaml
|
||||
version: "3"
|
||||
|
||||
services:
|
||||
next-app:
|
||||
build:
|
||||
context: ./next-app
|
||||
dockerfile: prod.Dockerfile
|
||||
args:
|
||||
ENV_VARIABLE: ${ENV_VARIABLE}
|
||||
NEXT_PUBLIC_ENV_VARIABLE: ${NEXT_PUBLIC_ENV_VARIABLE}
|
||||
restart: always
|
||||
ports:
|
||||
- 3000
|
||||
networks:
|
||||
- dokploy-network
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.<unique-name>.rule=Host(`your-domain.com`)"
|
||||
- "traefik.http.routers.<unique-name>.entrypoints=websecure"
|
||||
- "traefik.http.routers.<unique-name>.tls.certResolver=letsencrypt"
|
||||
- "traefik.http.services.<unique-name>.loadbalancer.server.port=3000"
|
||||
networks:
|
||||
dokploy-network:
|
||||
external: true
|
||||
```
|
||||
|
||||
Make sure to point the A record to the domain you want to use for your service.
|
||||
|
||||
<ImageZoom src="/assets/images/compose/domain.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
|
||||
Deploy the application by clicking on "deploy" and wait for the deployment to complete. Then give Traefik about 10 seconds to generate the certificates. You can then access the application through the domain you have set.
|
||||
|
||||
<ImageZoom src="/assets/images/compose/application.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
|
||||
**Tips**:
|
||||
|
||||
1. Set unique names for each router: `traefik.http.routers.<unique-name>`
|
||||
2. Set unique names for each service: `traefik.http.services.<unique-name>`
|
||||
3. Ensure the network is linked to the `dokploy-network`
|
||||
4. Set the entry point to websecure and the certificate resolver to letsencrypt to generate certificates.
|
||||
|
||||
49
apps/docs/content/docs/core/docker-compose/overview.mdx
Normal file
49
apps/docs/content/docs/core/docker-compose/overview.mdx
Normal file
@@ -0,0 +1,49 @@
|
||||
---
|
||||
title: "Overview"
|
||||
description: "Learn how to use Docker Compose with Dokploy"
|
||||
---
|
||||
|
||||
Dokploy integrates with Docker Compose and Docker Stack to provide flexible deployment solutions. Whether you are developing locally or deploying at scale, Dokploy facilitates application management through these powerful Docker tools.
|
||||
|
||||
### Configuration Methods
|
||||
|
||||
Dokploy provides two methods for creating Docker Compose configurations:
|
||||
|
||||
|
||||
- **Docker Compose**: Ideal for standard Docker Compose configurations.
|
||||
- **Stack**: Geared towards orchestrating applications using Docker Swarm. Note that some Docker Compose features, such as `build`, are not available in this mode.
|
||||
|
||||
### General
|
||||
|
||||
Configure the source of your code, the way your application is built, and also manage actions like deploying, updating, and deleting your application, and stopping it.
|
||||
|
||||
### Enviroment
|
||||
|
||||
A code editor within Dokploy allows you to specify environment variables for your Docker Compose file. By default, Dokploy creates a `.env` file in the specified Docker Compose file path.
|
||||
|
||||
### Monitoring
|
||||
|
||||
Monitor each service individually within Dokploy. If your application consists of multiple services, each can be monitored separately to ensure optimal performance.
|
||||
|
||||
### Logs
|
||||
|
||||
Access detailed logs for each service through the Dokploy log viewer, which can help in troubleshooting and ensuring the stability of your services.
|
||||
|
||||
|
||||
### Deployments
|
||||
|
||||
You can view the last 10 deployments of your application. When you deploy your application in real time, a new deployment record will be created and it will gradually show you how your application is being built.
|
||||
|
||||
We also offer a button to cancel deployments that are in queue. Note that those in progress cannot be canceled.
|
||||
|
||||
We provide a webhook so that you can trigger your own deployments by pushing to your GitHub, Gitea, GitLab, Bitbucket repository.
|
||||
|
||||
|
||||
### Advanced
|
||||
|
||||
This section provides advanced configuration options for experienced users. It includes tools for custom commands within the container and volumes.
|
||||
|
||||
- **Command**: Dokploy has a defined command to run the Docker Compose file, ensuring complete control through the UI. However, you can append flags or options to the command.
|
||||
- **Volumes**: To ensure data persistence across deployments, configure storage volumes for your application.
|
||||
|
||||
<ImageZoom src="/assets/images/compose/overview.png" width={800} height={630} quality={100} priority alt='home og image' className="rounded-lg" />
|
||||
41
apps/docs/content/docs/core/docker-compose/providers.mdx
Normal file
41
apps/docs/content/docs/core/docker-compose/providers.mdx
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
title: "Providers"
|
||||
description: "Learn how to use Docker Compose with Dokploy"
|
||||
---
|
||||
|
||||
Dokploy offers several deployment methods, streamlining the process whether you're utilizing GitHub, any Git provider, Raw, or automated deployments.
|
||||
|
||||
- GitHub
|
||||
- Git (Any Git Provider)
|
||||
- Raw
|
||||
|
||||
## GitHub
|
||||
|
||||
Deploying via GitHub is straightforward:
|
||||
|
||||
1. Configure your GitHub repository in the `/dashboard/settings/server`.
|
||||
2. When creating an application, Dokploy automatically retrieves the available repositories and branches.
|
||||
|
||||
## Git
|
||||
|
||||
For deployments from any Git repository, whether public or private, you can use either SSH or HTTPS:
|
||||
|
||||
1. Enter the repository URL.
|
||||
2. Specify the branch you wish to deploy.
|
||||
|
||||
### Private Repositories
|
||||
|
||||
For private repositories, authenticate using SSH. We provide a lock icon to generate an SSH key.
|
||||
|
||||
<ImageZoom src="/assets/dokploy-ssh-compose.png" width={800} height={630} className="rounded-lg"/>
|
||||
|
||||
You can then copy the SSH key and paste it into the settings of your account.
|
||||
|
||||
<ImageZoom src="/assets/private-repository.png" width={800} height={630} className="rounded-lg"/>
|
||||
|
||||
This enables you to pull repositories from your private repository, a method consistent across nearly all providers.
|
||||
|
||||
|
||||
## Raw
|
||||
|
||||
You specify a docker compose file directly in the code editor and trigger a deployment.
|
||||
23
apps/docs/content/docs/core/docker/overview.cn.mdx
Normal file
23
apps/docs/content/docs/core/docker/overview.cn.mdx
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
title: 概述
|
||||
description: "了解 Dokploy 如何使用 Docker Swarm 直接从仪表板部署应用程序和管理容器。"
|
||||
---
|
||||
|
||||
Dokploy 利用 Docker Swarm 为您的应用程序编排和管理容器部署,提供直观的监控界面。
|
||||
|
||||
## 查看容器
|
||||
|
||||
要监视和管理服务器上运行的容器:
|
||||
|
||||
- 导航到 Dokploy 中的 `/dashboard/docker` 页面。
|
||||
- 此页面显示您的服务器上当前活动的所有容器。
|
||||
|
||||
## 容器行为
|
||||
|
||||
对于每个容器,您都有几个管理选项:
|
||||
|
||||
- **View Logs(查看日志)**: 访问容器的实时日志以监控其活动并排除问题。
|
||||
- **View Config(查看配置)**: 检查容器的配置设置以了解其部署参数。
|
||||
- **Terminal(终端)**: 直接在容器内打开终端会话以执行高级管理任务。
|
||||
|
||||
这些功能提供了全面的工具来有效管理应用程序的容器,所有这些都来自 Dokploy 的用户友好型仪表板。
|
||||
23
apps/docs/content/docs/core/docker/overview.mdx
Normal file
23
apps/docs/content/docs/core/docker/overview.mdx
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
title: Overview
|
||||
description: 'Understand how Dokploy uses Docker Swarm for deploying applications and managing containers directly from the dashboard.'
|
||||
---
|
||||
|
||||
Dokploy leverages Docker Swarm to orchestrate and manage container deployments for your applications, providing an intuitive interface for monitoring and control.
|
||||
|
||||
## Viewing Containers
|
||||
|
||||
To monitor and manage the containers running on your server:
|
||||
|
||||
- Navigate to the `/dashboard/docker` route in Dokploy.
|
||||
- This page displays all the containers currently active on your server.
|
||||
|
||||
## Container Actions
|
||||
|
||||
For each container, you have several management options:
|
||||
|
||||
- **View Logs**: Access real-time logs from the container to monitor its activity and troubleshoot issues.
|
||||
- **View Config**: Review the configuration settings of the container to understand its deployment parameters.
|
||||
- **Terminal**: Open a terminal session directly within the container for advanced management tasks.
|
||||
|
||||
These features provide comprehensive tools to manage your applications' containers effectively, all from within Dokploy’s user-friendly dashboard.
|
||||
38
apps/docs/content/docs/core/domain/application-setup.cn.mdx
Normal file
38
apps/docs/content/docs/core/domain/application-setup.cn.mdx
Normal file
@@ -0,0 +1,38 @@
|
||||
---
|
||||
title: "应用程序域名设置"
|
||||
description: "了解如何为应用程序设置域名"
|
||||
---
|
||||
|
||||
|
||||
## 介绍
|
||||
|
||||
本指南详细介绍了如何为您的应用程序设置域名。
|
||||
|
||||
## 要求
|
||||
|
||||
如果您没有域名,请首先参阅 `Web域名设置` 部分。
|
||||
|
||||
## 创建 DNS 记录
|
||||
|
||||
1. 将 `A` 记录添加到您的 DNS 设置中:
|
||||
- **名称:** 输入您要指向的路线 (例如, `app` 到 `app.yourdomain.com`).
|
||||
- **值:** 输入服务器的 IP 地址, 例如 `1.2.3.4`.
|
||||
|
||||
## 应用程序域名设置
|
||||
|
||||
1. 导航至应用程序的仪表板。
|
||||
2. 转到 “域名” 选项卡并单击 “添加域名”。
|
||||
3. 输入您在上一步中创建的 DNS 记录 (例如:`app.yourdomain.com`)。
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout';
|
||||
|
||||
<Callout >
|
||||
|
||||
**注意:** 将容器端口设置为您的应用程序正在运行的端口。
|
||||
|
||||
</Callout>
|
||||
|
||||
等待 20-30 秒,让 Traefik 生成证书,之后您可以通过新设置的域访问您的应用程序。
|
||||
|
||||
转到任何应用程序并转到 “域名” 选项卡并单击 “添加域名” ,然后只需输入您在上一步中创建的记录即可。
|
||||
<ImageZoom src="/assets/images/application-domain-setup/app-setup-domain.png" width={800} height={630} quality={100} priority alt='home og image' className="rounded-lg" />
|
||||
29
apps/docs/content/docs/core/domain/application-setup.mdx
Normal file
29
apps/docs/content/docs/core/domain/application-setup.mdx
Normal file
@@ -0,0 +1,29 @@
|
||||
---
|
||||
title: "Application Domain Setup"
|
||||
description: "Learn how to setup a domain for an application"
|
||||
---
|
||||
|
||||
This guide details how to set up a domain for your application.
|
||||
|
||||
## Create DNS Record
|
||||
|
||||
1. Add an `A` record to your DNS settings:
|
||||
- **Name:** Enter the route you want to point to (e.g., `app` for `app.yourdomain.com`).
|
||||
- **Value:** Type in the IP address of your server, such as `1.2.3.4`.
|
||||
|
||||
## Application Domain Setup
|
||||
|
||||
1. Navigate to your application's dashboard.
|
||||
2. Go to the `Domains` tab and click on `Add Domain`.
|
||||
3. Enter the DNS record you created in the previous step (e.g., `app.yourdomain.com`).
|
||||
4. Make sure to assign the right container port (e.g., NextJS: `3000`).
|
||||
5. Choose your certificate option:
|
||||
- `None`
|
||||
- `Let's Encrypt`
|
||||
|
||||
|
||||
For detailed instructions on setting up certificates, refer to the [Certificates](/docs/core/domain/certificates) documentation.
|
||||
|
||||
|
||||
<ImageZoom src="/assets/images/application-domain-setup/app-setup-domain.png" width={800} height={630} quality={100} priority alt='home og image' className="rounded-lg" />
|
||||
|
||||
59
apps/docs/content/docs/core/domain/certificates.mdx
Normal file
59
apps/docs/content/docs/core/domain/certificates.mdx
Normal file
@@ -0,0 +1,59 @@
|
||||
---
|
||||
title: "Certificates"
|
||||
description: "Learn how to set up certificates for the Dokploy panel"
|
||||
---
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout';
|
||||
|
||||
When using a domain for Dokploy, we offer 3 options for certificates:
|
||||
|
||||
- Use `None`
|
||||
- Use a free SSL certificate from [Let's Encrypt](https://letsencrypt.org/)
|
||||
- Use a custom SSL certificate
|
||||
|
||||
## None
|
||||
|
||||
Using `None` basically means we will not assign a `tlsResolver`, so your DNS provider can implement SSL certificates from their own server.
|
||||
|
||||
<Callout title="Cloudflare">When you register a domain on Cloudflare, the SSL certificate is automatically assigned by Cloudflare, so you need to select `None` in Dokploy and disable HTTPS.</Callout>
|
||||
|
||||
## Let's Encrypt
|
||||
|
||||
Using a free SSL certificate from [Let's Encrypt](https://letsencrypt.org/) is the easiest option, but it comes with some limitations:
|
||||
|
||||
1. **Rate Limits**: There are limits on the number of certificates you can issue per domain and account within specific time frames.
|
||||
2. **Short Validity Period**: Certificates are valid for only 90 days, but Traefik automatically renews them for you.
|
||||
3. **Wildcard Certificates**: While supported, obtaining wildcard certificates requires DNS-01 validation, which can be more complex.
|
||||
4. **Domain Validation Only**: Let's Encrypt only provides Domain Validation (DV) certificates, which means they only verify domain ownership, not the organization behind it.
|
||||
5. **No Warranty**: Certificates come without any warranties or liability coverage, which might not be suitable for all use cases.
|
||||
|
||||
### Other Providers
|
||||
|
||||
For domains managed by providers other than Cloudflare, the process is simple:
|
||||
|
||||
1. In Dokploy, select `Let's Encrypt` and enable `HTTPS`.
|
||||
2. Ensure your DNS records are correctly set up to point to your server.
|
||||
3. Traefik will handle the rest, and the certificate should be generated within about 20 seconds.
|
||||
|
||||
### Cloudflare Setup
|
||||
|
||||
If your domain is managed by Cloudflare:
|
||||
|
||||
1. Ensure your domain is set to `Full (Strict)` mode in Cloudflare.
|
||||
2. In Dokploy, select `Let's Encrypt` and enable `HTTPS`.
|
||||
|
||||
Steps for Cloudflare configuration:
|
||||
|
||||
1. Log in to Cloudflare and navigate to `Websites` -> `Your Domain` -> `SSL/TLS` -> `Overview`.
|
||||
2. You will see 4 different modes (Off, Flexible, Full, Full (Strict)).
|
||||
3. To use Let's Encrypt, select `Full (Strict)`.
|
||||
|
||||
<Callout>
|
||||
**Note:** When creating a domain in your application, ensure you use the `Let's Encrypt` certificate and enable `HTTPS`. The generation of certificates typically takes about 20 seconds. If the certificate is not generated, restart Traefik and try again.
|
||||
</Callout>
|
||||
|
||||
## Custom SSL
|
||||
|
||||
We provide a way to create a certificate and have Traefik reference it, but that doesn't mean it will work automatically. You need to adjust the Traefik configuration to use it.
|
||||
|
||||
You can read more about how to create a custom certificate [here](https://docs.traefik.io/https/acme/#custom-ssl-certificates).
|
||||
84
apps/docs/content/docs/core/domain/docker-compose-setup.mdx
Normal file
84
apps/docs/content/docs/core/domain/docker-compose-setup.mdx
Normal file
@@ -0,0 +1,84 @@
|
||||
---
|
||||
title: "Docker Compose Setup"
|
||||
description: "Learn how to setup a domain for a Docker Compose application"
|
||||
---
|
||||
import { Step, Steps } from 'fumadocs-ui/components/steps';
|
||||
|
||||
This guide details how to set up a domain for your Docker Compose application.
|
||||
|
||||
## Create DNS Record
|
||||
|
||||
1. Add an `A` record to your DNS settings:
|
||||
- **Name:** Enter the route you want to point to (e.g., `app` for `app.yourdomain.com`).
|
||||
- **Value:** Type in the IP address of your server, such as `1.2.3.4`.
|
||||
|
||||
## Docker Compose Domain Setup
|
||||
|
||||
To make a Docker Compose service or container accessible via a domain, add two things to your existing Docker Compose file.
|
||||
|
||||
<Steps>
|
||||
<Step>
|
||||
Add the `dokploy-network` network to each service.
|
||||
|
||||
|
||||
```yaml
|
||||
services:
|
||||
app:
|
||||
image: nextjs-app
|
||||
networks:
|
||||
- dokploy-network
|
||||
ports:
|
||||
- "3000"
|
||||
|
||||
networks:
|
||||
dokploy-network:
|
||||
external: true
|
||||
```
|
||||
|
||||
</Step>
|
||||
|
||||
<Step>
|
||||
|
||||
Traefik labels to make the service accessible through the domain.
|
||||
|
||||
|
||||
1. if you are using the default Cloudflare configuration, add the following label:
|
||||
|
||||
- `traefik.http.routers.<unique-name>.entrypoints=web`
|
||||
|
||||
2. If you are using Let's Encrypt or Cloudflare's Full Strict mode, add the following labels:
|
||||
|
||||
- `traefik.http.routers.<unique-name>.entrypoints=websecure`
|
||||
- `traefik.http.routers.<unique-name>.tls.certResolver=letsencrypt`
|
||||
|
||||
|
||||
```yaml
|
||||
services:
|
||||
app:
|
||||
image: nextjs-app
|
||||
networks:
|
||||
- dokploy-network
|
||||
ports:
|
||||
- "3000"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.<unique-name>.entrypoints=websecure"
|
||||
- "traefik.http.routers.<unique-name>.tls.certResolver=letsencrypt"
|
||||
- "traefik.http.routers.<unique-name>.rule=Host(`app.yourdomain.com`)"
|
||||
- "traefik.http.services.<unique-name>.loadbalancer.server.port=3000"
|
||||
networks:
|
||||
dokploy-network:
|
||||
external: true
|
||||
```
|
||||
|
||||
</Step>
|
||||
|
||||
|
||||
</Steps>
|
||||
|
||||
|
||||
|
||||
### Example of a Basic `docker-compose.yml`
|
||||
|
||||
|
||||
For example of a basic `docker-compose.yml` file, refer to the [Docker Compose Quickstart](/docs/core/docker-compose/example#tutorial) documentation.
|
||||
24
apps/docs/content/docs/core/domain/requirements.mdx
Normal file
24
apps/docs/content/docs/core/domain/requirements.mdx
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
title: "Requirements"
|
||||
description: "See a requirements for a domain for the Dokploy panel"
|
||||
---
|
||||
|
||||
This guide will give you an idea of the requirements to assign a domain to your Dokploy panel or use it in any other application, whether Docker Compose or otherwise.
|
||||
|
||||
## Requirements
|
||||
|
||||
Before beginning, ensure you have a domain purchased from one of the following providers or a provider of your choice:
|
||||
|
||||
- [Cloudflare](https://www.cloudflare.com/)
|
||||
- [Namecheap](https://www.namecheap.com/domains/)
|
||||
- [Name.com](https://www.name.com/)
|
||||
- [GoDaddy](https://www.godaddy.com/)
|
||||
- [Domain.com](https://www.domain.com/)
|
||||
|
||||
|
||||
## Transfer Setup(Optional)
|
||||
|
||||
We recommend transferring your domain to Cloudflare for free SSL certificates and flexibility in using tools:
|
||||
|
||||
- [Transfer Domain to Cloudflare](https://developers.cloudflare.com/registrar/get-started/transfer-domain-to-cloudflare/)
|
||||
|
||||
47
apps/docs/content/docs/core/domain/web-domain-setup.cn.mdx
Normal file
47
apps/docs/content/docs/core/domain/web-domain-setup.cn.mdx
Normal file
@@ -0,0 +1,47 @@
|
||||
---
|
||||
title: "Web 域名设置"
|
||||
description: "学习如何为 Dokploy 面板设置主域名"
|
||||
---
|
||||
|
||||
## 介绍
|
||||
|
||||
本指南涵盖 Dokploy 面板主域名的基本设置。
|
||||
|
||||
## 要求
|
||||
|
||||
开始之前,请确保您已从以下提供商之一购买了域名:
|
||||
|
||||
- [Cloudflare](https://www.cloudflare.com/)
|
||||
- [Namecheap](https://www.namecheap.com/domains/)
|
||||
- [Name.com](https://www.name.com/)
|
||||
- [GoDaddy](https://www.godaddy.com/)
|
||||
- [Domain.com](https://www.domain.com/)
|
||||
- [阿里云](https://www.aliyun.com/)
|
||||
- [腾讯云](https://cloud.tencent.com/)
|
||||
|
||||
## 域名转移
|
||||
|
||||
我们建议将您的域转移到 Cloudflare 以提升安全性和增强服务:
|
||||
|
||||
- [将域名转移到 Cloudflare](https://developers.cloudflare.com/registrar/get-started/transfer-domain-to-cloudflare/)
|
||||
|
||||
## DNS 设置
|
||||
|
||||
使用 [Cloudflare](https://www.cloudflare.com/) 用于 DNS 管理:
|
||||
|
||||
1. 登录 Cloudflare 并导航至 `Websites` -> `Your Domain` -> `DNS` -> `Records`.
|
||||
2. 点击 `Add record`, 选择 `A`.
|
||||
3. 在 name 字段中输入 `web` 和, 在值字段中输入您的 IP 地址(例如,`1.2.3.4`) 。
|
||||
4. 保存记录。 您的 DNS 记录将是 `web.dokploy.com`.
|
||||
|
||||
<ImageZoom src="/assets/images/web-domain-setup/domain-setup.png" width={800} height={630} quality={100} priority alt='home og image' className="rounded-lg" />
|
||||
|
||||
## Dokploy 面板设置
|
||||
|
||||
1. 登录您的 Dokploy 面板。
|
||||
2. 导航到 `/dashboard/settings/server`.
|
||||
3. 在服务器域下,将您的域设置为与 Cloudflare 中配置的域相匹配(例如, `web.dokploy.com`).
|
||||
4. 保存,应用更改需要约 20 秒的时间生效。
|
||||
5. 通过以下方式访问您的面板 `https://web.dokploy.com`.
|
||||
|
||||
<ImageZoom src="/assets/images/web-domain-setup/dokploy-domain.png" width={800} height={630} quality={100} priority alt='home og image' className="rounded-lg" />
|
||||
34
apps/docs/content/docs/core/domain/web-domain-setup.mdx
Normal file
34
apps/docs/content/docs/core/domain/web-domain-setup.mdx
Normal file
@@ -0,0 +1,34 @@
|
||||
---
|
||||
title: "Web Domain Setup"
|
||||
description: "Learn how to setup a main domain for the Dokploy panel"
|
||||
---
|
||||
|
||||
This guide covers the basic setup of a main domain for your Dokploy panel.
|
||||
|
||||
## DNS Setup
|
||||
|
||||
We'll use [Cloudflare](https://www.cloudflare.com/) for DNS management, but you can use any provider. The steps should be similar.
|
||||
|
||||
1. Log in to Cloudflare and navigate to `Websites` -> `Your Domain` -> `DNS` -> `Records`.
|
||||
2. Click on `Add record`, select `A`.
|
||||
3. Enter `canary` in the name field and your IP address (e.g., `1.2.3.4`) in the value field.
|
||||
4. Save the record. Your DNS record will be `canary.dokploy.com`.
|
||||
|
||||
<ImageZoom src="/assets/images/web-domain-setup/domain-setup.png" width={800} height={630} quality={100} priority alt='home og image' className="rounded-lg" />
|
||||
|
||||
|
||||
## Dokploy Panel Setup
|
||||
|
||||
1. Log in to your Dokploy panel.
|
||||
2. Navigate to `/dashboard/settings/server`.
|
||||
3. Under Server domain, set your domain to match the one configured in Cloudflare (e.g., `canary.dokploy.com`).
|
||||
4. Choose your certificate option:
|
||||
- `None`
|
||||
- `Let's Encrypt`
|
||||
6. Access your panel via `https://canary.dokploy.com`.
|
||||
|
||||
|
||||
For detailed instructions on setting up certificates, refer to the [Certificates](/docs/core/domain/certificates) documentation.
|
||||
|
||||
|
||||
<ImageZoom src="/assets/images/web-domain-setup/dokploy-setup.png" width={800} height={630} quality={100} priority alt='home og image' className="rounded-lg" />
|
||||
29
apps/docs/content/docs/core/examples/astro-ssr.mdx
Normal file
29
apps/docs/content/docs/core/examples/astro-ssr.mdx
Normal file
@@ -0,0 +1,29 @@
|
||||
---
|
||||
title: Astro SSR
|
||||
description: Deploy a simple Astro SSR application.
|
||||
---
|
||||
|
||||
|
||||
This example will deploy a simple Astro SSR application.
|
||||
|
||||
|
||||
1. **Use Git Provider in Your Application**:
|
||||
- Repository: `https://github.com/Dokploy/examples.git`
|
||||
- Branch: `main`
|
||||
- Build path: `/astro-ssr`
|
||||
|
||||
2. **Add Environment Variables**:
|
||||
- Navigate to the "Environments" tab and add the following variable:
|
||||
```cmd
|
||||
NIXPACKS_START_CMD="pnpm run preview"
|
||||
```
|
||||
|
||||
3. **Click on Deploy**:
|
||||
- Deploy your application by clicking the deploy button.
|
||||
|
||||
4. **Generate a Domain**:
|
||||
- Click on generate domain button.
|
||||
- A new domain will be generated for you.
|
||||
- You can use this domain to access your application.
|
||||
|
||||
If you need further assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc).
|
||||
27
apps/docs/content/docs/core/examples/astro.mdx
Normal file
27
apps/docs/content/docs/core/examples/astro.mdx
Normal file
@@ -0,0 +1,27 @@
|
||||
---
|
||||
title: Astro
|
||||
description: Deploy a simple Astro application.
|
||||
---
|
||||
|
||||
This example will deploy a simple Astro application.
|
||||
|
||||
1. **Use Git Provider in Your Application**:
|
||||
- Repository: `https://github.com/Dokploy/examples.git`
|
||||
- Branch: `main`
|
||||
- Build path: `/astro`
|
||||
|
||||
2. **Add Environment Variables**:
|
||||
- Navigate to the "Environments" tab and add the following variable:
|
||||
```cmd
|
||||
NIXPACKS_START_CMD="pnpm run preview"
|
||||
```
|
||||
|
||||
3. **Click on Deploy**:
|
||||
- Deploy your application by clicking the deploy button.
|
||||
|
||||
4. **Generate a Domain**:
|
||||
- Click on generate domain button.
|
||||
- A new domain will be generated for you.
|
||||
- You can use this domain to access your application.
|
||||
|
||||
If you need further assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc).
|
||||
29
apps/docs/content/docs/core/examples/lit.mdx
Normal file
29
apps/docs/content/docs/core/examples/lit.mdx
Normal file
@@ -0,0 +1,29 @@
|
||||
---
|
||||
title: Lit
|
||||
description: Deploy a simple Lit application.
|
||||
---
|
||||
|
||||
|
||||
This example will deploy a simple Lit application.
|
||||
|
||||
|
||||
1. **Use Git Provider in Your Application**:
|
||||
- Repository: `https://github.com/Dokploy/examples.git`
|
||||
- Branch: `main`
|
||||
- Build path: `/lit`
|
||||
|
||||
2. **Add Environment Variables**:
|
||||
- Navigate to the "Environments" tab and add the following variable:
|
||||
```cmd
|
||||
NIXPACKS_START_CMD="pnpm run preview"
|
||||
```
|
||||
|
||||
3. **Click on Deploy**:
|
||||
- Deploy your application by clicking the deploy button.
|
||||
|
||||
4. **Generate a Domain**:
|
||||
- Click on generate domain button.
|
||||
- A new domain will be generated for you.
|
||||
- You can use this domain to access your application.
|
||||
|
||||
If you need further assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc).
|
||||
21
apps/docs/content/docs/core/examples/nestjs.mdx
Normal file
21
apps/docs/content/docs/core/examples/nestjs.mdx
Normal file
@@ -0,0 +1,21 @@
|
||||
---
|
||||
title: Nest.js
|
||||
description: Deploy a simple Nest.js application.
|
||||
---
|
||||
|
||||
|
||||
This example will deploy a simple Nest.js application.
|
||||
|
||||
1. **Use Git Provider in Your Application**:
|
||||
- Repository: `https://github.com/Dokploy/examples.git`
|
||||
- Branch: `main`
|
||||
- Build path: `/nestjs`
|
||||
2. **Click on Deploy**:
|
||||
- Deploy your application by clicking the deploy button.
|
||||
|
||||
3. **Generate a Domain**:
|
||||
- Click on generate domain button.
|
||||
- A new domain will be generated for you.
|
||||
- You can use this domain to access your application.
|
||||
|
||||
If you need further assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc).
|
||||
23
apps/docs/content/docs/core/examples/nextjs.mdx
Normal file
23
apps/docs/content/docs/core/examples/nextjs.mdx
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
title: Next.js
|
||||
description: Deploy a simple Next.js application.
|
||||
---
|
||||
|
||||
|
||||
This example will deploy a simple Next.js application.
|
||||
|
||||
|
||||
1. **Use Git Provider in Your Application**:
|
||||
- Repository: `https://github.com/Dokploy/examples.git`
|
||||
- Branch: `main`
|
||||
- Build path: `/nextjs`
|
||||
|
||||
2. **Click on Deploy**:
|
||||
- Deploy your application by clicking the deploy button.
|
||||
|
||||
3. **Generate a Domain**:
|
||||
1. Click on generate domain button.
|
||||
2. A new domain will be generated for you.
|
||||
3. You can use this domain to access your application.
|
||||
|
||||
If you need further assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc).
|
||||
29
apps/docs/content/docs/core/examples/preact.mdx
Normal file
29
apps/docs/content/docs/core/examples/preact.mdx
Normal file
@@ -0,0 +1,29 @@
|
||||
---
|
||||
title: Preact
|
||||
description: Deploy a simple Preact application.
|
||||
---
|
||||
|
||||
|
||||
This example will deploy a simple Preact application.
|
||||
|
||||
|
||||
1. **Use Git Provider in Your Application**:
|
||||
- Repository: `https://github.com/Dokploy/examples.git`
|
||||
- Branch: `main`
|
||||
- Build path: `/preact`
|
||||
|
||||
2. **Add Environment Variables**:
|
||||
- Navigate to the "Environments" tab and add the following variable:
|
||||
```cmd
|
||||
NIXPACKS_START_CMD="pnpm run preview"
|
||||
```
|
||||
|
||||
3. **Click on Deploy**:
|
||||
- Deploy your application by clicking the deploy button.
|
||||
|
||||
4. **Generate a Domain**:
|
||||
- Click on generate domain button.
|
||||
- A new domain will be generated for you.
|
||||
- You can use this domain to access your application.
|
||||
|
||||
If you need further assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc).
|
||||
29
apps/docs/content/docs/core/examples/qwik.mdx
Normal file
29
apps/docs/content/docs/core/examples/qwik.mdx
Normal file
@@ -0,0 +1,29 @@
|
||||
---
|
||||
title: Qwik
|
||||
description: Deploy a simple Qwik application.
|
||||
---
|
||||
|
||||
|
||||
This example will deploy a simple Qwik application.
|
||||
|
||||
|
||||
1. **Use Git Provider in Your Application**:
|
||||
- Repository: `https://github.com/Dokploy/examples.git`
|
||||
- Branch: `main`
|
||||
- Build path: `/qwik`
|
||||
|
||||
2. **Add Environment Variables**:
|
||||
- Navigate to the "Environments" tab and add the following variable:
|
||||
```cmd
|
||||
NIXPACKS_START_CMD="pnpm run preview"
|
||||
```
|
||||
|
||||
3. **Click on Deploy**:
|
||||
- Deploy your application by clicking the deploy button.
|
||||
|
||||
4. **Generate a Domain**:
|
||||
- Click on generate domain button.
|
||||
- A new domain will be generated for you.
|
||||
- You can use this domain to access your application.
|
||||
|
||||
If you need further assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc).
|
||||
23
apps/docs/content/docs/core/examples/remix.mdx
Normal file
23
apps/docs/content/docs/core/examples/remix.mdx
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
title: Remix
|
||||
description: Deploy a simple Remix application.
|
||||
---
|
||||
|
||||
|
||||
This example will deploy a simple Remix application.
|
||||
|
||||
|
||||
1. **Use Git Provider in Your Application**:
|
||||
- Repository: `https://github.com/Dokploy/examples.git`
|
||||
- Branch: `main`
|
||||
- Build path: `/remix`
|
||||
|
||||
2. **Click on Deploy**:
|
||||
- Deploy your application by clicking the deploy button.
|
||||
|
||||
3. **Generate a Domain**:
|
||||
- Click on generate domain button.
|
||||
- A new domain will be generated for you.
|
||||
- You can use this domain to access your application.
|
||||
|
||||
If you need further assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc).
|
||||
29
apps/docs/content/docs/core/examples/solidjs.mdx
Normal file
29
apps/docs/content/docs/core/examples/solidjs.mdx
Normal file
@@ -0,0 +1,29 @@
|
||||
---
|
||||
title: Solid.js
|
||||
description: Deploy a simple Solid.js application.
|
||||
---
|
||||
|
||||
|
||||
This example will deploy a simple Solid.js application.
|
||||
|
||||
|
||||
1. **Use Git Provider in Your Application**:
|
||||
- Repository: `https://github.com/Dokploy/examples.git`
|
||||
- Branch: `main`
|
||||
- Build path: `/solidjs`
|
||||
|
||||
2. **Add Environment Variables**:
|
||||
- Navigate to the "Environments" tab and add the following variable:
|
||||
```cmd
|
||||
NIXPACKS_START_CMD="pnpm run serve"
|
||||
```
|
||||
|
||||
3. **Click on Deploy**:
|
||||
- Deploy your application by clicking the deploy button.
|
||||
|
||||
4. **Generate a Domain**:
|
||||
- Click on generate domain button.
|
||||
- A new domain will be generated for you.
|
||||
- You can use this domain to access your application.
|
||||
|
||||
If you need further assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc).
|
||||
29
apps/docs/content/docs/core/examples/svelte.mdx
Normal file
29
apps/docs/content/docs/core/examples/svelte.mdx
Normal file
@@ -0,0 +1,29 @@
|
||||
---
|
||||
title: Svelte
|
||||
description: Deploy a simple Svelte application.
|
||||
---
|
||||
|
||||
|
||||
This example will deploy a simple Svelte application.
|
||||
|
||||
|
||||
1. **Use Git Provider in Your Application**:
|
||||
- Repository: `https://github.com/Dokploy/examples.git`
|
||||
- Branch: `main`
|
||||
- Build path: `/svelte`
|
||||
|
||||
2. **Add Environment Variables**:
|
||||
- Navigate to the "Environments" tab and add the following variable:
|
||||
```cmd
|
||||
NIXPACKS_START_CMD="pnpm run preview"
|
||||
```
|
||||
|
||||
3. **Click on Deploy**:
|
||||
- Deploy your application by clicking the deploy button.
|
||||
|
||||
4. **Generate a Domain**:
|
||||
- Click on generate domain button.
|
||||
- A new domain will be generated for you.
|
||||
- You can use this domain to access your application.
|
||||
|
||||
If you need further assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc).
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user