Inicio Rapido
Este guia mostra como instalar e configurar o Runner em seu servidor de producao.
Requisitos
Antes de comecar, certifique-se de ter:
- Linux (Ubuntu 22.04+ ou Debian 12+)
- Docker 24.0+ instalado e rodando
- Traefik 3.0+ configurado com dynamic config
- Acesso SSH ao servidor de producao
- GitHub CLI (
gh) instalado (opcional, para staging de PRs)
Instalacao
1. Download do Binario
curl -L https://runner.ccs.systems/runner -o /opt/runner/runner
chmod +x /opt/runner/runner2. Inicializar Ambiente
/opt/runner/runner initEste comando cria:
/opt/runner/config.yml- Configuracao global/opt/runner/state/- Diretorio de estado/opt/runner/logs/- Diretorio de logs
3. Configurar config.yml
Edite /opt/runner/config.yml:
# Caminhos
apps_path: /apps
traefik_dynamic_path: /etc/traefik/dynamic
state_path: /opt/runner/state
logs_path: /opt/runner/logs
# Docker
registry: registry.local
keep_versions: 3
# Traefik
traefik:
entrypoints:
- websecure
cert_resolver: myresolver
# GitHub
github:
default_user: seu-usuario-github
# Notificacoes (opcional)
telegram_bot_token: ""
telegram_chat_id: ""
# Staging (opcional)
staging:
enabled: true
base_path: /opt/runner/staging
network: public
default_ttl_hours: 48
max_total_instances: 204. Registrar Aplicacao
/opt/runner/runner add --repo usuario/meu-appEste comando:
- Clona o repositorio em
/apps/usuario_meu-app/ - Registra a app no estado do Runner
- Faz checkout da branch
dist
5. Configurar Cron
Adicione ao crontab (crontab -e):
# Fetch e deploy a cada 5 minutos
*/5 * * * * /opt/runner/runner fetch --deploy --json >> /var/log/runner-fetch.json 2>&1
# Cleanup de staging a cada hora (opcional)
0 * * * * /opt/runner/runner stage cleanup --json >> /var/log/runner-staging-cleanup.json 2>&1
# Cleanup de versoes antigas diario
0 3 * * * /opt/runner/runner cleanup >> /var/log/runner-cleanup.log 2>&1Preparar Repositorio
1. Criar Branch dist
No seu repositorio local:
git checkout -b dist
git push -u origin dist2. Criar .deploy.yml
Crie o arquivo .deploy.yml na raiz do projeto:
project: meu-app
port: 8000
networks:
- public
instances:
production:
domain: app.meusite.com.br
source:
type: dist
keep_versions: 33. Fazer Build e Push
# Build do projeto
npm run build # ou seu comando de build
# Mudar para dist
git checkout dist
# Copiar artefatos
rm -rf dist/
cp -r ../build/dist ./dist/
# Commit e push
git add .
git commit -m "deploy: v1.0.0"
git push origin distVerificar Deploy
Verificar Status
/opt/runner/runner list --detailedVer Logs
/opt/runner/runner logs tail --app /apps/usuario_meu-appTestar Health
/opt/runner/runner health --app /apps/usuario_meu-appConfigurar Notificacoes (Opcional)
Telegram
- Crie um bot com @BotFather
- Obtenha o chat ID enviando uma mensagem para o bot
- Configure no
config.yml:
telegram_bot_token: "123456789:ABCdefGHIjklMNOpqrsTUVwxyz"
telegram_chat_id: "-1001234567890"Discord
- Crie um webhook no canal desejado
- Configure no
config.yml:
discord_webhook: "https://discord.com/api/webhooks/..."Integrar com Claude Code (Opcional)
O Runner inclui um servidor MCP para integracao com Claude Code.
Instalar Configuracao MCP
/opt/runner/runner mcp installVerificar Status
/opt/runner/runner mcp statusApos instalar, reinicie o Claude Code. O Runner estara disponivel como ferramenta.
Proximos Passos
- Primeiro Deploy - Guia completo do primeiro deploy
- Canary Deployment - Deploy gradual com controle de trafego
- Staging de PRs - Ambientes efemeros para Pull Requests
- Referencia CLI - Todos os comandos disponiveis
Comandos Uteis
# Ver ajuda
runner --help
# Listar apps
runner list
# Deploy manual
runner deploy --app /apps/meu-app
# Rollback
runner rollback --app /apps/meu-app
# Ver versoes
runner versions meu-app -i production
By Borlot.com.br on 12/02/2026