From devops
Deploys containerized web apps to Linux servers using Kamal 2. Assists with setup, deploy.yml config, zero-downtime deploys, rollbacks, accessories (databases, Redis), troubleshooting, CI/CD, multi-env setups.
How this skill is triggered — by the user, by Claude, or both
Slash command
/devops:kamalThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Kamal is a zero-downtime deployment tool for containerized applications, built by 37signals. It combines SSH, Docker, and Kamal Proxy to deploy any containerized web app to bare Linux servers.
Kamal is a zero-downtime deployment tool for containerized applications, built by 37signals. It combines SSH, Docker, and Kamal Proxy to deploy any containerized web app to bare Linux servers.
Key components: SSH/SSHKit (remote execution), Docker (containers), Kamal Proxy (zero-downtime routing), Accessories (supporting services).
gem install kamal
cd your-app && kamal init # Generate config/deploy.yml and .kamal/secrets
# Edit config/deploy.yml and .kamal/secrets
kamal setup # Bootstrap servers, install Docker, deploy
service: myapp
image: username/myapp
servers:
web:
- 192.168.1.10
registry:
server: ghcr.io
username: myuser
password:
- KAMAL_REGISTRY_PASSWORD
env:
secret:
- RAILS_MASTER_KEY
clear:
RAILS_ENV: production
proxy:
ssl: true
host: example.com
For complete configuration options (registry variants, builder, proxy, accessories, SSH, volumes, aliases, healthchecks, rollout strategies), see references/configuration.md.
kamal deploy # Build, push, deploy with zero downtime
kamal deploy -d staging # Deploy to specific environment
kamal rollback VERSION # Rollback to previous version
kamal app logs -f # Follow application logs
kamal app exec -i --reuse "bin/rails console" # Interactive console
kamal app maintenance # Enable maintenance mode
kamal app live # Disable maintenance mode
kamal config # Show parsed configuration
kamal lock release # Release stuck deployment lock
For complete command reference with all options, see references/commands.md.
Create .kamal/hooks/pre-deploy:
#!/bin/bash
kamal app exec -p -q "bin/rails db:migrate"
Then chmod +x .kamal/hooks/pre-deploy && kamal deploy.
kamal app containers # List available versions
kamal rollback abc123def # Rollback to specific version
kamal app logs -n 500 — check application logskamal server exec "docker ps -a" — check container statuskamal app exec "curl localhost:3000/up" — test health endpointkamal config — verify configurationkamal lock release — clear stuck locksCreate config/deploy.staging.yml, then:
kamal setup -d staging && kamal deploy -d staging
For detailed workflows (CI/CD, scaling, backups, security, canary deploys, monitoring), see references/workflows.md.
npx claudepluginhub el-feo/ai-context --plugin devopsGuides Kamal deployments of Dockerized apps to servers with zero-downtime, proxy/SSL setup, and accessories like DB/Redis. For Rails/web apps to Hetzner, DigitalOcean, AWS.
Guides Rails app deployment with Kamal 2: configure deploy.yml for web/job roles, kamal-proxy SSL, local registry, accessories like Postgres/Redis, Docker volumes/secrets.
Manages Kamal deployment pipelines for projects with dev/deploy/deploy-config.yml. Handles staging merges, production promotion, DB operations via hooks, health checks, and safe inspection with --check.