`runner restart`
Recycle do container que está atualmente servindo uma app, sem ir pelo pipeline de deploy completo. Útil para:
- Pegar mudanças de variáveis de ambiente após
runner env set - Destravar um processo preso (loop, deadlock, file descriptor leak)
- Reciclar conexões persistentes (DB pool, websockets, etc.)
Disponível desde v2.22.9.
Sintaxe
runner restart <app> [-i instance] [--timeout N] [--json]| Flag | Default | Descrição |
|---|---|---|
-i, --instance |
production |
Instance a reiniciar |
--timeout |
10 |
Stop timeout em segundos antes do SIGKILL |
--json |
false |
Output em JSON |
Como resolve o container
O runner localiza o container alvo a partir do state file:
state[app].current_version → {project_und}_{instance}_{version_und}Exemplo: app runner-wizard-mcp, instance production, versão v0.1.1:
runner_wizard_mcp_production_v0-1-1Faz docker stop (com timeout) + docker start. Não toca em volumes, networks, nem na imagem — apenas recicla o processo.
Exemplos
# Restart padrão (instance=production, timeout=10s)
runner restart meu-app
# Restart de instance específica
runner restart meu-app -i staging
# Timeout maior pra apps com graceful shutdown lento
runner restart meu-app --timeout 30
# JSON pra orquestrador/CCS
runner restart meu-app --jsonOutput JSON
{
"action": "restart",
"app": "meu-app",
"instance": "production",
"version": "v1.2.3",
"container": "meu_app_production_v1-2-3",
"success": true,
"stop_error": null,
"start_error": null,
"timestamp": "2026-05-15T..."
}Erros comuns
| Erro | Causa |
|---|---|
app '<X>' not registered (no state file) |
App não passou por runner add |
app '<X>' has no current_version (not deployed yet?) |
App registrada mas nunca deployada |
stop failed: 404 No such container |
Container já parado ou removido — rode runner deploy |
Veja também
- `runner deploy` — deploy normal (com mudança de versão)
- `runner env set` — alterar env vars (geralmente seguido de restart)
- `runner container logs` — ver logs do container alvo antes/depois
By Borlot.com.br on 15/05/2026