ol.busker

Busker is a Clojure web server that plays live on the open web

busker docs status: experimental built with nixbot

ol.busker is a Clojure web server built on libh2o (the web server core that powers Fastly’s global CDN).

Busker provides:

  • modern HTTP support, including HTTP/1.1, HTTP/2, HTTP/3, 103 Early Hints, 0-RTT TLS, etc.

  • automatic HTTPS certificate obtaining and renewal

  • simplified deployment by letting you deploy an uberjar directly with systemd, without nginx, Caddy, or Docker

  • predictable performance under load with production-ready defaults

Platform requirements

Busker requires JDK 25 or later.

Pre-built jars containing native binaries are available for Linux and macOS on aarch64 and x86-64.

Project status: Experimental.

Usage

Add the Busker git dependency to deps.edn:

com.outskirtslabs/busker {:git/url "https://github.com/outskirtslabs/busker"
                          :git/sha "0e2ead5507b03d18fa94c01647a37188b37b25f6"}

When using Busker as a git dependency, run clj -X:deps prep after bumping the git sha.

Add at least one native dependency for your target platform:

;; Choose at least one of the following.
com.outskirtslabs.busker/linux-x86-64 {:mvn/version "0.0.4"}
com.outskirtslabs.busker/linux-aarch64 {:mvn/version "0.0.4"}
com.outskirtslabs.busker/macos-x86-64 {:mvn/version "0.0.4"}
com.outskirtslabs.busker/macos-aarch64 {:mvn/version "0.0.4"}

If you include multiple native dependencies, Busker chooses the one matching the current platform. Including extra native dependencies increases uberjar size.

Bundled native dependencies

Busker statically links these security-sensitive upstream dependencies into its native shim jars.

Dependency Upstream date

libh2o

2026-07-20 (3a5d2cb)

BoringSSL

2026-08-03 (30a26e9)

Examples

See the example projects in examples/:

  • quickstart shows a small server with HTTP, TLS, hello, echo, and streaming routes

  • early-hints shows how to emit 103 Early Hints before a final response

  • sse shows a long-lived Server Sent Events stream with optional Brotli compression

Roadmap

The project description above is aspirational. Busker is still a work in progress.

See Roadmap for current roadmap ideas.

Changelog

See Changelog for notable changes.

Security

See Security for security reporting and policy links.

License

Busker is distributed under the EUPL-1.2.

Copyright © 2025-2026 Casey Link.

Some files included in this project and in binary distributions, including JAR files on Clojars and GitHub releases, are from third-party sources and retain their original licenses as indicated in NOTICE.