Dokploy v0.30.8 常用 CLI 命令与工具详解

Dokploy v0.30.8 官方 CLI(@dokploy/cli 0.30.7)与服务器侧 Docker Compose/Swarm 运维命令实测详解:安装认证、config.json 与环境变量两种凭据方式、全量命令树、project/postgres/swarm/settings 命令组逐参数讲解、限速与版本差 400 排障实录。

DokployDokploy服务器管理2026/10/21

Dokploy v0.30.8 常用 CLI 命令与工具详解

目标:完整讲解 Dokploy v0.30.8 的两套命令行工具面——官方 CLI(npm 包 @dokploy/cli)与服务器侧 Docker Compose/Swarm 运维命令。涵盖 CLI 安装、认证、全量命令树、project/postgres/swarm/settings 四个高频命令组的逐参数讲解与真实回显,以及限速、版本差异等排障实录。全部命令均在 Ubuntu 24.04 实测执行,回显逐行照抄。

一、环境信息

项目值
面板服务器操作系统Ubuntu 24.04(x86_64)
面板服务器 Docker / Compose29.8.0 / v5.5.1
Dokploy 服务端版本v0.30.8
CLI 版本@dokploy/cli 0.30.7(npm 仓库当前最新,查询日期 2026-10-21)
运维机 Node.js / npmv22.23.3 / 10.9.9
面板地址http://192.168.146.128:8129(示例环境;官方默认部署面板监听 3000,认证时填实际可访问地址即可)
部署形态Docker Compose 编排(项目 dokploy-v0308-stack),Swarm 单管理节点
实测日期2026-10-21

面板的 Compose 部署过程见本专栏《Dokploy Docker Compose 部署指南》(https://www.quzuo.net/document/sQz2z32P5Jec),配置参数细节见[《Dokploy v0.30.8 配置参数详解》](https://www.quzuo.net/document/p2gEgQo3sIBk)(https://www.quzuo.net/document/p2gEgQo3sIBk)。本文不依赖这两篇的正文内容,所有命令均可独立执行。

二、工具概览

Dokploy 的命令行运维面由两部分组成,分工如下:

工具面载体运行位置适用场景
官方 CLI(@dokploy/cli)npm 包,命令名 dokploy任意可访问面板的 Linux 运维机远程批量管理项目/数据库/域名/通知,脚本化与 CI 集成
Docker Compose / Swarm 命令Docker 引擎自带面板服务器本机服务状态巡检、日志查看、组件健康自检、数据卷核对

关于官方 CLI 的几个关键事实(npm 仓库页面口径,查询日期 2026-10-21):

  • CLI 自 Dokploy v0.29.0 起正式提供,与 MCP Server 同批发布;
  • 命令由 Dokploy OpenAPI 规范自动生成,覆盖全部 API 端点(npm 页面标注 449 条子命令);
  • CLI 版本号与服务端版本号独立演进,安装时建议尽量对齐服务端版本(对齐注意事项见第七节)。

CLI 与面板/API 的关系:CLI 是面板 REST API 的命令行封装,认证走 API Key,因此 CLI 能做的面板都能做;CLI 的价值在于免登录、可脚本、可纳入 CI。需要直接调 HTTP 接口的场景(如自建监控拉数据)可绕过 CLI 直接用 API Key 请求 /api/<procedure> 端点。

技术拓展说明:npm 包有三种常见使用方式,选型对比如下。本文实测采用「项目本地安装」。

方式命令优点缺点适用
全局安装npm install -g @dokploy/cli任意目录可直接敲 dokploy升级影响全局;认证文件落在全局 node_modules 内运维机专用机
项目本地安装npm install @dokploy/cli版本随项目锁定,可纳入 Git 管理需经 ./node_modules/.bin/dokploy 或 npx 调用脚本仓库、CI
免安装直跑npx @dokploy/cli <cmd>不落盘、临时使用每次解析包有等待;认证文件位置随 npx 缓存变化偶尔排查

三、前置条件

  1. 面板已部署且可访问(部署方法见《Dokploy Docker Compose 部署指南》)。运维机连通性自检(Node.js 原生 fetch,实测):
node -e "fetch('http://192.168.146.128:8129/').then(r => console.log('HTTP', r.status))"

实测回显:

HTTP 200
  1. 运维机已安装 Node.js(含 npm)。实测版本:
node --version && npm --version

实测回显:

v22.23.3
10.9.9
  1. 已在面板创建 API Key:登录面板 → 右上角头像 → 「API Keys」→ 新建。创建后立即复制保存(面板只展示一次)。注意默认每个 Key 限速 10 次请求 / 24 小时,CLI 每执行一条涉及 API 的命令即消耗一次,批量脚本前建议先调大限额(参数含义与修改方式见《Dokploy v0.30.8 配置参数详解》第 5.7 节)。

四、CLI 安装与认证

4.1 安装

在运维机选一个工作目录执行本地安装:

mkdir -p /opt/dokploy-cli && cd /opt/dokploy-cli && npm init -y && npm install @dokploy/cli

实测回显(安装完成段):

7 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

确认版本:

./node_modules/.bin/dokploy -V

实测回显:

0.30.7

4.2 首次认证(auth)

查看 auth 用法:

./node_modules/.bin/dokploy auth --help

实测回显:

Usage: dokploy auth [options]

Authenticate with your Dokploy server

Options:
  -u, --url <url>      Server URL (e.g., https://panel.dokploy.com)
  -t, --token <token>  API key from your Dokploy dashboard
  -h, --help           display help for command

参数说明:

参数含义取值
-u, --url面板访问地址本文示例为 http://192.168.146.128:8129,以实际部署为准
-t, --token面板生成的 API Key第三步创建的 Key 值

token 属敏感值,建议经环境变量注入而不是落在 shell 历史:

read -s DOKPLOY_TOKEN    # 粘贴 API Key 后回车(输入不回显)
./node_modules/.bin/dokploy auth -u http://192.168.146.128:8129 -t "$DOKPLOY_TOKEN"

实测回显(Key 有效时):

Validating credentials...
Authenticated successfully.

Key 无效时的实测回显(后面 FAQ 一节有完整排障):

Validating credentials...
Authentication failed: Request failed with status code 401

4.3 认证存储位置与内容

认证成功后凭据落在 CLI 包目录下的 config.json。位置随安装方式不同:

  • 项目本地安装:<项目目录>/node_modules/@dokploy/cli/config.json
  • 全局安装:<npm 全局前缀>/node_modules/@dokploy/cli/config.json(可用 npm root -g 查前缀)

查看文件内容(token 为敏感值,回显隐去中间段):

cat node_modules/@dokploy/cli/config.json

实测回显:

{
  "url": "http://192.168.146.128:8129",
  "token": "hRnoyXgJvymAtrvv…(64 位完整值此处隐去)"
}

文件为明文 JSON,建议收敛权限:

chmod 600 node_modules/@dokploy/cli/config.json

另注意:npm install 重装/升级 CLI 包会重建 node_modules,config.json 随之丢失,需重新执行 dokploy auth;脚本化场景推荐改用 4.4 的环境变量方式,凭据与包生命周期解耦。

4.4 环境变量认证(免 config.json)

CLI 支持两个环境变量:DOKPLOY_URL(面板地址)与 DOKPLOY_AUTH_TOKEN(API Key)。不落配置文件直接执行:

export DOKPLOY_URL="http://192.168.146.128:8129"
export DOKPLOY_AUTH_TOKEN="$DOKPLOY_TOKEN"
./node_modules/.bin/dokploy settings get-release-tag

实测回显:

latest

两处都没有凭据时的实测报错:

No configuration found. Please run 'dokploy auth' first or set DOKPLOY_URL and DOKPLOY_AUTH_TOKEN environment variables.

优先级:环境变量与 config.json 同时存在时以环境变量为准,可用这一点在不改动配置文件的前提下临时切换目标面板。

4.5 全量命令树

./node_modules/.bin/dokploy --help

实测回显(完整):

Usage: dokploy [options] [command]

Dokploy CLI - Manage your Dokploy server

Options:
  -V, --version       output the version number
  -h, --help          display help for command

Commands:
  auth [options]      Authenticate with your Dokploy server
  admin               admin commands
  ai                  ai commands
  application         application commands
  audit-log           audit-log commands
  backup              backup commands
  bitbucket           bitbucket commands
  certificates        certificates commands
  cluster             cluster commands
  compose             compose commands
  custom-role         custom-role commands
  deployment          deployment commands
  destination         destination commands
  dns-provider        dns-provider commands
  docker              docker commands
  docker-disk-usage   docker-disk-usage commands
  docker-image        docker-image commands
  docker-volume       docker-volume commands
  domain              domain commands
  environment         environment commands
  forward-auth        forward-auth commands
  gitea               gitea commands
  github              github commands
  gitlab              gitlab commands
  git-provider        git-provider commands
  libsql              libsql commands
  license-key         license-key commands
  mariadb             mariadb commands
  mongo               mongo commands
  mounts              mounts commands
  mysql               mysql commands
  network             network commands
  notification        notification commands
  organization        organization commands
  overview            overview commands
  patch               patch commands
  port                port commands
  postgres            postgres commands
  preview-deployment  preview-deployment commands
  project             project commands
  redirects           redirects commands
  redis               redis commands
  registry            registry commands
  rollback            rollback commands
  schedule            schedule commands
  scim                scim commands
  security            security commands
  server              server commands
  settings            settings commands
  ssh-key             ssh-key commands
  sso                 sso commands
  stripe              stripe commands
  swarm               swarm commands
  tag                 tag commands
  user                user commands
  vault-provider      vault-provider commands
  volume-backups      volume-backups commands
  whitelabeling       whitelabeling commands

规律说明:除 auth 外全部是「命令组」,每组下再挂子命令;任意层级追加 --help 可查看该组用法;列表查询类子命令普遍支持 --json 输出原始 JSON,便于 jq 加工。

五、常用命令组详解

5.1 project 组(项目)

./node_modules/.bin/dokploy project --help

实测回显:

Usage: dokploy project [options] [command]

project commands

Options:
  -h, --help                     display help for command

Commands:
  all [options]                  project all
  all-for-permissions [options]  project allForPermissions
  complete-onboarding [options]  project completeOnboarding
  create [options]               project create
  duplicate [options]            project duplicate
  home-stats [options]           project homeStats
  onboarding-status [options]    project onboardingStatus
  one [options]                  project one
  remove [options]               project remove
  search [options]               project search
  update [options]               project update
  help [command]                 display help for command

最常用的是 project all(列出全部项目及其环境、资源清单),也是获取各类资源 ID 的入口:

./node_modules/.bin/dokploy project all

实测回显:

[
  {
    "projectId": "lK-c-eufIbhAuR_kWd4l0",
    "name": "demo",
    "description": "lab demo",
    "createdAt": "2026-10-21T07:24:26.713Z",
    "organizationId": "avblv0QFJO6M1qqNqBITg",
    "env": "",
    "environments": [
      {
        "name": "production",
        "environmentId": "ihjuHNzTNxuJHgtJ3a0D3",
        "isDefault": true,
        "applications": [],
        "mariadb": [],
        "mongo": [],
        "mysql": [],
        "postgres": [
          {
            "postgresId": "hcgREDx_xW3iURXKacig7"
          }
        ],
        "redis": [],
        "compose": [],
        "libsql": []
      }
    ],
    "projectTags": []
  }
]

project one 查询单个项目详情,参数 --projectId(从 project all 回显中取):

./node_modules/.bin/dokploy project one --help

实测回显:

Usage: dokploy project one [options]

project one

Options:
  --projectId <value>  projectId
  --json               Output raw JSON
  -h, --help           display help for command

其余子命令按 create --name <名称> --description <描述>、remove --projectId <id> 等形式调用,参数名以各子命令 --help 输出为准。

5.2 postgres 组(PostgreSQL 数据库编排)

./node_modules/.bin/dokploy postgres --help

实测回显:

Usage: dokploy postgres [options] [command]

postgres commands

Options:
  -h, --help                    display help for command

Commands:
  change-password [options]     postgres changePassword
  change-status [options]       postgres changeStatus
  create [options]              postgres create
  deploy [options]              postgres deploy
  move [options]                postgres move
  one [options]                 postgres one
  read-logs [options]           postgres readLogs
  rebuild [options]             postgres rebuild
  reload [options]              postgres reload
  remove [options]              postgres remove
  save-environment [options]    postgres saveEnvironment
  save-external-port [options]  postgres saveExternalPort
  search [options]              postgres search
  start [options]               postgres start
  stop [options]                postgres stop
  update [options]              postgres update
  help [command]                display help for command

核心操作链:create 建库定义 → deploy 触发部署 → one/read-logs 查状态与日志 → stop/start/reload/remove 生命周期管理。deploy 与 one 的必填参数都是 --postgresId(驼峰命名):

./node_modules/.bin/dokploy postgres deploy --help
./node_modules/.bin/dokploy postgres one --help

实测回显:

Usage: dokploy postgres deploy [options]

postgres deploy

Options:
  --postgresId <value>  postgresId
  --json                Output raw JSON
  -h, --help            display help for command
Usage: dokploy postgres one [options]

postgres one

Options:
  --postgresId <value>  postgresId
  --json                Output raw JSON
  -h, --help            display help for command

漏传必填参数时是客户端校验直接报错(不消耗 API 请求):

./node_modules/.bin/dokploy postgres one

实测回显:

error: required option '--postgresId <value>' not specified

mysql/mariadb/mongo/redis/libsql 组与 postgres 组结构完全一致,仅资源 ID 参数名对应变化(--mysqlId、--mariadbId、--mongoId、--redisId、--libsqlId)。

5.3 swarm 组(Swarm 集群信息)

./node_modules/.bin/dokploy swarm --help

实测回显:

Usage: dokploy swarm [options] [command]

swarm commands

Options:
  -h, --help                     display help for command

Commands:
  get-container-stats [options]  swarm getContainerStats
  get-node-apps [options]        swarm getNodeApps
  get-node-info [options]        swarm getNodeInfo
  get-nodes [options]            swarm getNodes
  help [command]                 display help for command

各子命令参数:

./node_modules/.bin/dokploy swarm get-nodes --help
./node_modules/.bin/dokploy swarm get-node-info --help
./node_modules/.bin/dokploy swarm get-container-stats --help

实测回显:

Usage: dokploy swarm get-nodes [options]

swarm getNodes

Options:
  --serverId <value>  serverId
  --json              Output raw JSON
  -h, --help          display help for command
Usage: dokploy swarm get-node-info [options]

swarm getNodeInfo

Options:
  --nodeId <value>    nodeId
  --serverId <value>  serverId
  --json              Output raw JSON
  -h, --help          display help for command
Usage: dokploy swarm get-container-stats [options]

swarm getContainerStats

Options:
  --serverId <value>  serverId
  --json              Output raw JSON
  -h, --help          display help for command

实测排障记录:本环境(CLI 0.30.7 + 服务端 v0.30.8)下 swarm get-nodes 无论是否带 --serverId 0 均返回:

Request failed with status code 400

同组合下 project all、settings get-* 等命令正常,判断为该子命令在当前版本组合下的兼容问题(详见第七节版本对齐与第八节 FAQ)。遇到此类 400 时,面板「Swarm」页与服务器本机 docker node ls(见 6.1 节)可作为替代取数路径。

5.4 settings 组(平台设置)

settings 是子命令最多的一组(51 条),覆盖版本查询、Traefik 配置读写、磁盘清理、健康检查等平台级操作:

./node_modules/.bin/dokploy settings --help

实测回显(完整):

Usage: dokploy settings [options] [command]

settings commands

Options:
  -h, --help                                     display help for command

Commands:
  assign-domain-server [options]                 settings assignDomainServer
  check-gpustatus [options]                      settings checkGPUStatus
  check-infrastructure-health [options]          settings checkInfrastructureHealth
  clean-all [options]                            settings cleanAll
  clean-all-deployment-queue [options]           settings cleanAllDeploymentQueue
  clean-docker-builder [options]                 settings cleanDockerBuilder
  clean-docker-prune [options]                   settings cleanDockerPrune
  clean-monitoring [options]                     settings cleanMonitoring
  clean-sshprivate-key [options]                 settings cleanSSHPrivateKey
  clean-stopped-containers [options]             settings cleanStoppedContainers
  clean-unused-images [options]                  settings cleanUnusedImages
  clean-unused-volumes [options]                 settings cleanUnusedVolumes
  get-docker-disk-usage [options]                settings getDockerDiskUsage
  get-dokploy-cloud-ips [options]                settings getDokployCloudIps
  get-dokploy-version [options]                  settings getDokployVersion
  get-ip [options]                               settings getIp
  get-log-cleanup-status [options]               settings getLogCleanupStatus
  get-open-api-document [options]                settings getOpenApiDocument
  get-release-tag [options]                      settings getReleaseTag
  get-traefik-ports [options]                    settings getTraefikPorts
  get-update-data [options]                      settings getUpdateData
  get-web-server-settings [options]              settings getWebServerSettings
  have-activate-requests [options]               settings haveActivateRequests
  have-traefik-dashboard-port-enabled [options]  settings haveTraefikDashboardPortEnabled
  health [options]                               settings health
  is-cloud [options]                             settings isCloud
  is-user-subscribed [options]                   settings isUserSubscribed
  read-directories [options]                     settings readDirectories
  read-middleware-traefik-config [options]       settings readMiddlewareTraefikConfig
  read-traefik-config [options]                  settings readTraefikConfig
  read-traefik-env [options]                     settings readTraefikEnv
  read-traefik-file [options]                    settings readTraefikFile
  read-web-server-traefik-config [options]       settings readWebServerTraefikConfig
  reload-server [options]                        settings reloadServer
  reload-traefik [options]                       settings reloadTraefik
  save-sshprivate-key [options]                  settings saveSSHPrivateKey
  setup-gpu [options]                            settings setupGPU
  toggle-dashboard [options]                     settings toggleDashboard
  toggle-requests [options]                      settings toggleRequests
  update-builds-concurrency [options]            settings updateBuildsConcurrency
  update-docker-cleanup [options]                settings updateDockerCleanup
  update-enforce-sso [options]                   settings updateEnforceSSO
  update-log-cleanup [options]                   settings updateLogCleanup
  update-middleware-traefik-config [options]     settings updateMiddlewareTraefikConfig
  update-remote-servers-only [options]           settings updateRemoteServersOnly
  update-server [options]                        settings updateServer
  update-server-ip [options]                     settings updateServerIp
  update-traefik-config [options]                settings updateTraefikConfig
  update-traefik-file [options]                  settings updateTraefikFile
  update-traefik-ports [options]                 settings updateTraefikPorts
  update-web-server-traefik-config [options]     settings updateWebServerTraefikConfig
  write-traefik-env [options]                    settings writeTraefikEnv
  help [command]                                 display help for command

高频子命令实测:

./node_modules/.bin/dokploy settings get-dokploy-version

实测回显:

v0.30.8
./node_modules/.bin/dokploy settings get-release-tag

实测回显:

latest

get-dokploy-version 返回服务端实际版本,与 dokploy -V(CLI 自身版本)配合即可核对两端版本差,这条检查建议纳入升级前后例行动作。clean-* 系列为破坏性清理操作(清构建缓存/未用镜像/未用卷等),生产环境执行前先评估。

5.5 其余命令组速查

按 --help 输出顺序,其余命令组的用途速查(每组下子命令均为「组名动词化」风格,细节用 <组> --help 查看):

命令组用途
admin / organization / user / custom-role / audit-log / scim / sso / forward-auth管理员、组织与用户体系、自定义角色、审计、企业身份接入(SCIM/SSO/转发认证)
aiAI 辅助分析(日志/构建错误诊断)
application / compose / deployment / preview-deployment / rollback应用与编排部署的创建、部署记录、预览环境与版本回滚
mariadb / mongo / mysql / postgres / redis / libsql六类数据库托管编排(结构与 5.2 postgres 组一致)
backup / volume-backups / destination数据库备份、卷备份及备份存储目标
certificates / domain / redirects / port证书、域名、重定向与端口管理
cluster / docker / docker-disk-usage / docker-image / docker-volume / network / overview集群与 Docker 资源查询(磁盘/镜像/卷/网络/总览)
mounts / schedule / security / patch挂载、计划任务、安全配置、补丁通道
gitea / github / gitlab / git-provider / bitbucket代码仓库接入(含共享 Git Provider)
notification通知渠道(邮件/Slack/Telegram 等)
registry镜像仓库凭据管理
server / ssh-key / dns-provider / vault-provider远程服务器纳管、SSH 密钥、DNS 与 Vault 凭据源
settings / environment / project / tag平台设置、环境、项目与标签
license-key / stripe / whitelabeling / is-cloud 相关商业化与品牌化能力(云版/许可)

六、服务器侧 Docker Compose / Swarm 运维命令

以下命令在面板服务器本机执行(部署目录 /opt/dokploy/compose,即 docker-compose.yml 所在目录),用于 CLI 覆盖不到的本机巡检。

6.1 服务状态巡检

cd /opt/dokploy/compose && docker compose ps

实测回显:

NAME               IMAGE                                                                     COMMAND                  SERVICE            CREATED          STATUS                    PORTS
dokploy            dokploy/dokploy:v0.30.8                                                   "/usr/bin/tini -- sh…"   dokploy            48 minutes ago   Up 22 minutes (healthy)   0.0.0.0:3000->3000/tcp, [::]:3000->3000/tcp
dokploy-postgres   sha256:8e011e58c789a89790269f53614a28a58cb02706ce74ba6d9d4171613d0b75e1   "docker-entrypoint.s…"   dokploy-postgres   48 minutes ago   Up 48 minutes             5432/tcp
dokploy-redis      redis:7                                                                   "docker-entrypoint.s…"   dokploy-redis      48 minutes ago   Up 48 minutes             6379/tcp
dokploy-traefik    traefik:v3.6.7                                                            "/entrypoint.sh trae…"   dokploy-traefik    47 minutes ago   Up 47 minutes             0.0.0.0:80->80/tcp, [::]:80->80/tcp, 0.0.0.0:443->443/tcp, [::]:443->443/tcp, 0.0.0.0:443->443/udp, [::]:443->443/udp

重点看 dokploy 一行的 STATUS 是否为 Up ... (healthy)(面板内置健康检查为 curl -fs http://localhost:3000/api/trpc/settings.health,间隔 30 秒)。

列出 compose 项目内的服务清单:

docker compose config --services

实测回显:

dokploy-redis
dokploy-traefik
dokploy
dokploy-postgres

从 Swarm 视角核对被编排服务(通过面板部署的数据库会以 Swarm 服务形态出现):

docker service ls --format "{{.Name}}\t{{.Replicas}}\t{{.Image}}"

实测回显(其中 postgres-back-up-virtual-alarm-amtzgf 为经面板「Project → PostgreSQL」部署生成的服务):

postgres-back-up-virtual-alarm-amtzgf   1/1     postgres:16

6.2 日志查看

docker compose logs dokploy --tail 3

实测回显(截取自一次无效 API Key 调用后的日志,正好演示 401 在服务端的呈现):

dokploy  | Error verifying API key Error: Invalid API key.
dokploy  |     at J (.next/server/chunks/3780.js:29:4683)
dokploy  |     at async Object.m [as createContext] (.next/server/chunks/6355.js:103:152052)

排查 CLI 报错时,先在本机日志里 grep 关键字(如 Error verifying API key、Rate limit),多数认证/限速问题在服务端日志的定位比 CLI 侧报错更直接。

6.3 组件健康自检与数据卷核对

docker exec dokploy-postgres pg_isready -U dokploy -d dokploy

实测回显:

/var/run/postgresql:5432 - accepting connections
docker exec dokploy-redis redis-cli ping

实测回显:

PONG

核对 compose 项目创建的命名卷(元数据与配置的持久化载体):

docker volume ls --format "{{.Name}}" | grep dokploy

实测回显:

dokploy-v0308-stack_dokploy-docker-config
dokploy-v0308-stack_dokploy-postgres-data
dokploy-v0308-stack_dokploy-redis-data

三个卷分别承载 Docker 配置缓存、PostgreSQL 元数据、Redis 队列数据;备份策略(每日落盘位置)见《Dokploy v0.30.8 配置参数详解》生产配置模板一节。

七、注意事项

  1. 版本对齐:CLI 与服务端版本独立发布,实测时 npm 侧最新为 0.30.7、服务端为 v0.30.8。该组合下多数命令正常(认证、project all、settings get-*、数据库创建/部署均实测可用),但 project one、postgres one、swarm get-nodes 等详情查询类子命令实测返回 Request failed with status code 400。建议升级服务端后同步升级 CLI 到同版本号,并用 dokploy -V 与 dokploy settings get-dokploy-version 双向核对。
  2. API Key 限速:默认每 Key 10 次请求 / 24 小时,超限后命令失败,服务端返回错误信息 Error: Rate limit exceeded.。CLI 每条涉及 API 的命令消耗一次限额,--help 类本地输出不消耗。批量脚本执行前先在面板调大限额;详情见《Dokploy v0.30.8 配置参数详解》第 5.7 节。
  3. 凭据明文落盘:config.json 以明文保存 API Key,且位于 node_modules 内,易被误提交或随目录泄露。务必 chmod 600,CI 场景改用 DOKPLOY_URL/DOKPLOY_AUTH_TOKEN 环境变量注入。
  4. 资源 ID 获取链路:CLI 各资源操作都需要资源 ID(如 --postgresId),ID 从 project all 的 JSON 回显中取(注意环境层级:资源挂在 project → environments 之下),配合 --json 参数与 jq 可脚本化提取。
  5. 400 排查路径:CLI 只回显状态码不回显错误体,先看面板服务器 docker compose logs dokploy 中对应时间的记录,再对照命令参数名(驼峰,如 --postgresId)与必填项。
  6. 客户端校验不消耗限额:required option ... not specified 类缺参报错发生在本地参数解析阶段,未发出请求,可放心重试。

八、常见问题

Q1:dokploy auth 提示 Authentication failed: Request failed with status code 401?

按顺序排查:① token 是否复制完整(面板只展示一次,漏字符最常见);② url 是否为面板实际可访问地址(本例 http://192.168.146.128:8129);③ 该 Key 是否已被删除或重建。服务端定位法:在面板服务器本机执行 docker compose logs dokploy --tail 50,若出现 Error verifying API key Error: Invalid API key. 即为 Key 无效,重新生成即可。另注意 0.30.x 版本存在「Key 未绑定组织上下文导致会话校验失败」的已知坑,创建 Key 时需在面板正常流程中生成,详见《Dokploy Docker Compose 部署指南》FAQ。

Q2:命令突然全部失败,提示限速?

服务端返回 Error: Rate limit exceeded.,即触发了默认 10 次/24 小时的 Key 限速。处理:等待限速窗口结束,或在面板 API Keys 设置中调大 rateLimitMax;已被限速的 Key 若需立即恢复,等待窗口自然重置即可(服务端侧的计数重置属运维操作,不在 CLI 能力范围内)。预防:脚本内串行调用并控制频率,高频场景单独创建大限额 Key。

Q3:报错 No configuration found. Please run 'dokploy auth' first or set DOKPLOY_URL and DOKPLOY_AUTH_TOKEN environment variables.?

运行目录下找不到凭据。三种可能:① 从未执行 dokploy auth;② npm install 重装/升级后 config.json 随 node_modules 被重建清掉;③ 在另一台机器/另一目录执行。按 4.2 或 4.4 重新提供凭据即可。

Q4:部分子命令返回 Request failed with status code 400,其他命令正常?

实测于 CLI 0.30.7 + 服务端 v0.30.8 组合,project one、postgres one、swarm get-nodes 复现,而 project all、settings get-*、数据库 create/deploy 正常——属于两端版本差异导致的个别接口不兼容。规避:详情类信息改从 project all 聚合回显取(其中已含各资源 ID 与项目结构),或升级 CLI 与服务端对齐后复测。

Q5:error: required option '--postgresId <value>' not specified 怎么解决?

漏传必填参数。参数名为驼峰(--postgresId 而非 --postgres-id),值从 dokploy project all 回显的对应资源条目中取。同类资源对应各自的 ID 参数(--mysqlId、--redisId 等),可用 dokploy <组> <子命令> --help 现查,避免凭记忆猜参数。

Q6:如何卸载/清理 CLI?

项目本地安装:删除项目目录即可(rm -rf /opt/dokploy-cli),凭据文件随 node_modules 一并清除。全局安装:npm uninstall -g @dokploy/cli,再手工确认全局 node_modules 下 @dokploy/cli 目录已不存在。CLI 的卸载不影响面板服务端任何数据;已发放的 API Key 建议在面板中一并吊销。

九、参考链接