Self-Hosted CDN

Your content.
Delivered fast.

Highway is a self-hosted content delivery network that caches and serves your assets across your Pi fleet and cloud droplets. TLS termination via Caddy. Object storage via MinIO. No Cloudflare dependency.

Deploy Highway See Architecture
Architecture

Edge to origin in your hands

Users Browser Gematria (TLS Edge)
Edge Caddy + Let's Encrypt Highway Cache
Mesh WireGuard Alice Octavia Lucidia
Origin MinIO (Cecilia) + nginx upstream
Performance

Numbers that matter

151
Domains
All served from Highway
91%
Self-hosted
138/151 off Cloudflare
<40ms
Cache hit
Edge response time
4
Edge nodes
Pi fleet + 2 droplets
TLS
Auto-cert
Let's Encrypt via Caddy
$0
CDN cost
Runs on your hardware
Features

A CDN you actually own

// cache

Intelligent caching

Highway caches at the edge with configurable TTLs per path, per domain. Cache invalidation via CLI or webhook. No purge queue delays.

// tls

Automatic TLS

Caddy provisions and renews Let's Encrypt certificates automatically. HTTPS for every domain. No manual cert management. OCSP stapling included.

// s3

S3-compatible origin

MinIO provides S3-compatible object storage as the origin server. Use standard S3 tools to upload assets. Highway serves them at the edge.

// multi

Multi-domain routing

One Highway instance handles all 151 domains. Route by hostname, path, or header. Different origins for different domains. One config file.

// img

Image optimization

On-the-fly WebP conversion, resizing, and quality adjustment. Serve the right size image for every device. Reduce bandwidth by up to 70%.

// log

Access logs

Structured JSON access logs for every request. Feed them into your own analytics. No third-party tracking pixel. Your traffic data stays yours.

Replaces

Services you no longer need

Cloudflare CDN ($20-200/mo)Highway Cache
Cloudflare R2 ($0.015/GB)MinIO on Pi
AWS CloudFront ($0.085/GB)Highway Edge
Imgix ($4/1000 images)Highway Transform
Let's Encrypt certbotCaddy auto-TLS
Deploy

Your CDN in 5 minutes

Highway deploys across your existing fleet. Point it at your domains and origins. Caddy handles TLS. MinIO handles storage. Highway handles the rest.

# Deploy Highway CDN
br install highway
br highway add-domain blackroad.io --origin minio://assets
br highway deploy --nodes gematria,alice,lucidia

# Purge cache
br highway purge --domain blackroad.io --path "/images/*"