I would like to be able to organize my sites into individual caddyfiles. In apache you can store your sites in individual .conf files and enable and disable them with symlinks. As my use of caddy grows so does my caddyfile. I currently organize within the file by using comments but it is starting to get long. Also I worry about coworkers messing up another site when they are editing theirs. Is there currently a way of handling this or is there possibly already a feature request.
Hi @acole, welcome to the Caddy community.
Caddy doesn’t have the site enable / disable aliases Apache does that moves/removes symlinks automatically, but Caddy can import multiple files when starting up, just like Apache does.
You can use one central Caddyfile with
import directives, e.g.
import /path/to/site1/Caddyfile import /path/to/site2/Caddyfile # ... rinse and repeat
Or just one import directive that fetches a glob:
Then populate the
/path/to/ directory with files that end in
-conf flag also accepts a glob directly, e.g.
-conf '/path/to/*.caddy'. This functions exactly the same way
import /path/to/*.caddy does, removing the requirement for a single central Caddyfile with one
import directive in it.
You don’t need to use
*.caddy - you could just use
/path/to/caddyfiles/* and import every single file in the folder. I use the
.caddy extension so I can “disable” sites in the folder by removing the extension and “re-enable” them by adding it back.