← Graph

Kamal is not harder than your PaaS

talk 30 connections

Josef Strzibny's wroclove.rb 2026 talk (alt title 'Kamal vs PaaS and how to make better steaks'). Argues Kamal isn't harder than a PaaS and can save money if you're already spending a lot. Covers Kamal fundamentals (app vs accessories with separate life cycles, Kamal proxy for routing and health-checking, blue-green gapless deploys requiring more RAM than expected, Docker named volumes vs directories); requirements (SSH keys, Docker, a Rails-style Dockerfile exposing port 80 with a health check, bin/thrust for asset caching, SSSL/force_ssl and host-authorization exclusions for health endpoints); a Digital Ocean Ubuntu droplet bootstrapped via a cloud-init script (apt upgrade, Docker, curl utilities, unattended-upgrades, fail2ban, UFW for ports 22/80/443 + 10.0.0.0/16, chrony time sync, swap space, non-root 'pass_admin' user in the docker group with sudo, disabling root SSH, optional Tailscale mesh VPN); cloud firewall layered on top (HTTP/HTTPS public, SSH or Tailscale UDP, intra-VPC); Kamal config walkthrough (service, image, local Docker registry by default, proxy host, secrets split into clear env + secrets, CPU/memory options for multi-app VMs, aliases like kamal console/logs/apps/nth, builder architecture, non-root SSH user); a demo app using SerpApi to track Google keyword rankings, backed by SQLite with Litestream replicating WAL to Cloudflare R2 as a Kamal accessory (user 1000 to match Rails Dockerfile); kamal setup, kamal audit, fail2ban logs for debugging; Digital Ocean's do-agent for VM CPU/memory/network metrics and alerts; restore flow from Litestream (list snapshots → maintenance mode → stop Litestream → rm files → restore → boot → kamal deploy); rebuild on a new server or host another app by reusing Kamal init with a different service name. Closes with 'Kamal is olive oil for everything' and Gordon-Ramsay analogy, and a reminder that you are not Chuck Norris.

type
talk
alt_title
Kamal vs PaaS and how to make better steaks
talk Kamal is not harder than your PaaS
about
Kamal tool
Core subject of the talk.
talk Kamal is not harder than your PaaS
about
Walks through Kamal Proxy routing, health checks, multi-project hosting.
talk Kamal is not harder than your PaaS
about
Litestream tool
Demo SQLite Rails app uses Litestream as a Kamal accessory to replicate to R2.
talk Kamal is not harder than your PaaS
about
Docker tool
Kamal requires Docker locally and on servers; talk covers Dockerfile, named volumes, local registry.
talk Kamal is not harder than your PaaS
about
Demo app is a plain rails new with SQLite and Litestream.
talk Kamal is not harder than your PaaS
about
Digital Ocean company
Demo provisions an Ubuntu droplet on Digital Ocean.
talk Kamal is not harder than your PaaS
about
cloud-init concept
Talk shows a cloud-init script bootstrapping the droplet.
talk Kamal is not harder than your PaaS
about
Explains Kamal's blue-green deploys and their RAM implications.
talk Kamal is not harder than your PaaS
about
SerpApi company
Demo app uses SerpApi to track Google keyword rankings.
talk Kamal is not harder than your PaaS
about
Litestream replicates SQLite WAL to R2 in the demo.
talk Kamal is not harder than your PaaS
about
Thruster tool
bin/thrust is used in the Rails Dockerfile for asset caching.
talk Kamal is not harder than your PaaS
about
Tailscale tool
Discussed as a way to replace public SSH with a mesh VPN.
talk Kamal is not harder than your PaaS
about
fail2ban tool
Installed via cloud-init; logs inspected when troubleshooting.
talk Kamal is not harder than your PaaS
about
UFW tool
Host firewall layered with the cloud firewall.
talk Kamal is not harder than your PaaS
about
SQLite tool
Demo app uses SQLite as the database.
talk Kamal is not harder than your PaaS
about
Once project
Contrasted with Kamal as a possible true PaaS for third-party apps.
talk Kamal is not harder than your PaaS
about
Coolify tool
Cited alongside Once as a PaaS-like option with app requirements, unlike Kamal.
asked_at
Kamal is not harder than your PaaS talk
Q&A after the talk.
asked_at
Kamal is not harder than your PaaS talk
Q&A after the talk.
asked_at
Kamal is not harder than your PaaS talk
Q&A after the talk.
asked_at
Kamal is not harder than your PaaS talk
Q&A after the talk.
asked_at
Kamal is not harder than your PaaS talk
Q&A after the talk.
asked_at
Kamal is not harder than your PaaS talk
Q&A after the talk.
authored
Kamal is not harder than your PaaS talk
Delivered this single-speaker talk at wroclove.rb 2026.
from_talk
Kamal is not harder than your PaaS talk
Core recommendation delivered in the talk.
from_talk
Kamal is not harder than your PaaS talk
Demo pattern used throughout the talk.
from_talk
Kamal is not harder than your PaaS talk
Security posture Strzibny argues for.
from_talk
Kamal is not harder than your PaaS talk
Strzibny explicitly contrasts cloud-init with Ansible for small setups.
from_talk
Kamal is not harder than your PaaS talk
Raised as a practical consequence of Kamal's deploy model.
talk Kamal is not harder than your PaaS
presented_at
Given at wroclove.rb 2026.

Provenance

Created
2026-04-17 16:18 seed
Read by
26 extractions