From 01a9c8a525816ed310a4bc08911b93e8e694436d Mon Sep 17 00:00:00 2001 From: Matthew Holt Date: Mon, 2 Oct 2023 17:11:59 -0600 Subject: [PATCH] Continue work on marketing pages --- new/download.html | 24 ++ new/features.html | 583 ++++++++++++++++++++++---------- new/index.html | 524 ++++++++++++++-------------- new/resources/css/common.css | 21 +- new/resources/css/docs.css | 2 + new/resources/css/features.css | 35 +- new/resources/css/marketing.css | 17 +- new/sponsor.html | 305 +++++++++-------- 8 files changed, 887 insertions(+), 624 deletions(-) create mode 100644 new/download.html diff --git a/new/download.html b/new/download.html new file mode 100644 index 0000000..bc5a259 --- /dev/null +++ b/new/download.html @@ -0,0 +1,24 @@ + + + + Download Caddy + {{include "/includes/head.html"}} + + + +
+ {{include "/includes/header.html" "light-header"}} + + +
+ +
+ Hello, world! +
+ +
+ + + {{include "/includes/footer.html"}} + + \ No newline at end of file diff --git a/new/features.html b/new/features.html index e710e7d..f499577 100644 --- a/new/features.html +++ b/new/features.html @@ -22,217 +22,428 @@
-
-
-

- Overview -

-

- Caddy is essentially a configuration management system that can run various apps like an HTTP server, TLS certificate manager, PKI facilities, and more. It can be extended with plugins known as config modules. -

-

- Caddy sports a flexible and powerful HTTP reverse proxy, on-line configuration API, and a robust, production-ready static file server, and serves all sites over HTTPS by default with automagic TLS certificates. -

+
-

Overall program technical specifications

+
+
+
+ Features in this color are provided by available plugins. +
-
-
-

Language

-
- The language choice is crucial for a web server. Most servers (NGINX, Apache, HAProxy, etc.) and their dependencies are written in C, which are vulnerable to catastrophic memory safety bugs like Heartbleed. Go programs like Caddy are impervious to a whole class of security vulnerabilities. +

+ Overview +

+

+ Caddy is essentially a configuration management system that can run various apps like an HTTP server, TLS certificate manager, PKI facilities, and more. It can be extended with plugins known as config modules. +

+

+ Caddy sports a flexible and powerful HTTP reverse proxy, on-line configuration API, and a robust, production-ready static file server, and serves all sites over HTTPS by default with automagic TLS certificates. +

+ +

Overall program technical specifications

+ +
+
+

Language

+
+ The language choice is crucial for a web server. Most servers (NGINX, Apache, HAProxy, etc.) and their dependencies are written in C, which are vulnerable to catastrophic memory safety bugs like Heartbleed. Go programs like Caddy are impervious to a whole class of security vulnerabilities. +
+
+ Go +
-
- Go +
+

Build artifacts

+
+ Caddy compiles directly to native CPU instructions. There is no interpreter required; and many instructions are architecture-optimized. +
+
+ Platform-native static binary +
+
+
+

Runtime dependencies

+
+ Caddy is statically compiled. Dynamically-linked applications can easily break in production and may be less secure as shared executable resources are loaded from various places around the system. Generally, Caddy binaries do not necessarily require external libraries — not even libc. +
+
+ None +
+
+
+

Compile time

+
+ On consumer hardware, standard Caddy builds compile in just a few seconds. This is crucial for rapid iteration, plugin development, and low-cost deployments. +
+
+ 5 seconds +
+
+
+

Deployment environments

+
+ Caddy can go practically anywhere and be deployed a variety of ways. In general, upgrading is as simple as replacing the binary. +
+
    +
  • Command line interface
  • +
  • System service
  • +
  • Containers
  • +
  • Kubernetes
  • +
  • Embedded
  • +
+
+
+

Supply chain and releases

+
+ Go modules verify the integrity of our dependencies and we cryptographically sign our release artifacts so you know what you can trust. +
+
+ Cryptographically verified +
+
+
+

Operating systems

+
+ Caddy runs on every major platform for which Go compiles. +
+
    +
  • Linux
  • +
  • Windows
  • +
  • macOS
  • +
  • FreeBSD
  • +
  • OpenBSD
  • +
  • NetBSD
  • +
  • Android
  • +
+
+
+

Microarchitectures

+
+ Run Caddy with native code on numerous CPU platforms. +
+
    +
  • x86 (i386, i686)
  • +
  • x86-64 (AMD64)
  • +
  • ARM
  • +
  • ARM 64 (AArch64)
  • +
  • MIPS
  • +
  • MIPS64[LE]
  • +
  • PPC64[LE]
  • +
  • RISCV64
  • +
  • S390X
  • +
  • Apple Silicon (Apple ARM; M1, M2, etc.)
  • +
+
+
+

Regular expression engine

+
+ Caddy's regular expression language is based on the Thompson NFA and has numerous performance improvements over PCRE used by other web servers. It guarantees the runtime cost increases linearly instead of exponentially. This is ideal when evaluating untrusted input. +

+ RE2 Syntax +

+
+
+ RE2 +
+
+
+

Concurrency model

+
+ Go's runtime optimizes scheduled CPU time in smarter ways than the operating system can using lightweight user-space threads called goroutines. Caddy easily handles hundreds of thousands of requests per second. +
+
+ Goroutines (epoll + kqueue) +
+
+
+

Plugin model

+
+ Caddy can be extended by compile-time plugins, which compile as native code, in a way that cannot be broken during deployments or by system upgrades. With no IPC or RPC calls, Caddy extensions perform equally well with native code. +
+
+ Compile-time static +
-
-

Build artifacts

-
- Caddy compiles directly to native CPU instructions. There is no interpreter required; and many instructions are architecture-optimized. + +

High-level capabilities

+ +
+
+

Configuration changes

+
+ With zero-downtime graceful reloads, Caddy's configuration can be changed while it is running. It's programmable/scriptable for powerful automation. +
+
    +
  • RESTful HTTP API
  • +
  • Config files
  • +
  • Secure remote access
  • + +
-
- Platform-native static binary +
+

App modules

+
+ Top-level configuration structures are called app modules, or Caddy apps. They provide the bulk of Caddy's functionality. Anyone can write app modules, and Caddy comes with several standard apps built-in. +
+
    +
  • HTTP
  • +
  • TLS
  • +
  • PKI
  • +
  • Events
  • +
  • Raw TCP & UDP
  • +
  • SSH
  • +
  • PHP
  • +
  • Dynamic DNS
  • +
  • Security
  • +
  • Process supervision
  • +
  • Profiling
  • +
-
-
-

Runtime dependencies

-
- Caddy is statically compiled. Dynamically-linked applications can easily break in production and may be less secure as shared executable resources are loaded from various places around the system. Generally, Caddy binaries do not necessarily require external libraries — not even libc. +
+

Logs

+
+ Caddy's logging can be configured as to format, verbosity, output, and more. +
+
    +
  • Leveled
  • +
  • Structured
  • +
  • High efficiency, zero-allocation
  • +
-
- None -
-
-
-

Compile time

-
- On consumer hardware, standard Caddy builds compile in just a few seconds. This is crucial for rapid iteration, plugin development, and low-cost deployments. -
-
- 5 seconds -
-
-
-

Deployment environments

-
- Caddy can go practically anywhere and be deployed a variety of ways. In general, upgrading is as simple as replacing the binary. -
-
    -
  • Command line interface
  • -
  • System service
  • -
  • Containers
  • -
  • Kubernetes
  • -
  • Embedded
  • -
-
-
-

Supply chain and releases

-
- Go modules verify the integrity of our dependencies and we cryptographically sign our release artifacts so you know what you can trust. -
-
- Cryptographically verified -
-
-
-

Operating systems

-
- Caddy runs on every major platform for which Go compiles. -
-
    -
  • Linux
  • -
  • Windows
  • -
  • macOS
  • -
  • FreeBSD
  • -
  • OpenBSD
  • -
  • NetBSD
  • -
  • Android
  • -
-
-
-

Microarchitectures

-
- Run Caddy with native code on numerous CPU platforms. -
-
    -
  • x86 (i386, i686)
  • -
  • x86-64 (AMD64)
  • -
  • ARM
  • -
  • ARM 64 (AArch64)
  • -
  • MIPS
  • -
  • MIPS64[LE]
  • -
  • PPC64[LE]
  • -
  • RISCV64
  • -
  • S390X
  • -
  • Apple Silicon (Apple ARM; M1, M2, etc.)
  • -
-
-
-

Regular expression engine

-
- Caddy's regular expression language is based on the Thompson NFA and has numerous performance improvements over PCRE used by other web servers. It guarantees the runtime cost increases linearly instead of exponentially. This is ideal when evaluating untrusted input. -

- RE2 Syntax -

-
-
- RE2 -
-
-
-

Concurrency model

-
- Go's runtime optimizes scheduled CPU time in smarter ways than the operating system can using lightweight user-space threads called goroutines. Caddy easily handles hundreds of thousands of requests per second. -
-
- Goroutines (epoll + kqueue) -
-
-
-

Plugin model

-
- Caddy can be extended by compile-time plugins, which compile as native code, in a way that cannot be broken during deployments or by system upgrades. With no IPC or RPC calls, Caddy extensions perform equally well with native code. -
-
- Compile-time static +
+

Storage

+
+ Assets and state, including certificates and OCSP staples, are stored in configurable storage backends. In fact, multiple instances of Caddy configured with the same storage are considered part of a cluster and can coordinate automatically. +
+
    +
  • File system
  • +
  • Embedded (in-memory)
  • +
  • Postgres
  • +
  • Redis
  • +
  • Vault
  • +
  • Consul
  • +
+
-

High-level capabilities

-
-
-

Configuration changes

-
- With zero-downtime graceful reloads, Caddy's configuration can be changed while it is running. It's programmable/scriptable for powerful automation. + + + + +
+
+

+ Command line interface +

+

+ Caddy's CLI is not only useful—it's helpful. While most server CLIs merely run the process and reload config, Caddy's CLI goes the extra lightyear to help make administering your modern web server a breeze. +

+

+ Plugins can register their own subcommands to extend Caddy's CLI. +

+ +
+
+

Command help

+
+ If you misspell a command or flag, miss an argument, or don't know the subcommand, help text is automatically printed. You can also access overall command help or subcommand help with caddy help or -h. +
+
+ Built-in, automatic (man pages can also be generated) +
-
    -
  • RESTful HTTP API
  • -
  • Config files
  • -
  • Secure remote access
  • - -
-
-
-

App modules

-
- Top-level configuration structures are called app modules, or Caddy apps. They provide the bulk of Caddy's functionality. Anyone can write app modules, and Caddy comes with several standard apps built-in. +
+

Admin API wrappers

+
+ Several subcommands use administration API endpoints for use with the CLI to help you perform common tasks like loading config from files or stopping the server. +
+
    +
  • Adapt config to JSON
  • +
  • Start the server, optionally with config
  • +
  • Gracefully reload configuration
  • +
  • Stop the server
  • +
-
    -
  • HTTP
  • -
  • TLS
  • -
  • PKI
  • -
  • Events
  • -
-
-
-

Logs

-
- Caddy's logging can be configured as to format, verbosity, output, and more. +
+

Binary utilities

+
+ Since custom builds of Caddy are so common, several commands exist to help you manage and get detailed information about your build. +
+
    +
  • Detailed build metadata
  • +
  • List installed config modules
  • +
  • List dependencies
  • +
  • Add and remove plugin packages
  • +
  • Print the version
  • +
  • Upgrade the Caddy binary
  • +
-
    -
  • Leveled
  • -
  • Structured
  • -
  • High efficiency, zero-allocation
  • -
-
-
-

Storage

-
- Assets and state are stored in configurable storage modules. Third-party plugins add databases like Postgres and Redis, or orchestrators like Consul and Vault. +
+

Configuration utilities

+
+ If you choose to use configuration files, Caddy's CLI helps you manage them. +
+
    +
  • Format Caddyfile
  • +
  • Validate configuration
  • +
  • List dependencies
  • +
  • Add and remove plugin packages
  • +
  • Print the version
  • +
-
-
  • File system
  • -
  • Embedded (in-memory)
  • +
    +

    Module utilities

    +
    + Modules may register their own subcommands to provide common functionality that can be utilized without a config document. +
    +
      +
    • Static file server
    • +
    • HTTP reverse proxy
    • +
    • Static HTTP responses (templateable)
    • +
    • Storage import/export (backup/restore)
    • +
    • Hash password for use with HTTP basic auth
    • +
    • Export file browse template
    • +
    +
    +
    +

    Integration utilities

    +
    + Several subcommands can help you integrate Caddy into your shell environment. +
    +
      +
    • Generate shell completion script
    • +
    • Print the environment
    • +
    • Generate man pages
    • +
    • Install Caddy-managed root CA into trust stores
    • +
    • Remove Caddy-managed root CA from trust stores
    • +
    +
    +
    +

    System signals

    +
    + Caddy has support for common operating system signals/interrupts, with subtle differences in behavior for each one. +

    + Signal documentation +

    +
    +
      +
    • INT (graceful stop)
    • +
    • QUIT
    • +
    • TERM
    • +
    +
    +
    +

    Exit codes

    +
    + Whether Caddy exits successfully or with an error, the exit code can give a hint to your process supervisor or script how to handle that. +
    +
    -
    -
    +
    +
    +
    +

    + Configuration +

    +

    + We've designed Caddy so that its configuration not only provides access to features, but it IS a feature in and of itself. +

    +

    + No more quibbling over which config file format is the best: use whatever you want! Caddy's config adapters allow you to use whatever config format you prefer. +

    +
    +
    +

    Native config format

    +
    + Caddy's native configuration format is ubiquitous: it has tooling in nearly every operating system, platform, programming language, and API ecosystem. Almost all other formats can be translated down into JSON, which balances human readability and programmability. You'll find it a powerful ally of your web server. +
    +
    + JSON +
    +
    +
    +

    Config adapters

    +
    + You can always write your config in another format and with config adapters, Caddy will implicitly translate it into JSON for you so you can work with what you like. +
    +
      +
    • Caddyfile
    • +
    • JSON 5
    • +
    • JSON-C
    • +
    • NGINX Conf
    • +
    • YAML
    • +
    • CUE
    • +
    • TOML
    • +
    • HCL
    • +
    • Dhall
    • +
    • MySQL
    • +
    +
    +
    +

    Human-friendly config

    +
    + The Caddyfile is most users' favorite way to write their web server config by hand because its syntax is forgiving while also being designed with a structure that makes it easy to read and write. It is translated to JSON automatically. +
    +
    + Caddyfile +
    +
    +
    +

    Export

    +
    + Caddy's administration API allows you to have runtime access to the current configuration in JSON format with a simple GET request. +
    +
    +
    +

    Config API

    +
    + Caddy receives its configuration through an API endpoint, which can accept JSON or any other format it has a config adapter for. +
    +
    +
    +

    Config files

    +
    + If you prefer normal commands to manage configuration, Caddy's CLI wraps the API endpoints for you. +
    +
    +
    + +
    +
    +
    +
    +

    + HTTP File Server +

    +

    + Caddy's file server is best-in-class. +

    +
    +
    +

    TODO...

    +
    + TODO... +
    +
    + TODO... +
    +
    +
    + +
    +
    - -
    -
    -

    - Command line interface -

    -

    - Caddy's CLI is not only useful—it's helpful. While most server CLIs stop at running the process and reloading config, Caddy's CLI goes the extra lightyear to help make administering your web server a breeze. -

    -

    - Plugins can register their own subcommands to extend Caddy's CLI. -

    - - -
    -
    - + {{include "/includes/footer.html"}} diff --git a/new/index.html b/new/index.html index 348b45a..2f1f6ae 100644 --- a/new/index.html +++ b/new/index.html @@ -123,291 +123,295 @@ -
    -
    - Every
    - site on
    - HTTPS -
    -

    - By default, Caddy automatically obtains and renews TLS certificates for all your sites. -

    +
    -
    -
    -

    Dynamically provision certificates

    -

    - With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. -

    -
    -
    -

    Dynamically provision certificates

    -

    - With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. -

    -
    -
    -

    Dynamically provision certificates

    -

    - With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. -

    +
    +
    + Every
    + site on
    + HTTPS
    +

    + By default, Caddy automatically obtains and renews TLS certificates for all your sites. +

    -
    -

    software assurance

    -

    - Some text here that explains sponsorships -

    - See sponsorships -
    +
    +
    +

    Dynamically provision certificates

    +

    + With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. +

    +
    +
    +

    Dynamically provision certificates

    +

    + With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. +

    +
    +
    +

    Dynamically provision certificates

    +

    + With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. +

    +
    - -
    -
    +
    +
    +
    +

    + The most advanced HTTPS server in the world +

    +
    +
    +
    +
    +
    +

    Dynamically provision certificates

    +

    + With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. +

    +
    +
    +

    Dynamically provision certificates

    +

    + With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. +

    +
    +
    +

    Dynamically provision certificates

    +

    + With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. +

    +
    +
    + +
    +

    Experience it

    +

    + Discover Caddy's automagic HTTPS features. +

    +

    + Point any subdomain named caddydemo to: +

    +

    + + A + 1.2.3.4 + + + AAAA + ::f00 + +

    +

    + Then visit it in your browser. +

    +

    + You'll notice how Caddy provisions a certificate for your domain automatically. +

    +
    +

    + Caddy is capable of serving TLS for any domains and IPs. This demo is intentionally restricted. +

    +

    + Not working? Make sure to use a subdomain of a registered domain, not a "sub-subdomain." + Verify you have created the public DNS records shown above with the correct values. + You may have to allow time for propagation. Consult your DNS provider's documentation or support for more information. +

    +

    + Example subdomains that could work: caddydemo.example.net, caddydemo.example.co.uk +

    +
    +
    +
    +
    + +

    - The most advanced HTTPS server in the world + A truly forward-thinking reverse proxy

    -
    -
    -
    -
    -
    -

    Dynamically provision certificates

    -

    - With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. -

    -
    -
    -

    Dynamically provision certificates

    -

    - With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. -

    -
    -
    -

    Dynamically provision certificates

    -

    - With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. -

    -
    -
    - -
    -

    Experience it

    - Discover Caddy's automagic HTTPS features. + Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. + Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.

    +
    +
    +

    Dynamically provision certificates

    +

    + With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. +

    +
    +
    +

    Dynamically provision certificates

    +

    + With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. +

    +
    +
    +

    Dynamically provision certificates

    +

    + With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. +

    +
    +
    + + +

    + Production-grade static file server +

    - Point any subdomain named caddydemo to: -

    -

    - - A - 1.2.3.4 - - - AAAA - ::f00 - + Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. + Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.

    +
    +
    +

    Dynamically provision certificates

    +

    + With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. +

    +
    +
    +

    Dynamically provision certificates

    +

    + With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. +

    +
    +
    +

    Dynamically provision certificates

    +

    + With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. +

    +
    +
    +
    +
    + +
    +
    +

    + Flexible configuration for all production environments +

    - Then visit it in your browser. + Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. + Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.

    +
    +
    +

    Dynamically provision certificates

    +

    + With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. +

    +
    +
    +

    Dynamically provision certificates

    +

    + With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. +

    +
    +
    +

    Dynamically provision certificates

    +

    + With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. +

    +
    +
    +
    +
    + + + +
    +
    +

    + Unparalleled extensibility +

    - You'll notice how Caddy provisions a certificate for your domain automatically. + Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. + Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.

    -
    -

    - Caddy is capable of serving TLS for any domains and IPs. This demo is intentionally restricted. -

    -

    - Not working? Make sure to use a subdomain of a registered domain, not a "sub-subdomain." - Verify you have created the public DNS records shown above with the correct values. - You may have to allow time for propagation. Consult your DNS provider's documentation or support for more information. -

    -

    - Example subdomains that could work: caddydemo.example.net, caddydemo.example.co.uk -

    +
    +
    +

    Dynamically provision certificates

    +

    + With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. +

    +
    +
    +

    Dynamically provision certificates

    +

    + With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. +

    +
    +
    +

    Dynamically provision certificates

    +

    + With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. +

    +
    -
    -
    + -
    -
    -

    - A truly forward-thinking reverse proxy -

    -

    - Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. - Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. -

    -
    -
    -

    Dynamically provision certificates

    -

    - With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. -

    -
    -
    -

    Dynamically provision certificates

    -

    - With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. -

    -
    -
    -

    Dynamically provision certificates

    -

    - With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. -

    + +
    +
    +

    + The gold standard web server +

    +

    + Caddy keeps your sites up when other servers let you down. +

    +
    +
    +

    Dynamically provision certificates

    +

    + With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. +

    +
    +
    +

    Dynamically provision certificates

    +

    + With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. +

    +
    +
    +

    Dynamically provision certificates

    +

    + With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. +

    +
    - - -

    - Production-grade static file server -

    -

    - Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. - Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. -

    -
    -
    -

    Dynamically provision certificates

    -

    - With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. -

    -
    -
    -

    Dynamically provision certificates

    -

    - With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. -

    -
    -
    -

    Dynamically provision certificates

    -

    - With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. -

    -
    -
    -
    -
    - -
    -
    -

    - Flexible configuration for all production environments -

    -

    - Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. - Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. -

    -
    -
    -

    Dynamically provision certificates

    -

    - With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. -

    -
    -
    -

    Dynamically provision certificates

    -

    - With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. -

    -
    -
    -

    Dynamically provision certificates

    -

    - With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. -

    -
    -
    -
    -
    - - - -
    -
    -

    - Unparalleled extensibility -

    -

    - Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. - Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. -

    -
    -
    -

    Dynamically provision certificates

    -

    - With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. -

    -
    -
    -

    Dynamically provision certificates

    -

    - With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. -

    -
    -
    -

    Dynamically provision certificates

    -

    - With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. -

    -
    -
    -
    -
    - - -
    -
    -

    - The gold standard web server -

    -

    - Caddy keeps your sites up when other servers let you down. -

    -
    -
    -

    Dynamically provision certificates

    -

    - With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. -

    -
    -
    -

    Dynamically provision certificates

    -

    - With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. -

    -
    -
    -

    Dynamically provision certificates

    -

    - With On-Demand TLS, only Caddy obtains, renews, and maintains certificates on-the-fly during TLS handshakes. Perfect for customer-owned domains. -

    -
    -
    -
    -
    + + +
    {{include "/includes/footer.html"}} diff --git a/new/resources/css/common.css b/new/resources/css/common.css index 81d07f1..3778796 100644 --- a/new/resources/css/common.css +++ b/new/resources/css/common.css @@ -103,15 +103,12 @@ body { tab-size: 4; background-color: var(--body-bg); color: var(--text-color); - background-image: - radial-gradient(at calc(50% - min(25vw, 800px)) -10%, hsl(137.64deg, 100%, 92.42%) 0px, transparent min(15%, 500px)), - radial-gradient(at calc(50% + min(25vw, 800px)) -10%, hsl(201.2deg, 68%, 90.2%) 0px, transparent min(15%, 500px)); } -.dark body { - background-image: - radial-gradient(at calc(50% - min(35vw, 700px)) -10%, hsl(129.5deg, 100%, 12.4%) 0px, transparent min(25%, 600px)), - radial-gradient(at calc(50% + min(35vw, 700px)) -10%, hsl(201deg, 100%, 19.33%) 0px, transparent min(25%, 600px)) +section.dark, +footer { + background-color: #002020; + color: white; } main a { @@ -272,6 +269,16 @@ button, align-items: center; } +.button { + color: rgb(54 206 255); + border: 1px solid rgb(54 206 255); +} + +.button:hover { + color: white; + border-color: white; +} + button.primary, .button.primary { background: linear-gradient(135deg, white 25%, rgba(167, 183, 193) 80%); diff --git a/new/resources/css/docs.css b/new/resources/css/docs.css index e76d155..45bd8fb 100644 --- a/new/resources/css/docs.css +++ b/new/resources/css/docs.css @@ -43,8 +43,10 @@ body { background-image: radial-gradient(at calc(50% - min(25vw, 800px)) -10%, hsl(137.64deg, 100%, 92.42%) 0px, transparent min(15%, 500px)), radial-gradient(at calc(50% + min(25vw, 800px)) -10%, hsl(201.2deg, 68%, 90.2%) 0px, transparent min(15%, 500px)); + background-repeat: no-repeat; } + .dark body { background-image: radial-gradient(at calc(50% - min(35vw, 700px)) -10%, hsl(129.5deg, 100%, 12.4%) 0px, transparent min(25%, 600px)), diff --git a/new/resources/css/features.css b/new/resources/css/features.css index 16dee5f..65fe8c5 100644 --- a/new/resources/css/features.css +++ b/new/resources/css/features.css @@ -3,7 +3,7 @@ padding-bottom: 50px; } -.datagrid { +/* .datagrid { display: flex; flex-wrap: wrap; gap: 2em; @@ -17,11 +17,30 @@ letter-spacing: 1px; margin-bottom: .5em; min-width: 200px; +} */ + +.legend { + margin-bottom: -100px; + margin-left: auto; + margin-right: auto; + font-size: 24px; + color: var(--text-color-muted); + text-align: center; + max-width: 750px; + line-height: 1.5; +} + +.legend .nonstandard { + font-weight: bold; } .feature-list { font-size: 90%; - margin: 50px 0 100px; + margin: 50px 0 125px; +} + +.feature-list:last-child { + margin-bottom: 0; } .feature-row { @@ -32,6 +51,10 @@ border-bottom: 2px dashed #a4c8ff25; /* #e6eaf0 */ } +.feature-row:last-child { + padding-bottom: 0; +} + .feature-row .benefits { color: var(--text-color-muted); font-weight: 500; @@ -53,6 +76,14 @@ border-bottom: none; } +.nonstandard { + color: #e76100; /* #005c94 */ +} + +.dark .nonstandard { + color: #fb8a26; +} + /* TODO: Figure this out */ @media (max-width: 800px) { diff --git a/new/resources/css/marketing.css b/new/resources/css/marketing.css index 2cb2785..4ccef3b 100644 --- a/new/resources/css/marketing.css +++ b/new/resources/css/marketing.css @@ -78,15 +78,6 @@ h2 { -.button { - color: rgb(54 206 255); - border: 1px solid rgb(54 206 255); -} - -.button:hover { - color: white; - border-color: white; -} .button.cool { position: relative; @@ -196,12 +187,6 @@ section { } -section.dark, -footer { - background-color: #002020; - color: white; -} - section.gray { background-color: #f5f8f9; } @@ -310,7 +295,7 @@ h3.green { color: #23a460; border-color: #23a460; } h3.purple { - color: rgb(151, 39, 151); border-color: rgb(151, 39, 151); + color: rgb(179, 59, 179); border-color: rgb(179, 59, 179); } h3.blue { color: rgb(14, 110, 189); border-color: rgb(14, 110, 189); diff --git a/new/sponsor.html b/new/sponsor.html index 1981d25..4e19765 100644 --- a/new/sponsor.html +++ b/new/sponsor.html @@ -462,174 +462,173 @@ +
    +
    +
    +

    + Sponsorship answers +

    +

    + Too often we see the catastrophic results of deploying a web server haphazardly in a commercial environment, only to appeal to the community too late with too little information for a problem that takes too long to solve at that point—an incident that could have been mitigated with proper training and support. +

    +

    + Our take on sponsorships is that we expect all professional and business use of Caddy to keep an active sponsorship, just as we expect a tree trunk to keep its branches. Sponsorships are not just feel-good donations. They provide crucial value to companies while sustaining ongoing maintenance. +

    +

    + The original author of Caddy, Matt Holt, operates Dyanim, LLC to maintain the project and direct development alongside a global community. Sponsorships are fulfilled by Dyanim, LLC under the auspices of the executive sponsor, ZeroSSL. +

    +
    +
    +

    Are these software licenses?

    +

    + NO. Sponsorships are separate products which provide support, development and training services, marketing, and various project management features for individuals, organizations, and companies. Your license to the software remains the same regardless of sponsorship status. +

    - -
    -
    -

    - Sponsorship answers -

    -

    - Too often we see the catastrophic results of deploying a web server haphazardly in a commercial environment, only to appeal to the community too late with too little information for a problem that takes too long to solve at that point—an incident that could have been mitigated with proper training and support. -

    -

    - Our take on sponsorships is that we expect all professional and business use of Caddy to keep an active sponsorship, just as we expect a tree trunk to keep its branches. Sponsorships are not just feel-good donations. They provide crucial value to companies while sustaining ongoing maintenance. -

    -

    - The original author of Caddy, Matt Holt, operates Dyanim, LLC to maintain the project and direct development alongside a global community. Sponsorships are fulfilled by Dyanim, LLC under the auspices of the executive sponsor, ZeroSSL. -

    -
    -
    -

    Are these software licenses?

    -

    - NO. Sponsorships are separate products which provide support, development and training services, marketing, and various project management features for individuals, organizations, and companies. Your license to the software remains the same regardless of sponsorship status. -

    +

    What are professional services?

    +

    + These include any services that are supplemental to routine project maintenance, such as onboarding, training, presenting, and custom development work. +

    -

    What are professional services?

    -

    - These include any services that are supplemental to routine project maintenance, such as onboarding, training, presenting, and custom development work. -

    +

    I need something not listed above.

    +

    + That's OK - contact us and tell us what you need! +

    -

    I need something not listed above.

    -

    - That's OK - contact us and tell us what you need! -

    +

    Is the only way to pay through GitHub?

    +

    + Nope, our higher tiers can accommodate various forms of payment such as invoices, ACH, wire transfer, or even physical check if needed. +

    -

    Is the only way to pay through GitHub?

    -

    - Nope, our higher tiers can accommodate various forms of payment such as invoices, ACH, wire transfer, or even physical check if needed. -

    +

    Will we have to approve a new vendor?

    +

    + Not likely! Our sponsorship subscriptions are managed by GitHub, which is often already an approved vendor for most businesses. +

    -

    Will we have to approve a new vendor?

    -

    - Not likely! Our sponsorship subscriptions are managed by GitHub, which is often already an approved vendor for most businesses. -

    +

    Can we do a one-time sponsorship?

    +

    + Yes! We call those donations, and welcome them warmly with gratitude. +

    +
    +
    +

    Why sponsorships?

    +

    + Professionals and businesses have numerous requirements that are not satisfied by open source licenses, but the wider community has numerous requirements that are not satisfied by proprietary licenses. For example, companies require support and advanced features that are simply too difficult to provide or develop without a business relationship. +

    +

    + To bridge that gap, we offer sponsorships so that our software can remain freely usable while providing businesses the assurances they need when committing to such a crucial technology choice. +

    +

    + We also have a lower tier for individuals who just want to support the project without the means of company funding. +

    +

    + Our software is compelling because sponsorships keep it fully open without expensive, paid-only features that segment and divide the community. Instead, everyone running Caddy for their homelab or school project is using the same version of the software deployed by large enterprises around the world. That's really amazing, and sponsors make it possible. +

    -

    Can we do a one-time sponsorship?

    -

    - Yes! We call those donations, and welcome them warmly with gratitude. -

    +

    What if we fall into a category we can't budget for?

    +

    + We would ask your product manager why they are deploying software without the means to support it. That said, a well-established business, for example, could sign up for a Startup-tier sponsorship if that is all the budget allows; it would be better than no safety net at all. However, your overall satisfaction will be higher with an appropriate sponsorship tier since we will be able to accommodate your situation better. +

    +
    -
    -

    Why sponsorships?

    -

    - Professionals and businesses have numerous requirements that are not satisfied by open source licenses, but the wider community has numerous requirements that are not satisfied by proprietary licenses. For example, companies require support and advanced features that are simply too difficult to provide or develop without a business relationship. -

    -

    - To bridge that gap, we offer sponsorships so that our software can remain freely usable while providing businesses the assurances they need when committing to such a crucial technology choice. -

    -

    - We also have a lower tier for individuals who just want to support the project without the means of company funding. -

    -

    - Our software is compelling because sponsorships keep it fully open without expensive, paid-only features that segment and divide the community. Instead, everyone running Caddy for their homelab or school project is using the same version of the software deployed by large enterprises around the world. That's really amazing, and sponsors make it possible. -

    -

    What if we fall into a category we can't budget for?

    -

    - We would ask your product manager why they are deploying software without the means to support it. That said, a well-established business, for example, could sign up for a Startup-tier sponsorship if that is all the budget allows; it would be better than no safety net at all. However, your overall satisfaction will be higher with an appropriate sponsorship tier since we will be able to accommodate your situation better. -

    +
    +
    + +
    +
    +

    + Sponsorships are better +

    +

    + Neither companies nor projects are sustainable at scale by open source licenses alone. Some sort of business relationship must be entered to support the company's operations as well as the project's ongoing development. +

    +

    + Typically this is solved by charging for the software or specific features, purchasing insurance, hiring a consultant, or tasking an in-house developer to learn and maintain the technology. +

    +

    + Sponsorships offer a simple and profound solution to this problem with many advantages over the alternatives: +

    +
    +
    +

    Consultants

    +

    + Consulting fees are high ($250-500/hr.) to offset the variable nature of the profession, and typically billed hourly, which can be stressful for customers trying to minimize their costs. +

    +

    + Consultants vary and may have mixed skill sets rather than expertise in the topic at hand, for example a specific web server. You may also need to approve them as a vendor before doing business. +

    +

    + Sponsorships have an affordable regular rate without a hard limit of hours to dispell stress lower your costs. You'll get direct access to the world experts on the software, and you can pay through a known vendor, GitHub. +

    +
    +
    +

    Insurance

    +

    + Sponsorships are not insurance -- they don't pay back money when there's an incident and can't legally be classified as any kind of coverage. Instead, they help reduce the likelihood and magnitude of incidents in the first place with a comprehensive integration strategy. We'll get to know your setup and help you deploy in the best way possible. +

    +

    + Working with insurance is tedious and expensive, but sponsorships are much easier with less paperwork and legal complications. +

    +
    +
    +

    In-house hire

    +

    + The math is simple: a skilled, in-house developer salary may be $180,000/year. A sponsorship is one or two orders of magnitude less, usually $3k-12k/year, and it gives you access to the world experts. +

    +

    + Sponsorships circumvent HR and hiring processes, and because of their ability to train your existing employees, you can still retain that knowledge in-house. +

    +

    + If a hire leaves your company, so often does that knowledge. A sponsorship ensures that the skills can persist with your organization through turnover. +

    +
    +
    +

    Nothing

    +

    + It should go without saying that having direct access to the maintainers of the software you rely on is better than having no support, no safety net, and no influence over the project's priorities. +

    +

    + With open source software, you're solely on your own. You can appeal to the community, but you won't have a high-attention relationship that can adjust the priorities of the maintainers. +

    +
    +
    -
    -
    -
    -
    -

    - Sponsorships are better -

    -

    - Neither companies nor projects are sustainable at scale by open source licenses alone. Some sort of business relationship must be entered to support the company's operations as well as the project's ongoing development. -

    -

    - Typically this is solved by charging for the software or specific features, purchasing insurance, hiring a consultant, or tasking an in-house developer to learn and maintain the technology. -

    -

    - Sponsorships offer a simple and profound solution to this problem with many advantages over the alternatives: -

    -
    -
    -

    Consultants

    -

    - Consulting fees are high ($250-500/hr.) to offset the variable nature of the profession, and typically billed hourly, which can be stressful for customers trying to minimize their costs. -

    -

    - Consultants vary and may have mixed skill sets rather than expertise in the topic at hand, for example a specific web server. You may also need to approve them as a vendor before doing business. -

    -

    - Sponsorships have an affordable regular rate without a hard limit of hours to dispell stress lower your costs. You'll get direct access to the world experts on the software, and you can pay through a known vendor, GitHub. -

    -
    -
    -

    Insurance

    -

    - Sponsorships are not insurance -- they don't pay back money when there's an incident and can't legally be classified as any kind of coverage. Instead, they help reduce the likelihood and magnitude of incidents in the first place with a comprehensive integration strategy. We'll get to know your setup and help you deploy in the best way possible. -

    -

    - Working with insurance is tedious and expensive, but sponsorships are much easier with less paperwork and legal complications. -

    -
    -
    -

    In-house hire

    -

    - The math is simple: a skilled, in-house developer salary may be $180,000/year. A sponsorship is one or two orders of magnitude less, usually $3k-12k/year, and it gives you access to the world experts. -

    -

    - Sponsorships circumvent HR and hiring processes, and because of their ability to train your existing employees, you can still retain that knowledge in-house. -

    -

    - If a hire leaves your company, so often does that knowledge. A sponsorship ensures that the skills can persist with your organization through turnover. -

    -
    -
    -

    Nothing

    -

    - It should go without saying that having direct access to the maintainers of the software you rely on is better than having no support, no safety net, and no influence over the project's priorities. -

    -

    - With open source software, you're solely on your own. You can appeal to the community, but you won't have a high-attention relationship that can adjust the priorities of the maintainers. -

    + +
    +
    +

    + Tangible business results +

    +

    + Sponsorships help you keep your competitive edge, reduce your costs, and may even increase customer loyalty. You'll be able to meet requirements you never thought possible with pure open source. +

    +
    +
    +

    Software assurance

    +

    + It's not insurance. It's better. Gain the peace of mind knowing that your sponsorship helps sustain continued development of the project and that you have direct access to the maintainer. +

    +
    +
    +

    Increased customer loyalty

    +

    + Customers feel more loyal toward companies that openly sponsor projects, especially those they use. Tens of thousands of Caddy users are more likely to become and stay your customers when you sponsor the project. +

    +
    +
    +

    Lower costs, higher margins

    +

    + Operate more efficiently with a Caddy sponsorship, which can prevent consulting fees, hiring expenses, catastrophic production failures, and inefficient configurations. +

    +
    -
    -
    - - - -
    -
    -

    - Tangible business results -

    -

    - Sponsorships help you keep your competitive edge, reduce your costs, and may even increase customer loyalty. You'll be able to meet requirements you never thought possible with pure open source. -

    -
    -
    -

    Software assurance

    -

    - It's not insurance. It's better. Gain the peace of mind knowing that your sponsorship helps sustain continued development of the project and that you have direct access to the maintainer. -

    -
    -
    -

    Increased customer loyalty

    -

    - Customers feel more loyal toward companies that openly sponsor projects, especially those they use. Tens of thousands of Caddy users are more likely to become and stay your customers when you sponsor the project. -

    -
    -
    -

    Lower costs, higher margins

    -

    - Operate more efficiently with a Caddy sponsorship, which can prevent consulting fees, hiring expenses, catastrophic production failures, and inefficient configurations. -

    -
    -
    -
    -
    - + +
    {{include "/includes/footer.html"}}