Gut the readme as it is mostly Caddy
This commit is contained in:
parent
3ec0d9fe6b
commit
c25fbeb571
2 changed files with 1 additions and 175 deletions
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
|
||||||
|
|
Loading…
Add table
Reference in a new issue