kamal-deployment

Deploy Kamal-based zero-downtime releases to staging and production.

7|3|Updated May 25, 2015
One-click install
npx skills add https://github.com/rockcodelabs/kw-app --skill kamal-deployment
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: kamal-deployment
Source: https://github.com/rockcodelabs/kw-app/tree/main/.agents/skills/kamal-deployment
Command: npx skills add https://github.com/rockcodelabs/kw-app --skill kamal-deployment

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill enables zero-downtime deployments of kw-app using Kamal to staging (Raspberry Pi ARM64) and production (VPS x86_64), ensuring services stay online during releases.

Core Features & Use Cases

  • Zero-downtime rolling restarts with Kamal for staging and production.
  • Automated migrations before deploying new containers.
  • Docker-based app container deployment with SSH-based remote execution.
  • Console access and troubleshooting workflows for both staging and production environments.

Quick Start

Use Kamal to deploy to staging: kamal deploy -d staging Verify deployment status: kamal app details -d staging Check logs during deployment: kamal app logs -d staging --tail 100 Open a staging Rails console: kamal app exec -d staging -i --reuse "bin/rails console" Deploy to production after staging passes: kamal deploy -d production

Frequently Asked Questions about kamal-deployment

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I deploy a Docker app to a Raspberry Pi staging environment with zero downtime?

You can deploy a Docker app to a Raspberry Pi staging environment with zero downtime using Kamal. It performs rolling restarts on ARM64 architecture, keeping staging services online during the release.

What do I need to set up before running Kamal deployments for my application?

Before running Kamal deployments, you need Ruby 3.2.2 managed via chruby, Kamal installed, configured SSH keys for remote access, and environment-specific deploy configuration files in config/deploy.*.yml.

How does Kamal handle zero-downtime production deployments across different server architectures?

Kamal handles zero-downtime production deployments by executing Docker-based container releases over SSH. It supports rolling restarts across ARM64 staging on Raspberry Pi and x86_64 production on VPS.

How do I access a Rails console on a remote server after deploying with Kamal?

To access a Rails console on a remote server after deploying with Kamal, use the command kamal app exec -d staging -i --reuse "bin/rails console" for an interactive session within the deployed container.

Does Kamal run database migrations automatically before deploying new Docker containers?

Yes, Kamal runs automated database migrations before deploying new Docker containers. This ensures your database schema is updated safely prior to the zero-downtime rolling restart of your application.

What is the best way to troubleshoot a failed Kamal deployment on a VPS?

The best way to troubleshoot a failed Kamal deployment on a VPS is to check container logs using kamal app logs --tail 100 and verify service status with kamal app details across your x86_64 production environment.