# leandromoreira/cdn-up-and-running

CDN Up and Running - Building a CDN from Scratch to Learn about CDN, Nginx, Lua, Prometheus, Grafana, Load balancing, and Containers.

Repository: https://github.com/leandromoreira/cdn-up-and-running
Canonical: https://ross.abutalabs.com/products/cdn-up-and-running
Language: Lua
License: BSD-3-Clause
License Family: permissive
Topics: nginx, cdn, tutorial, lua, load-balancer, luajit, openresty, prometheus, grafana, wrk, docker-compose, sre
Last push: 2026-01-21T19:34:14+00:00

## Health v2 (maintenance only)
Score: 61/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 63, release rhythm 35, longevity 100
- inputs: {"age_days": 1714, "days_push": 224, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3688, forks 240 (observed 2026-08-28T04:08:14.689235+00:00)

## What it is
A hands-on tutorial project that teaches how CDNs work by building one from scratch using Nginx, Lua, Docker, Prometheus, Grafana, and load balancing. It progresses from a single backend service to a multi-node, observable, and testable CDN with discussions of trade-offs.

## Use cases
- learn how CDNs work by building one
- understand nginx and lua for edge caching
- set up prometheus and grafana monitoring for a proxy stack
- practice load balancing and traffic simulation with wrk
- study SRE concepts like caching, observability, and scaling
- build a multi-node reverse proxy lab with docker-compose

## When to choose
- you want a practical, code-driven introduction to CDN internals
- you're learning nginx, OpenResty/Lua, or observability tooling
- you want a self-contained docker-compose lab for networking and caching concepts

## When to avoid
- you need a production-ready CDN or commercial-grade edge delivery solution
- you want a managed service rather than an educational project
- you're not interested in hands-on setup with containers and Linux networking

## Facets
- artifact type: learning-resource
- maturity: active
- function: caching, monitoring, load-testing, http-server, developer-tools
- domain: developer-tools, networking, monitoring, tutorials, infrastructure-as-code
- platform: lua
- tags: cdn, nginx, openresty, load-balancing, sre, docker-compose, tutorial, observability, linux, docker, prometheus, grafana

## Member repositories
- leandromoreira/cdn-up-and-running (main) score 61

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:08:14.689235+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:31:08.908063+00:00, confidence not recorded.
  - readme: https://github.com/leandromoreira/cdn-up-and-running (fetched 2026-08-28T04:08:14.689235+00:00, sha 57c87b704804)
- Data as of 2026-08-30T08:39:29.467469+00:00.
