Skip to content

mateuszbialowas/kamal-workshops-new

Repository files navigation

Kamal

Kamal Workshops

Learning Kamal — Deploy web apps anywhere with zero downtime.

Ruby on Rails Kamal Live

Live Demo · Kamal Docs · Kamal GitHub


About

This project is a hands-on workshop for learning Kamal — the deployment tool from Basecamp that lets you deploy containerized web apps to any server with zero downtime.

Built with Rails 8, containerized with Docker, and deployed via Kamal to a VPS — no PaaS required.

Tech Stack

Layer Technology
Framework Ruby on Rails 8.1
Language Ruby 3.4
Database SQLite3
Server Puma + Thruster
Jobs Solid Queue
Deploy Kamal 2 + Docker
SSL Let's Encrypt (auto)

Getting Started

Prerequisites

  • Ruby 3.4+
  • Docker
  • Kamal (gem install kamal)

Local Development

# Clone the repo
git clone https://github.com/<your-username>/kamal-workshops-new.git
cd kamal-workshops-new

# Install dependencies
bundle install

# Setup database
bin/rails db:setup

# Start the server
bin/dev

Deploy with Kamal

# First-time setup
kamal setup

# Subsequent deploys
kamal deploy

# Check logs
kamal app logs

Project Structure

├── config/
│   └── deploy.yml          # Kamal deployment config
├── .kamal/
│   └── secrets             # Environment secrets
├── Dockerfile              # Multi-stage production build
└── ...                     # Standard Rails 8 app

Deployment

The app is deployed to newapp.8301738.xyz using Kamal with:

  • Zero-downtime deploys via rolling restarts
  • Automatic SSL via Let's Encrypt
  • Docker Hub as the container registry
  • Persistent SQLite storage with mounted volumes

License

This project is open source under the MIT License.


Built with Ruby on Rails & deployed with Kamal

About

Kamal workshops in Krakow

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors