EDGE NOTESA small systems journal

ARTICLES / LINUX

Caddy as a small static origin

Keep the document root, TLS automation and deployment process easy to inspect.

Give the site a real root

A static origin needs only generated files and a web server. Keep releases in separate directories and expose one current release through a controlled reference. Upload and check the new release before switching that reference. This keeps the previous version available for a quick rollback without needing a database migration or a build tool on the public server.

Make automation reachable

Certificate automation still depends on a working validation method and correct DNS. A service that listens only on a local TLS port may need a separately reachable HTTP challenge path. Verify how the deployment handles that path rather than assuming a healthy certificate today guarantees renewal months later. Keep certificate storage persistent across releases.

Check the response you serve

Validate the web-server configuration before reloading it. Test the home page, a nested article, an asset and a missing path. A custom error page should retain a 404 status rather than disguising every missing URL as a successful home page. Cache versioned assets for a long time, while allowing HTML to pick up new release references promptly.

At the terminal

caddy validate --config /etc/caddy/Caddyfile --adapter caddyfile
systemctl reload caddy
curl -I https://example.com/
curl -I https://example.com/does-not-exist
Next note: SSH access with an exit plan →

Find a note