Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
Mirrored from https://github.com/Slazee/caddy.git
Synced Nov 14, 05:15 UTC
Update readme
Matthew Holt committed
Mar 23, 2020 at 14:29 UTC
ee64719d932284419b5267b2eb94f9fc3a0d516b
1 file changed
+36
-15
README.md
+36
-15
@@ -1,19 +1,10 @@
1
-Caddy 2
2
-=======
3
-
4
-This is the development branch for Caddy 2, the web server of the Go community.
5
-
6
-**Caddy 2 is production-ready, but there may be breaking changes before the stable 2.0 release.** Please test it and deploy it as much as you are able, and submit your feedback!
7
-
8
----
9
-
1
<p align="center">
2
<a href="https://caddyserver.com"><img src="https://user-images.githubusercontent.com/1128849/36338535-05fb646a-136f-11e8-987b-e6901e717d5a.png" alt="Caddy" width="450"></a>
3
</p>
4
<h3 align="center">Every site on HTTPS</h3>
5
<p align="center">Caddy is an extensible server platform that uses TLS by default.</p>
6
<p align="center">
16
- <a href="https://github.com/caddyserver/caddy/actions?query=workflow%3ACross-Platform"><img src="https://github.com/caddyserver/caddy/workflows/Cross-Platform/badge.svg?branch=v2"></a>
7
+ <a href="https://github.com/caddyserver/caddy/actions?query=workflow%3ACross-Platform"><img src="https://github.com/caddyserver/caddy/workflows/Cross-Platform/badge.svg"></a>
8
<a href="https://pkg.go.dev/github.com/caddyserver/caddy/v2"><img src="https://img.shields.io/badge/godoc-reference-blue.svg"></a>
9
<a href="https://app.fuzzit.dev/orgs/caddyserver-gh/dashboard"><img src="https://app.fuzzit.dev/badge?org_id=caddyserver-gh"></a>
10
<br>
@@ -31,6 +22,7 @@ This is the development branch for Caddy 2, the web server of the Go community.
22
23
### Menu
24
25
+- [Features](#features)
26
- [Build from source](#build-from-source)
27
- [For development](#for-development)
28
- [With version information and/or plugins](#with-version-information-andor-plugins)
@@ -46,6 +38,27 @@ This is the development branch for Caddy 2, the web server of the Go community.
38
<a href="https://github.com/caddyserver/certmagic"><img src="https://user-images.githubusercontent.com/1128849/49704830-49d37200-fbd5-11e8-8385-767e0cd033c3.png" alt="CertMagic" width="250"></a>
39
</p>
40
41
+
42
+## Features
43
+
44
+- **Easy configuration** with the [Caddyfile](https://caddyserver.com/docs/caddyfile)
45
+- **Powerful configuration** with its [native JSON config](https://caddyserver.com/docs/json/)
46
+- **Dynamic configuration** with the [JSON API](https://caddyserver.com/api)
47
+- [**Config adapters**](https://caddyserver.com/docs/config-adapters) if you don't like JSON
48
+- **Automatic HTTPS** by default
49
+ - [Let's Encrypt](https://letsencrypt.org) for public sites
50
+ - Fully-managed local CA for internal names & IPs
51
+ - Can coordinate with other Caddy instances in a cluster
52
+- **Stays up when other servers go down** due to TLS/OCSP/certificate-related issues
53
+- **HTTP/1.1, HTTP/2, and experimental HTTP/3** support
54
+- **Highly extensible** [modular architecture](https://caddyserver.com/docs/extending-caddy) lets Caddy do anything without bloat
55
+- **Runs anywhere** with **no external dependencies** (not even libc)
56
+- Written in Go, a language with higher **memory safety guarantees** than other servers
57
+- Actually **fun to use**
58
+- So, so much more
59
+
60
+
61
+
62
## Build from source
63
64
Requirements:
@@ -54,22 +67,30 @@ Requirements:
67
- Do NOT disable [Go modules](https://github.com/golang/go/wiki/Modules) (`export GO111MODULE=on`)
68
69
### For development
57
-
58
-_**Note:** These steps [will not embed proper version information](https://github.com/golang/go/issues/29228). For that, please follow the instructions below._
70
71
```bash
61
-$ git clone -b v2 "https://github.com/caddyserver/caddy.git"
72
+$ git clone "https://github.com/caddyserver/caddy.git"
73
$ cd caddy/cmd/caddy/
74
$ go build
75
```
76
77
+_**Note:** These steps [will not embed proper version information](https://github.com/golang/go/issues/29228). For that, please follow the instructions below._
78
+
79
### With version information and/or plugins
80
81
+Using [our builder tool](https://github.com/caddyserver/builder)...
82
+
83
+```
84
+$ builder --version CADDY_VERSION
85
+```
86
+
87
+...the following steps are automated:
88
+
89
1. Create a new folder: `mkdir caddy`
90
2. Change into it: `cd caddy`
70
-3. Copy [Caddy's main.go](https://github.com/caddyserver/caddy/blob/v2/cmd/caddy/main.go) into the empty folder. Add imports for any custom plugins you want to add.
91
+3. Copy [Caddy's main.go](https://github.com/caddyserver/caddy/blob/master/cmd/caddy/main.go) into the empty folder. Add imports for any custom plugins you want to add.
92
4. Initialize a Go module: `go mod init caddy`
72
-5. Pin Caddy version: `go get github.com/caddyserver/caddy/v2@TAG` replacing `TAG` with a git tag or commit.
93
+5. Pin Caddy version: `go get github.com/caddyserver/caddy/v2@TAG` replacing `TAG` with a git tag or commit. You can also pin any plugin versions similarly.
94
6. Compile: `go build`
95
96