From bare metal to cloud VMs, Kamal deploys your containerized applications with zero downtime. No PaaS lock-in, just simple and powerful deployments.
# Install Kamal
$ gem install kamal
# Initialize your project
$ kamal init
# Deploy to production
$ kamal deploy
Deploying to 3 servers...
Building Docker image...
Pushing to registry...
Deploy complete! Zero downtime.
TRUSTED BY DEVELOPERS AT
Simple configuration, powerful results
Rolling deploys ensure your users never experience interruption. New containers are verified before traffic switches.
Deploy to multiple servers simultaneously. Configure different roles like web, worker, and cron with ease.
Let's Encrypt certificates are automatically provisioned and renewed. HTTPS out of the box.
Powered by Traefik, automatically route traffic across your containers with health checks and failover.
A single YAML file defines your entire deployment. No complex manifests or cloud-specific configs.
SSH into containers, run rails console, or execute any command directly on your production servers.
Three simple steps to production
Run kamal init to generate your configuration file. Kamal creates a config/deploy.yml with sensible defaults.
# config/deploy.yml
service: my-app
image: my-registry/my-app
servers:
- 192.168.1.1
- 192.168.1.2
Run kamal setup to install Docker and configure your servers. Kamal handles all the infrastructure setup automatically.
Run kamal deploy and watch your application go live. Kamal builds your Docker image, pushes it to your registry, and deploys with zero downtime.
GitHub Stars
Deployments
Contributors
Downtime Required
Join thousands of developers who have simplified their deployments with Kamal. Start shipping faster today.