Skip to content

CDNFoundrySelf-hosted private CDN software

Run authoritative DNS, bounded edge delivery, TLS, caching, security, and telemetry on infrastructure you control.

CDNFoundry is open-source, production-oriented, self-hosted private CDN software. It gives companies, hosting providers, and ISPs a Laravel and Filament control plane while DNS and HTTP traffic remain on PowerDNS, DNSdist, and bounded OpenResty cells. External changes run asynchronously through revisioned reconciliation, and invalid candidates never replace the last valid runtime state.

What CDNFoundry includes

CapabilityWhat the stack provides
Control planeLaravel modular monolith, Filament administrator and domain-user panels, Sanctum API, policies, audit history, idempotent operations, Horizon, and Scheduler
Authoritative DNSPublic DNSdist in front of private PowerDNS, DNS-only and proxied records, Geo-DNS, revisioned reconciliation, cluster health, and UDP/TCP serving
Edge deliveryStable placement across bounded OpenResty cells, explicit origins, host and SNI routing, shared and quarantine pools, draining, and last-valid snapshots
TLSManaged DNS-01 certificates, encrypted private keys, custom certificate upload, renewal scheduling, and per-host certificate selection
Cache and performanceDeterministic cache keys, bounded admission and storage, stale serving, URL purge, epoch-based full purge, Gzip, Brotli, and origin failover
SecurityTenant policies, origin destination validation, trusted-client-IP handling, rate controls, managed WAF rules, quarantine, and bounded runtime resources
Analytics and operationsVector pipelines, ClickHouse telemetry, Prometheus metrics, Grafana dashboards, operational logs, health checks, backups, upgrades, and recovery workflows

How the stack is separated

Diagram source
flowchart LR
    subgraph Management["Management"]
      Admins["Administrators"] --> Control["Control plane"] --> State[("Desired state")]
      EdgeControl["edge-control"] --> Control
    end
    subgraph Traffic["Traffic planes"]
      Agent["Edge agent"] -->|"outbound mTLS"| EdgeControl
      Agent --> Edge["Gateway + bounded cells"]
      Control -->|"async revisions"| DNS["Authoritative DNS"]
      Users["Internet users"] -->|"DNS"| DNS
      Users -->|"HTTP/S"| Edge --> Origin["Validated origins"]
    end
    subgraph Operations["Operations"]
      DNS -. "best effort" .-> Observe["Telemetry"]
      Edge -. "best effort" .-> Observe
      Observe --> Grafana["Grafana"]
      State -. "sanitized view" .-> Grafana
    end

The serving path does not depend on Laravel. DNS queries terminate at DNSdist and PowerDNS; HTTP and HTTPS terminate at the edge gateway and OpenResty cells. The control plane commits desired state, queues bounded external work, and delivers revisioned runtime artifacts asynchronously. PostgreSQL is the durable source of truth, while PowerDNS data, edge snapshots, artifacts, and telemetry aggregates are rebuildable runtime state.

Production deployment model

CDNFoundry deploys with immutable container images and generated, role-filtered Docker Compose bundles. The smallest documented production fleet uses one control node and two combined DNS/edge nodes in separate failure domains. Larger fleets can separate control, DNS, edge, and monitoring roles across regions without introducing a second application backend or a per-domain runtime.

Who it is for

CDNFoundry is designed for companies, hosting providers, and ISPs that operate their own authoritative DNS and edge capacity. It favors predictable failure, bounded resource use, explicit infrastructure ownership, and a small operational surface. It is not a hosted CDN service and does not claim upstream volumetric DDoS protection when network capacity is saturated.

Choose a self-hosted CDN when infrastructure ownership, regional placement, data control, and explicit failure behavior justify operating DNS and edge capacity. Choose a managed CDN when a third party should own global capacity, transit, and day-to-day data-plane operations. The private CDN design guide explains the tradeoffs and minimum production topology before installation.

Grafana is a read-only operations component in the telemetry role. It has no request-path or reconciliation responsibility: an observability outage cannot change desired state or stop DNS and HTTP serving.

Start with the product overview, or choose a destination from the audience cards above. The documentation audit records how this site was reconstructed from the implementation and what remains outside the verified product boundary.

CDNFoundry documentation