<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Caddy on Linux Café</title>
    <link>https://mrtomlinux.org/tags/caddy/</link>
    <description>Recent content in Caddy on Linux Café</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Fri, 23 Oct 2026 01:26:17 +0200</lastBuildDate>
    <atom:link href="https://mrtomlinux.org/tags/caddy/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>How I Configured Caddy as a Reverse Proxy for My Home Lab and Solved the HTTPS Redirect Bug</title>
      <link>https://mrtomlinux.org/post/2026-10-23-how-i-configured-caddy-as-a-reverse-proxy-for/</link>
      <pubDate>Fri, 23 Oct 2026 01:26:17 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-10-23-how-i-configured-caddy-as-a-reverse-proxy-for/</guid>
      <description>&lt;h2 id=&#34;setting-up-caddy-as-a-reverse-proxy-for-my-home-lab&#34;&gt;Setting up Caddy as a reverse proxy for my home lab&lt;/h2&gt;&#xA;&lt;p&gt;I’ve been juggling a Plex server, Nextcloud, and a little Go API all on the same Ubuntu 24.04 box. The goal was simple: a tidy public URL for each service, automatic HTTPS, and as little upkeep as possible. Caddy 2.7 fit the bill perfectly—its ACME integration is a one‑liner, and it ships with HTTP/2 out of the box.&lt;/p&gt;&#xA;&lt;h3 id=&#34;1-install-caddy&#34;&gt;1. Install Caddy&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install -y debian-keyring debian-archive-keyring&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -1sLf &lt;span class=&#34;s1&#34;&gt;&amp;#39;https://dl.cloudsmith.io/public/caddy/stable/gpg.key&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;deb [signed-by=/usr/share/keyrings/caddy-stable-archive-keyring.gpg] \&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;  https://dl.cloudsmith.io/public/caddy/stable/deb/debian any main&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  sudo tee /etc/apt/sources.list.d/caddy-stable.list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install -y caddy&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Caddy boots as a systemd service automatically. Just double‑check that it’s listening on the web ports:&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
