hetzbot-caddy

Install Caddy, assemble per-service routing snippets, and reload with validation.

Updated Apr 17, 2026
One-click install
npx skills add https://github.com/tomspiegl/hetzbot --skill hetzbot-caddy
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: hetzbot-caddy
Source: https://github.com/tomspiegl/hetzbot/tree/main/skills/infra/caddy
Command: npx skills add https://github.com/tomspiegl/hetzbot --skill hetzbot-caddy

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill installs and manages a HTTPS-only Caddy reverse proxy on public hosts, assembles per-service routing blocks into a single Caddyfile, and performs zero-downtime reloads.

Core Features & Use Cases

  • Install Caddy from the official repository and enable unattended upgrades to keep the proxy up to date.
  • Assemble /etc/caddy/Caddyfile from a global block plus per-service snippets found under services/<name>/caddy.conf.
  • Validate the final configuration with caddy validate and reload safely, failing deployments on invalid snippets.
  • Enforce TLS certificates via TLS-ALPN-01 on port 443 and ensure port 80 is never exposed.
  • Audit and verify the service with review.sh to confirm the Caddy unit is active, port 80 is closed, and certificates remain valid.

Quick Start

Install Caddy on the public host and run the assemble.sh workflow to generate and reload the Caddyfile from per-service snippets.

Frequently Asked Questions about hetzbot-caddy

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate a Caddy reverse proxy with HTTPS on a public server?

Automate a Caddy reverse proxy on public hosts by assembling per-service routing snippets into a single Caddyfile, validating the configuration, and performing zero-downtime reloads with enforced HTTPS.

What's the best way to manage multiple Caddy routing blocks for different services?

Manage multiple Caddy routing blocks by placing individual per-service snippets under services/<name>/caddy.conf, which are then automatically assembled into a unified Caddyfile for validation and deployment.

How does TLS-ALPN-01 certificate provisioning work for a Caddy reverse proxy?

TLS-ALPN-01 certificate provisioning for a Caddy reverse proxy works by enforcing HTTPS on port 443 and strictly prohibiting any port-80 listener, ensuring safe automated deployments without exposing unencrypted traffic.

Can I validate Caddy configuration snippets before reloading the proxy?

You can validate Caddy configuration snippets before reloading by running caddy validate on the assembled Caddyfile, which safely fails deployments if any individual service snippet is invalid.

How do I verify my Caddy reverse proxy is running securely after deployment?

Verify a secure Caddy reverse proxy deployment by running review.sh to audit the server, confirming the Caddy unit is active, port 80 is closed, and TLS certificates remain valid.