Simple guided examples of how to use Caddy
Switch branches/tags
Nothing to show
Clone or download
Failed to load latest commit information.
basicauthproxy basicauthproxy: Add Basicauth http proxy example (#78) Jul 18, 2017
chevereto Added chevereto, according to ( Oct 25, 2017
cmsmadesimple Add example: CMS Made Simple (#36) Dec 17, 2016
concrete5 Add example: Concrete5 Dec 22, 2016
directus Configuration example for headless API-driven CMS Directus (#80) Aug 9, 2017
discourse discourse: Updated readme to avoid Nginx error (#109) Apr 13, 2018
django Update Django example for Caddy v0.10 (#69) Jun 17, 2017
dokuwiki dokuwiki: Fixed rewrites (#126) Jul 13, 2018
drone Changed drone Caddyfile (#107) Feb 21, 2018
drupal Drupal: clarification (#86) Sep 8, 2017
flask Add Flask example Caddyfile (#90) Oct 16, 2017
friendica Friendica example. (#75) Jul 16, 2017
ghost Add Ghost Caddy exemple (#110) Apr 14, 2018
gitea Add gitea caddy example. Jan 12, 2017
gitlab gitlab: Use UNIX socket (#61) Jul 8, 2017
gnusocial Added Caddyfile for a GNU Social installation. (#82) Sep 2, 2017
gogs fix domain name Dec 12, 2015
grav fixes rss issue (#35) Nov 11, 2016
headphones Added Headphones example Jan 25, 2017
hhvm Update HHVM's with an image Feb 1, 2016
httpsproxy Rename caddyfile to Caddyfile (#83) Sep 8, 2017
isso add Isso config example Aug 27, 2016
jira added Jira (#89) Oct 5, 2017
kanboard kanboard: Adding Example for Kanboard (#62) May 6, 2017
kirby allow public access to panel fonts, css, etc. Oct 23, 2016
laravel Added EOF-fix Aug 24, 2016
lumen lumen: set Caddyfile to uppercase (#84) Sep 8, 2017
markdown update Markdown example to make index working Aug 3, 2016
minio seplling fix for minio readme (#77) Jul 18, 2017
nextcloud nextcloud: Fix trailing slash (#117) May 21, 2018
pasthis Fix Pasthis README title (#58) Apr 27, 2017
phabricator phabricator: Fix base rewrite (#113) May 21, 2018
processwire added more comments to caddyfile Jul 22, 2016
radicale Add Radicale example (#115) May 16, 2018
seafile Updated Caddyfile for Seafile Apr 21, 2017
shopware Complete shopware configuration (#65) May 28, 2017
symfony Add symfony example (#98) Jan 14, 2018
systemd Redirect systemd instructions. Fixes mholt/caddy#1659 (#63) May 9, 2017
thinkjs add ThinkJS example (#94) Jan 5, 2018
vanilla Add vanilla example (#99) Jan 14, 2018
winphp winphp: Updated readme to match the Caddyfile (#119) Jun 8, 2018
woltlab Add WoltLab example (#79) Jul 21, 2017
wordpress Fix WP rewrite for jetpack (closes #71) Jun 27, 2017
youtrack Add JetBrains YouTrack example (#128) Jul 19, 2018
zabbix Added config for Zabbix (replacing its apache2 with caddyserver) (#122) Jun 13, 2018
LICENSE Initial commit Nov 2, 2015 Update README with contribution guidelines Jan 1, 2017

Examples for using Caddy Web Server

This repository contains community-contributed, simple, guided examples of using Caddy with a variety of web applications and purposes.

Simply choose a folder that describes what you're trying to use Caddy for or with. Look at the Caddyfile in that folder, and follow the instructions there for more information.

Pay attention to when the file you're looking at was last updated. Some may need to be updated to work with newer versions of Caddy.


Please contribute new examples! We're happy to accept contributions that adhere to these quality standards:

  • Organize examples by application or use case. The top-level folders of this repo should be names of applications or use cases. Within each folder, there may be subfolders if there are multiple examples for it.
  • The example should generalize. It's okay to add an example for a niche (uncommon) application, but not a niche use of a niche application.
  • Be as minimal as possible. If it doesn't need to be in the Caddyfile to work properly, then don't put it in, even if you like it. We want people to learn precisely what they came to learn, the other stuff can follow.
  • Write a helpful README. Each example folder should contain a README with simple, concise instructions. Use your best grammar and cite sources! Do not over-explain, but don't leave it totally empty either. At minimum, explain why your example works. Be specific about what the example accomplishes.
  • Create a Caddyfile file. When applicable, create a file in your example folder called Caddyfile with the contents of the Caddyfile. You may annotate the Caddyfile with comments or describe it in the README, either way is fine.
  • Please keep it maintained. As the web application or use case associated with your example evolves, please keep the example maintained for future readers. Lots of people rely on examples to learn.

Thank you for being a part of our community! (We invite you to check out our forums too!)