{"id":37155123,"url":"https://github.com/zmalik/caddy","last_synced_at":"2026-01-14T18:20:44.943Z","repository":{"id":57595587,"uuid":"96186986","full_name":"zmalik/caddy","owner":"zmalik","description":"Fast, cross-platform HTTP/2 web server with automatic HTTPS","archived":false,"fork":true,"pushed_at":"2017-07-02T13:13:14.000Z","size":5295,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-06-20T14:21:35.990Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://caddyserver.com","language":"Go","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"caddyserver/caddy","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zmalik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-07-04T07:11:21.000Z","updated_at":"2019-07-02T18:52:25.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/zmalik/caddy","commit_stats":null,"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"purl":"pkg:github/zmalik/caddy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmalik%2Fcaddy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmalik%2Fcaddy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmalik%2Fcaddy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmalik%2Fcaddy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zmalik","download_url":"https://codeload.github.com/zmalik/caddy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmalik%2Fcaddy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28430431,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T16:38:47.836Z","status":"ssl_error","status_checked_at":"2026-01-14T16:34:59.695Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-14T18:20:44.172Z","updated_at":"2026-01-14T18:20:44.934Z","avatar_url":"https://github.com/zmalik.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\t\u003ca href=\"https://caddyserver.com\"\u003e\u003cimg src=\"https://cloud.githubusercontent.com/assets/1128849/25305033/12916fce-2731-11e7-86ec-580d4d31cb16.png\" alt=\"Caddy\" width=\"400\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003ch3 align=\"center\"\u003eEvery Site on HTTPS \u003c!-- Serve Confidently --\u003e\u003c/h3\u003e\n\u003cp align=\"center\"\u003eCaddy is a general-purpose HTTP/2 web server that serves HTTPS by default.\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\t\u003ca href=\"https://travis-ci.org/mholt/caddy\"\u003e\u003cimg src=\"https://img.shields.io/travis/mholt/caddy.svg?label=linux+build\"\u003e\u003c/a\u003e\n\t\u003ca href=\"https://ci.appveyor.com/project/mholt/caddy\"\u003e\u003cimg src=\"https://img.shields.io/appveyor/ci/mholt/caddy.svg?label=windows+build\"\u003e\u003c/a\u003e\n\t\u003ca href=\"https://godoc.org/github.com/mholt/caddy\"\u003e\u003cimg src=\"https://img.shields.io/badge/godoc-reference-blue.svg\"\u003e\u003c/a\u003e\n\t\u003ca href=\"https://goreportcard.com/report/mholt/caddy\"\u003e\u003cimg src=\"https://goreportcard.com/badge/github.com/mholt/caddy\"\u003e\u003c/a\u003e\n\t\u003cbr\u003e\n\t\u003ca href=\"https://twitter.com/caddyserver\" title=\"@caddyserver on Twitter\"\u003e\u003cimg src=\"https://img.shields.io/badge/twitter-@caddyserver-55acee.svg\" alt=\"@caddyserver on Twitter\"\u003e\u003c/a\u003e\n\t\u003ca href=\"https://caddy.community\" title=\"Caddy Forum\"\u003e\u003cimg src=\"https://img.shields.io/badge/community-forum-ff69b4.svg\" alt=\"Caddy Forum\"\u003e\u003c/a\u003e\n\t\u003ca href=\"https://sourcegraph.com/github.com/mholt/caddy?badge\" title=\"Caddy on Sourcegraph\"\u003e\u003cimg src=\"https://sourcegraph.com/github.com/mholt/caddy/-/badge.svg\" alt=\"Caddy on Sourcegraph\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\t\u003ca href=\"https://caddyserver.com/download\"\u003eDownload\u003c/a\u003e ·\n\t\u003ca href=\"https://caddyserver.com/docs\"\u003eDocumentation\u003c/a\u003e ·\n\t\u003ca href=\"https://caddy.community\"\u003eCommunity\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\nCaddy is fast, easy to use, and makes you more productive.\n\nAvailable for Windows, Mac, Linux, BSD, Solaris, and [Android](https://github.com/mholt/caddy/wiki/Running-Caddy-on-Android).\n\n## Menu\n\n- [Features](#features)\n- [Install](#install)\n- [Quick Start](#quick-start)\n- [Running in Production](#running-in-production)\n- [Contributing](#contributing)\n- [Donors](#donors)\n- [About the Project](#about-the-project)\n\n## Features\n\n- **Easy configuration** with the Caddyfile\n- **Automatic HTTPS** on by default (via [Let's Encrypt](https://letsencrypt.org))\n- **HTTP/2** by default\n- **Virtual hosting** so multiple sites just work\n- Experimental **QUIC support** for those that like speed\n- TLS session ticket **key rotation** for more secure connections\n- **Extensible with plugins** because a convenient web server is a helpful one\n- **Runs anywhere** with **no external dependencies** (not even libc)\n\nThere's way more, too! [See all features built into Caddy.](https://caddyserver.com/features) On top of all those, Caddy does even more with plugins: choose which plugins you want at [download](https://caddyserver.com/download).\n\n\n## Install\n\nCaddy binaries have no dependencies and are available for every platform. Get Caddy any one of these ways:\n\n- **[Download page](https://caddyserver.com/download)** allows you to\ncustomize your build in the browser\n- **[Latest release](https://github.com/mholt/caddy/releases/latest)** for\npre-built, vanilla binaries\n- **go get** to build from source: `go get github.com/mholt/caddy/caddy` (requires Go 1.8 or newer)\n\nThen make sure the `caddy` binary is in your PATH.\n\n\n## Quick Start\n\nTo serve static files from the current working directory, run:\n\n```\ncaddy\n```\n\nCaddy's default port is 2015, so open your browser to [http://localhost:2015](http://localhost:2015).\n\n### Go from 0 to HTTPS in 5 seconds\n\nIf the `caddy` binary has permission to bind to low ports and your domain name's DNS records point to the machine you're on:\n\n```\ncaddy -host example.com\n```\n\nThis command serves static files from the current directory over HTTPS. Certificates are automatically obtained and renewed for you!\n\n### Customizing your site\n\nTo customize how your site is served, create a file named Caddyfile by your site and paste this into it:\n\n```plain\nlocalhost\n\npush\nbrowse\nwebsocket /echo cat\next    .html\nlog    /var/log/access.log\nproxy  /api 127.0.0.1:7005\nheader /api Access-Control-Allow-Origin *\n```\n\nWhen you run `caddy` in that directory, it will automatically find and use that Caddyfile.\n\nThis simple file enables server push (via Link headers), allows directory browsing (for folders without an index file), hosts a WebSocket echo server at /echo, serves clean URLs, logs requests to an access log, proxies all API requests to a backend on port 7005, and adds the coveted  `Access-Control-Allow-Origin: *` header for all responses from the API.\n\nWow! Caddy can do a lot with just a few lines.\n\n### Doing more with Caddy\n\nTo host multiple sites and do more with the Caddyfile, please see the [Caddyfile tutorial](https://caddyserver.com/tutorial/caddyfile).\n\nSites with qualifying hostnames are served over [HTTPS by default](https://caddyserver.com/docs/automatic-https).\n\nCaddy has a command line interface. Run `caddy -h` to view basic help or see the [CLI documentation](https://caddyserver.com/docs/cli) for details.\n\n\n## Running in Production\n\nCaddy is production-ready if you find it to be a good fit for your site and workflow.\n\n**Running as root:** We advise against this. You can still listen on ports \u003c 1024 on Linux using setcap like so: `sudo setcap cap_net_bind_service=+ep ./caddy`\n\nThe Caddy project does not officially maintain any system-specific integrations nor suggest how to administer your own system. But your download file includes [unofficial resources](https://github.com/mholt/caddy/tree/master/dist/init) contributed by the community that you may find helpful for running Caddy in production.\n\nHow you choose to run Caddy is up to you. Many users are satisfied with `nohup caddy \u0026`. Others use `screen`. Users who need Caddy to come back up after reboots either do so in the script that caused the reboot, add a command to an init script, or configure a service with their OS.\n\nIf you have questions or concerns about Caddy' underlying crypto implementations, consult Go's [crypto packages](https://golang.org/pkg/crypto), starting with their documentation, then issues, then the code itself; as Caddy uses mainly those libraries.\n\n\n## Contributing\n\n**[Join our forum](https://caddy.community) where you can chat with other Caddy users and developers!** To get familiar with the code base, try [Caddy code search on Sourcegraph](https://sourcegraph.com/github.com/mholt/caddy/-/search)!\n\nPlease see our [contributing guidelines](https://github.com/mholt/caddy/blob/master/.github/CONTRIBUTING.md) for instructions. If you want to write a plugin, check out the [developer wiki](https://github.com/mholt/caddy/wiki).\n\nWe use GitHub issues and pull requests only for discussing bug reports and the development of specific changes. We welcome all other topics on the [forum](https://caddy.community)!\n\nIf you want to contribute to the documentation, please submit pull requests to [caddyserver/website](https://github.com/caddyserver/website).\n\nThanks for making Caddy -- and the Web -- better!\n\n\n## Donors\n\n- [DigitalOcean](https://m.do.co/c/6d7bdafccf96) is hosting the Caddy project.\n- [DNSimple](https://dnsimple.link/resolving-caddy) provides DNS services for Caddy's sites.\n- [DNS Spy](https://dnsspy.io) keeps an eye on Caddy's DNS properties.\n\nWe thank them for their services. **If you want to help keep Caddy free, please [become a sponsor](https://caddyserver.com/pricing)!**\n\n\n## About the Project\n\nCaddy was born out of the need for a \"batteries-included\" web server that runs anywhere and doesn't have to take its configuration with it. Caddy took inspiration from [spark](https://github.com/rif/spark), [nginx](https://github.com/nginx/nginx), lighttpd,\n[Websocketd](https://github.com/joewalnes/websocketd) and [Vagrant](https://www.vagrantup.com/), which provides a pleasant mixture of features from each of them.\n\n**The name \"Caddy\":** The name of the software is \"Caddy\", not \"Caddy Server\" or \"CaddyServer\". Please call it \"Caddy\" or, if you wish to clarify, \"the Caddy web server\". See [brand guidelines](https://caddyserver.com/brand).\n\n*Author on Twitter: [@mholt6](https://twitter.com/mholt6)*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzmalik%2Fcaddy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzmalik%2Fcaddy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzmalik%2Fcaddy/lists"}