Senior Track Roadmap

Kamal proxy: multi-app

This course covers running more than one application on a single server behind kamal-proxy. It explains how one port 443 is shared by routing on hostname, how Server Name Indication picks the certificate, and how each deploy updates one entry in the proxy's routing table. It then looks at what the applications share: memory, disk, the kamal Docker network, the kernel and the proxy itself. It closes with the memory arithmetic to do in advance, the signals that it is time to split, and the order to split in.

What you'll learn

  • ✓Routing several applications on one port 443 by hostname and Server Name Indication
  • ✓How kamal-proxy keeps a routing table that each deploy updates
  • ✓Why service names must differ and why the proxy needs port 80 for certificates
  • ✓Planning memory for Puma workers and Postgres before the out-of-memory killer acts
  • ✓What containers isolate and what applications on one machine still share
  • ✓The signals and the order for moving applications onto separate servers
Free preview · Lesson 1 3 min read

One server, two applications

A server with a public IP address has one port 443, and two applications both want it. How that conflict is resolved is the whole subject of this course.

Read the full lesson free →

Curriculum

7 lessons
Type to start searching...