runner doctor

Executa auto-verificacao do estado local do Runner: config, master key, ckeys por app, deploy.yml das apps registradas e dependencias externas (docker, git).

Use quando: instalacao nova, suspeita de problema no servidor (Docker reinstalado, rotacao de mkey, state corrompido), ou antes de acionar suporte.

Sintaxe

runner doctor [flags]

Flags

Flag Default Descricao
-p, --project <PROJECT> Restringe o check ao projeto especificado
-o, --output <FORMAT> human Formato de saida: human, json, yaml
--json Atalho para --output json
-h, --help Exibe ajuda

O que e verificado

Componente O que o runner checa
Config Arquivo de config existe e e valido
mkey Master key inicializada e legivel
ckeys Cada ckey de app armazenada no state e decriptavel com a mkey atual
deploy.yml Existencia e parse valido de cada app registrada
Dependencias docker e git acessiveis no PATH e com versao compativel

Exemplos

Verificacao completa do servidor:

runner doctor

Verificar apenas um projeto especifico:

runner doctor --project meu-app

Exportar resultado para processamento externo:

runner doctor --json

Saida tipica (human):

[OK]   config          /opt/runner/config.yml
[OK]   mkey            initialized
[OK]   ckey            meu-app — decryptable
[WARN] ckey            outro-app — ckey missing (app never deployed?)
[OK]   deploy.yml      meu-app/production
[OK]   docker          27.0.3
[OK]   git             2.43.0

Erros comuns

  • config not found — O Runner ainda nao foi inicializado; execute runner init.
  • mkey not initialized — Rode runner init para gerar a mkey, ou restaure um backup com runner mkey export (ver runner mkey).
  • ckey decryption failed — A mkey foi rotacionada ou restaurada de outro servidor sem re-importar as ckeys. Execute runner doctor --json para listar quais apps foram afetadas e reregistre-as com runner add.
  • docker not found in PATH — Docker nao esta instalado ou nao esta no PATH do usuario que executa o runner.
  • deploy.yml parse error — O arquivo .deploy.yml da app tem YAML invalido; use runner validate <app> para detalhes.
By Borlot.com.br on 27/05/2026