mirror of
				https://github.com/coredns/coredns.git
				synced 2025-10-29 01:04:15 -04:00 
			
		
		
		
	Gut the readme as it is mostly Caddy
This commit is contained in:
		
							
								
								
									
										175
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										175
									
								
								README.md
									
									
									
									
									
								
							| @@ -1,174 +1 @@ | |||||||
| <!-- | # CoreDNS | ||||||
| [](https://caddyserver.com) |  | ||||||
|  |  | ||||||
| [](https://gitter.im/mholt/caddy)  |  | ||||||
| [](https://godoc.org/github.com/mholt/caddy)  |  | ||||||
| [](https://travis-ci.org/mholt/caddy)  |  | ||||||
| [](https://ci.appveyor.com/project/mholt/caddy) |  | ||||||
| --> |  | ||||||
|  |  | ||||||
| CoreDNS is a lightweight, general-purpose DNS server for Windows, Mac, Linux, BSD  |  | ||||||
| and [Android](https://github.com/mholt/caddy/wiki/Running-Caddy-on-Android).  |  | ||||||
| It is a capable alternative to other popular and easy to use web servers.  |  | ||||||
| ([@caddyserver](https://twitter.com/caddyserver) on Twitter) |  | ||||||
|  |  | ||||||
| The most notable features are HTTP/2, [Let's Encrypt](https://letsencrypt.org)  |  | ||||||
| support, Virtual Hosts, TLS + SNI, and easy configuration with a  |  | ||||||
| [Caddyfile](https://caddyserver.com/docs/caddyfile). In development, you usually  |  | ||||||
| put one Caddyfile with each site. In production, Caddy serves HTTPS by default  |  | ||||||
| and manages all cryptographic assets for you. |  | ||||||
|  |  | ||||||
| [Download](https://github.com/mholt/caddy/releases) ·  |  | ||||||
| [User Guide](https://caddyserver.com/docs) |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| ### Menu |  | ||||||
|  |  | ||||||
| - [Getting Caddy](#getting-caddy) |  | ||||||
| - [Quick Start](#quick-start) |  | ||||||
| - [Running from Source](#running-from-source) |  | ||||||
| - [Contributing](#contributing) |  | ||||||
| - [About the Project](#about-the-project) |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| ## Getting Caddy |  | ||||||
|  |  | ||||||
| Caddy binaries have no dependencies and are available for nearly every platform. |  | ||||||
|  |  | ||||||
| [Latest release](https://github.com/mholt/caddy/releases/latest) |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| ## Quick Start |  | ||||||
|  |  | ||||||
| The website has [full documentation](https://caddyserver.com/docs) but this will  |  | ||||||
| get you started in about 30 seconds: |  | ||||||
|  |  | ||||||
| Place a file named "Caddyfile" with your site. Paste this into it and save: |  | ||||||
|  |  | ||||||
| ``` |  | ||||||
| localhost |  | ||||||
|  |  | ||||||
| gzip |  | ||||||
| browse |  | ||||||
| ext .html |  | ||||||
| websocket /echo cat |  | ||||||
| log ../access.log |  | ||||||
| header /api Access-Control-Allow-Origin * |  | ||||||
| ``` |  | ||||||
|  |  | ||||||
| Run `caddy` from that directory, and it will automatically use that Caddyfile to  |  | ||||||
| configure itself. |  | ||||||
|  |  | ||||||
| That simple file enables compression, allows directory browsing (for folders  |  | ||||||
| without an index file), serves clean URLs, hosts a WebSocket echo server at  |  | ||||||
| /echo, logs requests to access.log, and adds the coveted  |  | ||||||
| `Access-Control-Allow-Origin: *` header for all responses from some API. |  | ||||||
|  |  | ||||||
| Wow! Caddy can do a lot with just a few lines. |  | ||||||
|  |  | ||||||
|  |  | ||||||
| #### Defining multiple sites |  | ||||||
|  |  | ||||||
| You can run multiple sites from the same Caddyfile, too: |  | ||||||
|  |  | ||||||
| ``` |  | ||||||
| site1.com { |  | ||||||
| 	# ... |  | ||||||
| } |  | ||||||
|  |  | ||||||
| site2.com, sub.site2.com { |  | ||||||
| 	# ... |  | ||||||
| } |  | ||||||
| ``` |  | ||||||
|  |  | ||||||
| Note that all these sites will automatically be served over HTTPS using Let's  |  | ||||||
| Encrypt as the CA. Caddy will manage the certificates (including renewals) for  |  | ||||||
| you. You don't even have to think about it. |  | ||||||
|  |  | ||||||
| For more documentation, please view [the website](https://caddyserver.com/docs).  |  | ||||||
| You may also be interested in the [developer guide] |  | ||||||
| (https://github.com/mholt/caddy/wiki) on this project's GitHub wiki. |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| ## Running from Source |  | ||||||
|  |  | ||||||
| Note: You will need **[Go 1.6](https://golang.org/dl/)** or newer. |  | ||||||
|  |  | ||||||
| 1. `$ go get github.com/mholt/caddy` |  | ||||||
| 2. `cd` into your website's directory |  | ||||||
| 3. Run `caddy` (assumes `$GOPATH/bin` is in your `$PATH`) |  | ||||||
|  |  | ||||||
| If you're tinkering, you can also use `go run main.go`. |  | ||||||
|  |  | ||||||
| By default, Caddy serves the current directory at  |  | ||||||
| [localhost:2015](http://localhost:2015). You can place a Caddyfile to configure  |  | ||||||
| Caddy for serving your site. |  | ||||||
|  |  | ||||||
| Caddy accepts some flags from the command line. Run `caddy -h` to view the help |  | ||||||
|  for flags. You can also pipe a Caddyfile into the caddy command. |  | ||||||
|  |  | ||||||
| **Running as root:** We advise against this; use setcap instead, like so:  |  | ||||||
| `setcap cap_net_bind_service=+ep ./caddy` This will allow you to listen on  |  | ||||||
| ports < 1024 like 80 and 443. |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| #### Docker Container |  | ||||||
|  |  | ||||||
| Caddy is available as a Docker container from any of these sources: |  | ||||||
|  |  | ||||||
| - [abiosoft/caddy](https://hub.docker.com/r/abiosoft/caddy/) |  | ||||||
| - [darron/caddy](https://hub.docker.com/r/darron/caddy/) |  | ||||||
| - [joshix/caddy](https://hub.docker.com/r/joshix/caddy/) |  | ||||||
| - [jumanjiman/caddy](https://hub.docker.com/r/jumanjiman/caddy/) |  | ||||||
| - [zenithar/nano-caddy](https://hub.docker.com/r/zenithar/nano-caddy/) |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| #### 3rd-party dependencies |  | ||||||
|  |  | ||||||
| Although Caddy's binaries are completely static, Caddy relies on some excellent |  | ||||||
| libraries. [Godoc.org](https://godoc.org/github.com/mholt/caddy) shows the |  | ||||||
| packages that each Caddy package imports. |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| ## Contributing |  | ||||||
|  |  | ||||||
| **[Join our dev chat on Gitter](https://gitter.im/mholt/caddy)** to chat with |  | ||||||
| other Caddy developers! (Dev chat only; try our |  | ||||||
| [support room](https://gitter.im/caddyserver/support) for help or |  | ||||||
| [general](https://gitter.im/caddyserver/general) for anything else.) |  | ||||||
|  |  | ||||||
| This project would not be what it is without your help. Please see the |  | ||||||
| [contributing guidelines](https://github.com/mholt/caddy/blob/master/CONTRIBUTING.md) |  | ||||||
| if you haven't already. |  | ||||||
|  |  | ||||||
| Thanks for making Caddy -- and the Web -- better! |  | ||||||
|  |  | ||||||
| Special thanks to |  | ||||||
| [](https://www.digitalocean.com) |  | ||||||
| for hosting the Caddy project. |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| ## About the project |  | ||||||
|  |  | ||||||
| Caddy 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, |  | ||||||
| [Websocketd](https://github.com/joewalnes/websocketd) |  | ||||||
| and [Vagrant](https://www.vagrantup.com/), |  | ||||||
| which provides a pleasant mixture of features from each of them. |  | ||||||
|  |  | ||||||
|  |  | ||||||
| *Twitter: [@mholt6](https://twitter.com/mholt6)* |  | ||||||
|   | |||||||
							
								
								
									
										1
									
								
								TODO
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								TODO
									
									
									
									
									
								
							| @@ -1,7 +1,6 @@ | |||||||
| * Fix file middleware to use a proper zone implementation | * Fix file middleware to use a proper zone implementation | ||||||
|     * Zone parsing (better zone impl.) |     * Zone parsing (better zone impl.) | ||||||
| * Zones file parsing is done twice on startup?? | * Zones file parsing is done twice on startup?? | ||||||
| * Might need global middleware state between middlewares |  | ||||||
| * Cleanup/make middlewares | * Cleanup/make middlewares | ||||||
|     * Fix complex rewrite to be useful |     * Fix complex rewrite to be useful | ||||||
|     * Healthcheck middleware |     * Healthcheck middleware | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user