# C3 - Cached Content Conduit My super simple CDN built for distributing my own (text) content. Pushes 30k-45k requests/sec per core for a realistic workload -- see [bench/RPS](bench/RPS) if you want the receipts, and [bench/CAUSAL.md](bench/CAUSAL.md) for causal-profiling which sites actually matter (`cargo build --features causal`). ## Running in Docker ``` docker compose up -d ``` The runtime image is `distroless` (no shell, no package manager, ~24MB), so managing packages happens via `docker exec` running the `ccc` binary directly rather than an interactive shell: ``` docker compose exec ccc /usr/local/bin/ccc create demo ``` To add a file, it needs to exist inside the container first. Drop it in the `./staging` dir, which is bind-mounted to `/staging`: ``` cp app.js staging/ docker compose exec ccc /usr/local/bin/ccc add demo /staging/app.js 1.0.0 ``` (Alternatively `docker cp` a file straight into the container if you'd rather not use the staging mount.) ## License AGPL-3.0-only - see [LICENSE](LICENSE). If you run a modified version of this as a network service, you must make the modified source available to its users.