Help us improve
Share bugs, ideas, or general feedback.
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.
npx claudepluginhub el-feo/ai-context --plugin devopsHow 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.
Guides 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.
Generates complete deployment configurations—Dockerfile, manifests, environment config, rollback procedures—for Node.js, Python, Go, Rust, Java services. Useful for deployment setup, strategy, or rollback queries.
Share bugs, ideas, or general feedback.
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.