Terraforming the application landscape to help spread the Caddy message

Does this sound familiar? You get to an application page. All you see is advice on how to use the application with Apache and Nginx or some other webserver, but nothing for Caddy.

Want to help transform the application landscape and get the Caddy message out there? You’ll be helping Caddy users who follow in your footsteps as well as bring Caddy to the attention of other users.

There’s been some work done on a recommended process to follow to spread the Caddy word. If you want to find out more, check the references at the bottom of this wiki article. Here’s the process in a nutshell. There are generally four and sometimes five steps.

  1. Find an application page you want to make Caddy ready.
  2. Discuss your approach in a Caddy forum thread.
  3. Optionally, summarise the result in a Caddy wiki article.
  4. Update the register of Caddy ready application pages.
  5. Lobby to have Caddy referenced on the application page.

Step 1: Find an application page you want to make Caddy ready

This one’s easy. You’re probably already there. You’ve found an article which references another, or other webservers and you need help figuring out how to use it with Caddy.

Step 2: Discuss your approach in a Caddy forum thread

You’re well supported! Reference the article in a help thread in the Caddy forum. Use the thread to seek help, from the Caddy community and core maintainers, on any required Caddy code design. Make sure you test out the code in the context of the article. You may wish to discuss the changes you’re proposing for the article.

Tip: Use whatever tools are at your fingertips to help you articulate in posts what you’re trying to achieve e.g. use code and text extracts, logs, screenshots, references and links etc. Do remember that the Caddy folk are experts on Caddy and not necessarily experts with the application you’re working with.

Step 3: Optionally, summarise the result in a Caddy wiki article

This step is appropriate in particular situations such as when the application page centres on a single proxy server, or, the Caddy solution has a degree of complexity.

Step 4: Update the register of Caddy ready application pages

Now, a bit of housekeeping. As Caddy evolves, new keywords may be introduced, existing keywords may be deprecated or become defunct. A register will help track down Caddy code in application pages that may need to be updated. Remember to add an entry to the Register (see below).

Step 5: Lobby to have Caddy referenced on the application page

Contact the application document team to have Caddy referenced on the application page. This is the tricky step. So far, you’ve been in control. In this step, you’re relying on an external party to make the necessary changes to the article for you. It may require you to develop and nurture a relationship with the application document team. Once you’ve figured out how to get an article updated, add directions to the Directory (see below) for other contributors (terraformers :grinning_face_with_smiling_eyes:) to follow.

Credits and References


The Core Caddy Team for supporting the idea.


  1. Thoughts on improving the market penetration of Caddy
  2. Process check: Spreading the Caddy Word
Contact Directory
Application Notes
WordPress The documentation team holds weekly office hours on Tuesdays from 14:00-15:00 UTC in the #docs Slack channel.

Submit requests for doc updates here https://github.com/WordPress/Documentation-Issue-Tracker/issues.

The documentation team will consider linking to Caddy wiki articles. They will reject merging Caddy snippets within WordPress support articles.
# External Reference Forum reference Article updated
# External Reference Forum reference Article updated
# External Reference Forum reference Article updated

Add a post for an application you would like to see more Caddy examples for. Vote for more Caddy examples for an application by liking its post below.


I would like to see Caddy examples added to MDN, for instance:

And there are a lot of other pages that could have server config examples, but don’t: setting HTTP headers, writing specific responses, CORS pages, etc.

1 Like

Symfony docs, as mentioned here:

1 Like

Linode has articles about Caddy but they are all painfully outdated (for Caddy v1) to the point that they are useless. They also contain misinformation about licensing (yikes).

Source: https://www.linode.com/docs/guides/web-servers/caddy/


1 Like

We’ve had our first terraforming breakthrough! We’ve gone from a single Caddy V1 reference in a WordPress support doc and now have a Caddy V2 reference in a second WordPress doc. That’s a 100% improvement!. Refer to the bottom of the WordPress support document Giving WordPress Its Own Directory. This is actually a very significant WordPress article as it’s referenced from within WordPress itself.

Now the bad news. It appears the WordPress doc team aren’t keen on merging Caddy snippets into WordPress support articles, but are quite happy to include a link in a WordPress support doc to a Caddy wiki article. More info in this post https://github.com/WordPress/Documentation-Issue-Tracker/issues/8#issuecomment-912826748.

This means I’m going to have to :unamused: create wiki articles out of the following help threads:

  1. WordPress: Using Permalinks
  2. Development: Using Caddy to harden WordPress
  3. Using Caddy to deter brute force attacks in WordPress
  4. HTTPS for WordPress using Caddy

This is probably not such a bad idea as it may give a sense of how many hits (views) the wiki article has through the link reference.