[{"data":1,"prerenderedAt":884},["ShallowReactive",2],{"project-23070567":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":27,"sentiment":28,"stance_mix":29,"scored_comments":33,"aspects":34,"strip":47,"post_text":50,"what":51,"said":96,"maker_in_thread":178,"shape":189,"grid":194,"attempts":844,"same_week":845,"maker_shows":36,"maker_hidden":875,"reader_version":876,"card":877},"23070567","Caddy 2","Hi HN -- this is what I've been working on for the last 14 months, with the help of many contributors and the backing of several sponsors.","maker","Show HN: Caddy 2","https:\u002F\u002Fcaddyserver.com\u002Fv2","caddyserver.com","mholt",1588612024,2020,778,240,11,3028,1,"legend","infrastructure","web server","cli",[21,24,25,26],"reverse proxy","automatic https","caddy","mixed",0.315,{"positive":30,"neutral":30,"mixed":31,"critical":32},58,9,19,144,{"docs":35,"execution":38,"idea":40,"design":43,"performance":44,"privacy":46},{"positive":36,"critical":37},6,8,{"positive":39,"critical":18},18,{"positive":41,"critical":42},5,2,{"positive":36,"critical":18},{"positive":45,"critical":45},3,{"positive":42,"critical":45},[48,48,42,48,41,48,41,42,48,41,41,42,18,18,41,41,41,49,41,41,41,41,48,41,42,48,45,48,45,42,45,49,45,42,41,45,42,18,41,41],4,0,null,{"problem":52,"audience":63,"pricing":50,"motivation":70,"time_to_build":79,"stack":85,"openness":93,"stage":94,"team_size":95},{"value":53,"source":54,"evidence":55},"Serving sites over HTTPS with automatic certificate management and reverse proxying","inferred",[56,59],{"id":57,"by":11,"text":58},"23072194","It's often used as a reverse proxy and static file server, but oh, so much more is possible. Today, if you're using HTTPS, you should almost certainly be using Caddy. Maybe…",{"id":60,"by":61,"text":62},"23071705","celicaraptor","Hi mholt!, I am building an ecommerce SaaS.Obviously,i will have each domain pointed to my server.Is Caddy a good choice for automatically getting a certificate for each…",{"value":64,"source":54,"evidence":65},"Developers and operators running websites or proxies, including companies managing many domains",[66,69],{"id":67,"by":11,"text":68},"23071165","We have several companies using it for tens of thousands of their customer sites. It's the only server we know of that can handle hundreds of thousands of certificates efficiently!",{"id":60,"by":61,"text":62},{"value":71,"source":54,"evidence":72},"Frustration with C-based servers and a need for a flexible, memory-safe server",[73,76],{"id":74,"by":11,"text":75},"23072495","Not a stupid question, it's not a phrase you hear very often because there isn't... really... one... at all. (Not in mainstream use AFAIK?) Memory safety is a class of guarantees…",{"id":77,"by":11,"text":78},"23075359","> Was it influenced by Envoy? Not really -- it was more like, I sat down and thought about it: \"I want to be able to change ANYTHING about my server using a simple REST endpoint.…",{"value":80,"source":7,"evidence":81},"14 months of work",[82],{"id":83,"by":11,"text":84},"23071199","Hi HN -- this is what I've been working on for the last 14 months, with the help of many contributors and the backing of several sponsors. (Thank You!) Caddy 2 is a fresh new…",[86],{"value":87,"source":7,"evidence":88},"Go",[89,90],{"id":74,"by":11,"text":75},{"id":91,"by":11,"text":92},"23073612","It's written in Go, so right out the gate you get stronger memory safety guarantees than other servers written in C, which results in more secure software on your edge. Caddy's…","open_source","launched","team",{"praise":97,"objections":113,"requests":131,"questions":145,"alternatives":157},[98,106],{"value":99,"source":100,"evidence":101},"Website and documentation are clear and well designed","commenter",[102],{"id":103,"by":104,"text":105},"23072414","madmax108","I know that HN is usually the first to outrage when a project website is too verbose or does not explain the product, but I just want to take a moment to say WHAT A GREAT WEBSITE…",{"value":107,"source":100,"evidence":108},"Automatic HTTPS and certificate handling work well",[109,110],{"id":67,"by":11,"text":68},{"id":111,"by":11,"text":112},"23071758","5 years later and it still feels like magic. (Thank you, Let's Encrypt)",[114,124],{"value":115,"source":100,"evidence":116},"Config is more verbose than v1 Caddyfile",[117,121],{"id":118,"by":119,"text":120},"23071296","xrisk","Slightly disappointed because they changed the Caddyfile syntax. I think it's a bit more verbose now, compared to v1.",{"id":122,"by":11,"text":123},"23071404","Some parameters might have one or two more words to type, but the growth in flexibility is enormous, and we felt it was worth the tradeoff. You can see a comparison here:…",{"value":125,"source":100,"evidence":126},"Past telemetry and header ads raised privacy concerns",[127],{"id":128,"by":129,"text":130},"23071188","schoolornot","I somewhat remember the Caddy team having a history of shady behavior: advertisements in headers, hostility towards contributors, telemetry you have to opt-out of. Has any of…",[132,139],{"value":133,"source":100,"evidence":134},"Cloudflare DNS plugin built in",[135],{"id":136,"by":137,"text":138},"23072154","nklmilojevic","Hi @mholt, thanks a lot for Caddy. It is really awesome and we are considering using it for www.mailerlite.com landing pages. The problem that we have right now is that there is…",{"value":140,"source":7,"evidence":141},"Built-in plugin registration on the website",[142],{"id":143,"by":11,"text":144},"23071896","The new website does not yet have the ability to register plugins. I'm writing it -- I already have the new build server mostly written -- but like with v1, it may take a few…",[146,153],{"value":147,"source":100,"evidence":148},"Whether certificates are separate per domain or SAN",[149],{"id":150,"by":151,"text":152},"23071279","Tomte","Does Caddy request separate certificates for domains served through it, or is it handled using SANs?",{"value":154,"source":100,"evidence":155},"Whether Let's Encrypt limits affect many-domain setups",[156],{"id":60,"by":61,"text":62},[158,165,171],{"value":159,"source":100,"evidence":160},"nginx",[161,164],{"id":162,"by":11,"text":163},"23071591","Yep, there are several reasons, you can read about them here: https:\u002F\u002Fgithub.com\u002Fcaddyserver\u002Fcaddy\u002Fwiki\u002Fv2:-FAQ#why-json-for-configuration-why-not-any-other-serialization-format…",{"id":91,"by":11,"text":92},{"value":166,"source":100,"evidence":167},"Certbot",[168],{"id":169,"by":11,"text":170},"23072011","I see. Yeah, I think CertBot does that because of limitations in Apache (and possibly nginx as well) with \"virtual hosting\". So yeah, Caddy uses one name per certificate by…",{"value":172,"source":100,"evidence":173},"Envoy",[174],{"id":175,"by":176,"text":177},"23075342","bruth","The REST API for dynamic updates is attractive. Was it influenced by Envoy? Are there any influences\u002Foverlap with Envoy? Is Caddy overlapping in the space of Envoy in any notable…",{"comments":179,"answered":180,"key":181},50,21,[182,183,186],{"id":83,"text":84},{"id":184,"text":185},"23071431","Thanks for the feedback! Glad you have had a good experience with it. That blog post is pretty old. We do have a current upgrade guide here in our docs:…",{"id":187,"text":188},"23072840","I mean, we want one too, but it's ridiculously hard: https:\u002F\u002Fnews.ycombinator.com\u002Fitem?id=23072385 Help? :D",{"commenters":190,"max_depth":191,"maker_replies":179,"first_comment_mins":192,"lifespan_hours":193},110,10,17,125,[195,197,201,203,207,211,214,218,219,223,226,229,233,237,240,242,245,247,250,252,255,257,259,261,265,268,271,275,278,280,283,286,288,292,295,298,300,303,307,309,311,314,317,321,323,325,328,331,335,337,340,343,346,349,351,354,357,360,361,364,366,370,373,375,377,380,382,385,388,391,393,395,397,399,402,404,406,408,410,412,414,417,419,422,424,428,430,432,436,439,441,444,446,449,452,454,457,458,460,463,466,468,471,473,478,481,483,486,488,491,495,497,501,505,507,511,513,515,517,520,522,525,528,531,535,536,540,542,544,547,551,555,557,561,564,568,570,575,577,579,582,583,586,589,593,597,601,603,605,608,610,614,618,622,625,627,629,632,634,636,638,640,642,644,646,650,654,658,661,663,665,666,670,672,675,678,680,682,685,686,688,689,693,695,697,699,701,702,705,707,709,711,713,715,717,721,723,725,727,729,731,735,737,740,743,746,750,753,757,759,763,765,769,771,775,777,779,781,784,786,790,794,796,798,800,804,807,809,812,814,816,818,820,823,825,829,830,834,839,841],[83,49,49,196,11,18],"project\u002Fneutral\u002Fidea",[198,49,41,199,200,49],"23071343","maker\u002Fpositive\u002Fdocs","gnalck",[184,49,49,202,11,18],"maker\u002Fneutral\u002Fdocs",[204,49,18,205,206,49],"23073037","project\u002Fcritical\u002Fdocs","x3haloed",[208,49,49,209,210,49],"23073094","commenter\u002Fneutral\u002Fdocs","francislavoie",[212,49,41,213,206,49],"23074654","project\u002Fpositive\u002Fdocs",[215,49,45,216,217,49],"23072769","project\u002Fneutral\u002Fexecution","jbverschoor",[187,49,49,216,11,18],[220,49,49,221,222,49],"23075551","other\u002Fneutral\u002Fexecution","guggle",[224,49,45,216,225,49],"23076490","pilif",[227,49,45,228,210,49],"23076586","maker\u002Fneutral\u002Fexecution",[230,49,41,231,232,49],"23079663","project\u002Fpositive\u002Fexecution","StavrosK",[234,49,45,235,236,49],"23074743","project\u002Fneutral\u002Fdocs","wingworks",[238,49,18,205,239,49],"23071913","maxmunzel",[241,49,49,202,11,18],"23071930",[243,49,45,196,244,49],"23072020","pbreit",[57,49,49,246,11,18],"maker\u002Fpositive\u002Fidea",[248,49,45,196,249,49],"23072383","chris_st",[74,49,49,251,11,18],"maker\u002Fneutral\u002Fidea",[253,49,45,196,254,49],"23074207","atonse",[256,49,49,246,11,18],"23074667",[258,49,45,196,254,49],"23083688",[260,49,45,196,210,49],"23072503",[262,49,41,263,264,49],"23072111","project\u002Fpositive\u002Fnone","hoistbypetard",[266,49,49,267,11,18],"23072172","maker\u002Fpositive\u002Fnone",[269,49,41,267,270,49],"23072283","alexellisuk",[272,49,45,273,274,49],"23073488","project\u002Fneutral\u002Fnone","mintplant",[276,49,49,277,11,18],"23073809","maker\u002Fneutral\u002Fnone",[279,49,45,277,274,49],"23085072",[281,49,41,263,282,49],"23074820","627467",[284,49,45,196,285,49],"23075299","tootie",[287,49,49,196,11,18],"23075365",[289,49,45,290,291,49],"23077525","project\u002Fneutral\u002Fdesign","112",[293,49,45,294,210,49],"23078640","maker\u002Fneutral\u002Fdesign",[296,49,41,231,297,49],"23077707","networked",[299,49,49,251,11,18],"23080621",[301,49,41,263,302,49],"23077796","Sphax",[304,49,41,305,306,49],"23079005","project\u002Fpositive\u002Fperformance","ArtWomb",[308,49,41,263,222,49],"23079797",[103,18,41,310,104,49],"project\u002Fpositive\u002Fdesign",[312,18,49,313,11,18],"23072471","maker\u002Fpositive\u002Fdesign",[315,18,41,310,316,49],"23073594","weaksauce",[318,18,45,319,320,49],"23074819","project\u002Fmixed\u002Fdocs","Silhouette",[322,18,49,202,11,18],"23075031",[324,18,45,319,320,49],"23075078",[326,18,49,327,11,18],"23075379","maker\u002Fneutral\u002Fprivacy",[329,18,18,330,320,49],"23075438","project\u002Fcritical\u002Fprivacy",[332,18,49,333,334,49],"23077178","commenter\u002Fneutral\u002Fprivacy","tobya",[336,18,49,333,320,49],"23079147",[338,18,45,339,210,49],"23083500","project\u002Fneutral\u002Fprivacy",[341,18,41,263,342,49],"23075411","interfixus",[344,18,18,205,345,49],"23074656","Scarbutt",[347,42,45,319,348,49],"23071349","danogentili",[350,42,41,199,210,49],"23071383",[352,42,49,353,11,18],"23071578","maker\u002Fneutral\u002Fpricing",[355,42,18,205,356,49],"23071813","coder543",[358,42,41,231,359,49],"23071886","hairyhenderson",[143,42,49,228,11,18],[362,42,41,213,363,49],"23071963","m_sahaf",[365,42,41,213,356,49],"23071993",[367,45,41,368,369,49],"23073277","project\u002Fpositive\u002Fidea","nhatcher",[371,48,41,231,372,49],"23073645","benhoyt",[374,48,41,213,372,49],"23073718",[376,48,49,267,11,18],"23073817",[378,41,41,231,379,49],"23071610","nikisweeting",[381,41,41,267,210,49],"23071772",[383,41,41,384,379,49],"23081440","maker\u002Fpositive\u002Fexecution",[386,41,18,387,217,49],"23072086","project\u002Fcritical\u002Fexecution",[389,41,49,390,363,49],"23072232","commenter\u002Fneutral\u002Fexecution",[392,41,18,205,217,49],"23072793",[394,41,49,209,363,49],"23072828",[396,41,49,209,217,49],"23073079",[398,41,49,209,210,49],"23073110",[400,41,49,401,217,49],"23074771","commenter\u002Fneutral\u002Fnone",[403,41,18,205,320,49],"23075347",[405,41,49,202,11,18],"23075386",[407,41,18,205,320,49],"23075501",[409,41,45,216,210,49],"23072385",[411,41,49,401,217,49],"23072809",[413,41,49,401,210,49],"23072864",[415,41,49,401,416,49],"23077107","thayne",[418,41,49,401,210,49],"23078763",[420,41,18,330,421,49],"23074727","jamieweb",[423,41,45,327,210,49],"23074943",[425,36,45,426,427,49],"23071557","project\u002Fmixed\u002Fdesign","avolcano",[429,36,45,290,210,49],"23071784",[431,36,49,310,11,18],"23071837",[433,434,41,263,435,49],"23070779",7,"sqs",[437,434,41,263,438,49],"23071289","narrationbox",[440,434,49,267,11,18],"23071416",[442,434,45,273,443,49],"23071699","poulsbohemian",[445,434,45,426,438,49],"23071856",[447,37,41,310,448,49],"23077099","qrv3w",[450,31,41,263,451,49],"23072198","sizeofchar",[453,31,49,267,11,18],"23073741",[455,191,41,231,456,49],"23072499","erikswn",[60,16,45,273,61,49],[459,16,49,277,11,18],"23071752",[461,16,41,305,462,49],"23071812","JackWritesCode",[464,16,49,401,465,49],"23072613","going_to_800",[467,16,49,401,61,49],"23072019",[469,16,41,231,470,49],"23072818","Mojah",[472,16,49,401,61,49],"23073454",[474,475,49,476,477,49],"23074899",12,"other\u002Fneutral\u002Fnone","lenkite",[479,475,49,476,480,49],"23075022","seabrookmx",[482,475,49,476,210,49],"23075180",[484,475,49,476,485,49],"23075761","rubyn00bie",[487,475,49,476,477,49],"23076972",[489,475,49,476,490,49],"23079883","asdkhadsj",[492,493,41,310,494,49],"23083239",13,"BrandoElFollito",[496,493,41,267,210,49],"23083815",[498,499,41,231,500,49],"23071175",14,"avip",[502,503,41,263,504,49],"23071393",15,"BilalBudhani",[506,503,49,277,11,18],"23071486",[508,509,41,231,510,49],"23071892",16,"bovermyer",[512,509,49,202,11,18],"23071987",[514,509,49,209,510,49],"23073843",[516,509,49,209,363,49],"23074013",[518,192,45,196,519,49],"23072171","seaghost",[521,192,49,251,11,18],"23072202",[523,39,41,524,334,49],"23077115","maker\u002Fpositive\u002Fperformance",[526,39,49,527,11,18],"23077148","commenter\u002Fpositive\u002Fnone",[529,32,41,231,530,49],"23071090","gfosco",[532,32,45,533,534,49],"23071148","project\u002Fneutral\u002Fperformance","guillem_lefait",[67,32,49,305,11,18],[537,538,41,368,539,49],"23072752",20,"wdavidw",[541,538,45,216,210,49],"23072826",[543,538,49,231,11,18],"23072853",[545,180,41,231,546,49],"23072758","mads",[548,549,41,231,550,49],"23072452",22,"trillic",[552,553,45,202,554,49],"23072031",23,"stackola",[556,553,49,209,11,18],"23072233",[558,559,41,368,560,49],"23073504",24,"didip",[562,559,49,476,563,49],"23078363","neop1x",[565,566,45,235,567,49],"23071905",25,"quaffapint",[569,566,45,216,210,49],"23071926",[571,572,18,573,574,49],"23072594",26,"project\u002Fcritical\u002Fidea","zimbatm",[576,572,41,231,210,49],"23072633",[578,572,49,228,11,18],"23072729",[580,581,41,231,462,49],"23071636",27,[111,581,49,231,11,18],[584,585,45,533,485,49],"23075510",28,[587,585,45,533,588,49],"23128734","vbtechguy",[590,591,41,310,592,49],"23072062",29,"stjo",[594,591,18,595,596,49],"23072141","project\u002Fcritical\u002Fperformance","zzzcpan",[598,599,45,235,600,49],"23072609",30,"renewiltord",[602,599,45,235,210,49],"23072643",[604,599,45,235,363,49],"23072678",[606,599,45,319,607,49],"23072702","e12e",[609,599,49,202,11,18],"23072744",[611,612,41,231,613,49],"23077366",31,"lmeyerov",[615,616,41,267,617,49],"23083155",32,"timwis",[619,620,45,196,621,49],"23072125",33,"helij",[623,620,45,196,624,49],"23072408","detaro",[136,626,45,216,137,49],34,[628,626,49,384,11,18],"23072228",[630,626,45,235,631,49],"23072734","jlelse",[633,626,49,202,11,18],"23072759",[635,626,49,527,631,49],"23072795",[637,626,45,216,137,49],"23072804",[639,626,49,228,11,18],"23072881",[641,626,49,390,137,49],"23072940",[643,626,45,202,210,49],"23072997",[645,626,49,527,137,49],"23073045",[647,648,45,319,649,49],"23072866",35,"mxschmitt",[651,652,41,310,653,49],"23076286",36,"maxpert",[655,656,41,231,657,49],"23077218",37,"max23_",[659,660,45,273,151,49],"23077026",38,[662,660,49,228,11,18],"23077087",[175,664,45,290,176,49],39,[77,664,49,313,11,18],[667,668,45,273,669,49],"23073395",40,"rcarmo",[671,668,41,231,210,49],"23073939",[673,668,18,205,674,49],"23082738","scobiehague",[676,668,49,677,210,49],"23083898","other\u002Fneutral\u002Fdocs",[679,668,45,273,674,49],"23084526",[681,668,45,202,210,49],"23091079",[118,683,18,684,119,49],41,"project\u002Fcritical\u002Fdesign",[122,683,49,313,11,18],[687,683,45,294,119,49],"23071470",[162,683,49,290,11,18],[690,691,45,426,692,49],"23071754",42,"throwaway483284",[694,691,49,235,11,18],"23071803",[150,696,45,273,151,49],43,[698,696,49,216,11,18],"23071611",[700,696,45,216,151,49],"23071676",[169,696,49,273,11,18],[703,696,49,401,704,49],"23079599","purerandomness",[706,696,49,401,151,49],"23079632",[708,696,49,401,704,49],"23080342",[710,696,49,401,151,49],"23080739",[712,696,49,401,704,49],"23081819",[714,696,49,401,151,49],"23081869",[716,696,49,401,704,49],"23082539",[718,719,45,273,720,49],"23071594",44,"buttersbrian",[722,719,45,273,210,49],"23071903",[724,719,45,273,379,49],"23081516",[726,719,49,401,210,49],"23087215",[728,719,49,401,379,49],"23087689",[730,719,45,273,210,49],"23096364",[732,733,18,573,734,49],"23071057",45,"nikivi",[736,733,45,196,359,49],"23071085",[738,733,49,401,739,49],"23072047","molszanski",[741,733,45,196,742,49],"23071092","dubcanada",[744,733,41,368,745,49],"23071285","tyingq",[747,733,45,748,749,49],"23072117","project\u002Fmixed\u002Fperformance","cthalupa",[751,733,41,368,752,49],"23072911","QUFB",[754,755,45,235,756,49],"23073427",46,"nodesocket",[758,755,49,235,11,18],"23073637",[760,761,41,267,762,49],"23074853",47,"andrewnc",[764,761,49,476,11,18],"23075037",[766,767,45,273,768,49],"23077481",48,"throwaway77384",[770,767,41,263,210,49],"23078803",[772,773,45,533,774,49],"23071768",49,"bueny",[776,773,49,533,11,18],"23071997",[778,773,18,595,774,49],"23074224",[780,773,49,533,11,18],"23074680",[782,773,18,595,783,49],"23096674","angristan",[785,773,45,533,588,49],"23128773",[787,179,18,788,789,49],"23079397","project\u002Fcritical\u002Fnone","craftoman",[791,792,45,273,793,49],"23073980",51,"interactivecode",[795,792,41,263,363,49],"23074135",[128,797,18,330,129,49],52,[799,797,49,339,11,18],"23071261",[801,797,49,802,803,49],"23071335","other\u002Fneutral\u002Fprivacy","mmalone",[805,797,45,339,806,49],"23071519","petre",[808,797,49,339,11,18],"23071694",[810,797,49,333,811,49],"23072865","stonogo",[813,797,49,333,210,49],"23073046",[815,797,49,333,811,49],"23077965",[817,797,49,333,806,49],"23077296",[819,797,49,802,749,49],"23072054",[821,797,49,802,822,49],"23077532","Ndymium",[824,797,41,267,359,49],"23071440",[826,827,45,273,828,49],"23073475",53,"dilandau",[91,827,49,273,11,18],[831,832,41,267,833,49],"23076983",54,"HABytes",[835,836,41,837,838,49],"23071146",55,"project\u002Fpositive\u002Fprivacy","someguy101010",[840,836,49,339,11,18],"23071152",[842,836,41,843,838,49],"23071181","maker\u002Fpositive\u002Fprivacy",[],[846,851,856,860,865,870],{"id":847,"name":848,"points":849,"category":850},"23045207","uPlot",785,"data",{"id":852,"name":853,"points":854,"category":855},"23066776","SQL Police Department",550,"learning_science",{"id":857,"name":858,"points":859,"category":855},"23042079","RegEx for Regular Folk",502,{"id":861,"name":862,"points":863,"category":864},"23033387","Tara",406,"productivity",{"id":866,"name":867,"points":868,"category":869},"23042558","Ameelio.org",364,"web_saas",{"id":871,"name":872,"points":873,"category":874},"23070821","rich",362,"dev_tools",false,"v2",{"id":878,"name":5,"line":879,"ai":875,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":880,"top":18,"kw":881,"maker":11,"domain":10,"tier":19,"attempts":49,"strip":882,"url":9,"mix":883,"praise":99,"objection":115,"sub":21},23070567,"Hi HN -- this is what I've been working on for the last 14 months, with the help of many contributors and…",0.32,[21,24,25,26],"4424545245521155505555452434323032532155",[30,30,31,32],1794036590019]