# Pingclair

Pingclair serves HTTP/1.1, HTTP/2, and HTTP/3 from a single configuration,
obtains and renews public certificates over ACME, and serves static files with
compression and range requests. Its configuration language, the Pingclairfile,
follows Caddyfile conventions.

```caddyfile
example.com {
    encode zstd gzip
    reverse_proxy 10.0.0.10:8080 10.0.0.11:8080
}
```

## Start here

**🚀 Install**
From a release binary, from source, or with Docker.
[Installation guide](/start/install/)
**🏃 Quickstart**
Write a first Pingclairfile, validate it, and serve traffic.
[Quickstart](/start/quickstart/)
**🧠 Concepts**
How a configuration file becomes runtime state, and how a request is
handled. [Configuration model](/concepts/configuration/)
**📖 Reference**
The configuration language and the directives it accepts.
[Directive reference](/reference/directives/)

## 📌 Release status

These pages describe **v0.2.2**. The `v0.1.x` line is unmaintained. [Project status](/project/status/) lists supported behavior and known release defects; read [Upgrading](/start/upgrade/) before replacing an older version.

## 📊 Performance

Pingclair is measured against nginx and Caddy on the same host, with every
candidate capped at two CPUs and an identical workload. The measured numbers,
their conditions, and the rows where Pingclair is slower are published in
[Benchmarks](/project/benchmarks/).
