Adotar um Container Existente (`runner adopt`)

runner adopt traz um container já rodando para dentro da gestão do Runner, sem recriá-lo. O comando captura as variáveis de ambiente do container em produção, classifica cada uma como secreta ou não (usando a mesma detecção automática do wizard) e grava .env/.secrets — reencriptando o bundle no fim.

Quando usar

Use runner adopt quando você tem um container rodando manualmente (subido via docker run ou docker-compose up direto, fora do Runner) e quer passar a gerenciá-lo com runner deploy/runner fetch, sem perder as variáveis de ambiente já configuradas nele.

Diferente do runner wizard (que gera um .deploy.yml a partir do repositório) e do runner add (que registra uma app nova a partir de um repo), o adopt parte de um container já vivo como fonte de verdade das variáveis.

COLD vs WARM

Modo Quando ocorre O que faz
COLD Primeira adoção — a app ainda não está registrada no Runner Registra a app (precisa de --repo, --branch, --ckey) e importa as envs do container
WARM A app já está registrada no Runner Reaproveita o registro existente — só importa/atualiza as envs do container

Flags

Flag Obrigatória Descrição
app (posicional) Sim Nome da app
--from-container <CONTAINER> Sim Container em produção de onde as variáveis serão capturadas
-r, --repo <user/repo> Só no modo COLD Repositório GitHub da app
-b, --branch <branch> Só no modo COLD Branch de deploy (dist)
-t, --token <TOKEN> Não Token do GitHub para repos privados (fica encriptado em repouso). Alternativa: --token-from <APP> para reaproveitar o token de outra app já registrada
--ckey [VALOR] Só no modo COLD Chave de conteúdo (content key) do bundle de secrets. Passada sem valor, gera uma chave aleatória de 32 caracteres
--manifest-path <PATH> Não Caminho do .deploy.yml dentro do repo (útil em monorepos)
--instance <NAME> Não Instância alvo (production, staging, etc.)
--yes Não Modo não interativo: variáveis com classificação ambígua (secreta ou não) são tratadas como secretas por padrão (conservador)

Exemplos

Adoção COLD (primeira vez, app ainda não registrada)

runner adopt myapp --from-container myapp -r user/myapp -b main --ckey

Isso registra myapp no Runner (repo user/myapp, branch main), gera uma ckey aleatória e importa as variáveis de ambiente do container myapp já em execução.

Adoção WARM (app já registrada, só reimportar envs)

runner adopt myapp --from-container myapp

Como myapp já está registrada, o comando reaproveita o registro existente e apenas atualiza .env/.secrets com o que estiver no container.

Próximos passos

By Borlot.com.br on 05/07/2026