7676 < div data-md-component ="skip ">
7777
7878
79- < a href ="#bluegreen-deployments " class ="md-skip ">
79+ < a href ="#1-adjustments-to-the-compose-file " class ="md-skip ">
8080 Skip to content
8181 </ a >
8282
404404 < input class ="md-nav__toggle md-toggle " type ="checkbox " id ="__toc ">
405405
406406
407-
408-
409407
410408 < label class ="md-nav__link md-nav__link--active " for ="__toc ">
411409
438436
439437
440438
441-
442-
443439
444440 < label class ="md-nav__title " for ="__toc ">
445441 < span class ="md-nav__icon md-icon "> </ span >
448444 < ul class ="md-nav__list " data-md-component ="toc " data-md-scrollfix >
449445
450446 < li class ="md-nav__item ">
451- < a href ="#1-caddyfile " class ="md-nav__link ">
447+ < a href ="#1-adjustments-to-the-compose-file " class ="md-nav__link ">
452448 < span class ="md-ellipsis ">
453- 1. Caddyfile
449+ 1. Adjustments to the Compose file
454450 </ span >
455451 </ a >
456452
457453</ li >
458454
459455 < li class ="md-nav__item ">
460- < a href ="#2-front-proxy " class ="md-nav__link ">
456+ < a href ="#2-add-a- front-proxy " class ="md-nav__link ">
461457 < span class ="md-ellipsis ">
462- 2. Front Proxy
458+ 2. Add a Front Proxy
463459 </ span >
464460 </ a >
465461
521517
522518
523519
524-
525-
526520
527521 < label class ="md-nav__title " for ="__toc ">
528522 < span class ="md-nav__icon md-icon "> </ span >
531525 < ul class ="md-nav__list " data-md-component ="toc " data-md-scrollfix >
532526
533527 < li class ="md-nav__item ">
534- < a href ="#1-caddyfile " class ="md-nav__link ">
528+ < a href ="#1-adjustments-to-the-compose-file " class ="md-nav__link ">
535529 < span class ="md-ellipsis ">
536- 1. Caddyfile
530+ 1. Adjustments to the Compose file
537531 </ span >
538532 </ a >
539533
540534</ li >
541535
542536 < li class ="md-nav__item ">
543- < a href ="#2-front-proxy " class ="md-nav__link ">
537+ < a href ="#2-add-a- front-proxy " class ="md-nav__link ">
544538 < span class ="md-ellipsis ">
545- 2. Front Proxy
539+ 2. Add a Front Proxy
546540 </ span >
547541 </ a >
548542
576570
577571
578572
579- < h1 id ="bluegreen-deployments "> Blue/Green Deployments</ h1 >
573+ < h1 > Blue/Green Deployments</ h1 >
574+
580575< p > Blue/Green deployment runs two stacks side-by-side: one live, one idle. You
581576deploy to the idle stack, test it, and when ready, swap roles — giving
582577near-zero downtime and easy rollback.</ p >
583- < h2 id ="1-caddyfile "> 1. Caddyfile</ h2 >
584- < p > Remove the exposed ports from Caddy by removing the < code > ports:</ code > section in
578+ < p > < img alt ="Blue/Green " src ="../assets/bluegreen.png " /> </ p >
579+ < h2 id ="1-adjustments-to-the-compose-file "> 1. Adjustments to the Compose file</ h2 >
580+ < p > Remove the exposed ports by removing the Caddy < code > ports:</ code > section in
585581< code > compose.yaml</ code > .</ p >
586582< p > Set < code > CADDY_SITE_ADDRESS</ code > to only < code > :80</ code > (leaving TLS termination to the front
587583proxy):</ p >
@@ -597,7 +593,7 @@ <h2 id="1-caddyfile">1. Caddyfile</h2>
597593< span class ="w "> </ span > < span class ="nt "> user_data</ span > < span class ="p "> :</ span >
598594< span class ="w "> </ span > < span class ="nt "> name</ span > < span class ="p "> :</ span > < span class ="w "> </ span > < span class ="l l-Scalar l-Scalar-Plain "> user-data</ span >
599595</ code > </ pre > </ div >
600- < h2 id ="2-front-proxy "> 2. Front Proxy</ h2 >
596+ < h2 id ="2-add-a- front-proxy "> 2. Add a Front Proxy</ h2 >
601597< p > The front proxy is a single Caddy container that binds < code > :80</ code > and < code > :443</ code > on the
602598server and routes requests into either the Blue or Green stack.</ p >
603599< p > On the server, create a simple < code > Caddyfile</ code > :</ p >
0 commit comments