Monorepo for wisp.place. A static site hosting service built on top of the AT Protocol.
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

docs: fix architecture.md relay/gzip, clean hosting-service readme, add cli toc

- architecture.md: firehose watches relay not jetstream, keeps gzipped as-is
- hosting-service readme: remove outdated firehose worker feature, fix jetstream reference
- cli.md: add table of contents with anchor links for navigation

niri cf7b76a6 d5a9883d

+5 -4
+2 -3
apps/hosting-service/README.md
··· 8 8 - **Wisp.place Subdomains**: Serve registered `*.wisp.place` subdomains 9 9 - **DNS Hash Routing**: Support DNS verification via `hash.dns.wisp.place` 10 10 - **Direct File Serving**: Access sites via `sites.wisp.place/:identifier/:site/*` (no DB lookup) 11 - - **Firehose Worker**: Listens to AT Protocol firehose for new `place.wisp.fs` records 12 - - **Automatic Caching**: Downloads and caches sites locally on first access or firehose event 11 + - **Automatic Caching**: Downloads and caches sites locally on first access or via invalidation events from the firehose service 13 12 - **SSRF Protection**: Hardened fetch with timeout, size limits, and private IP blocking 14 13 15 14 ## Routes ··· 59 58 - **Hono**: Minimal web framework 60 59 - **Postgres**: Database for domain/site lookups 61 60 - **AT Protocol**: Decentralized storage 62 - - **Jetstream**: Firehose consumer for real-time updates 61 + - **Redis**: Cache invalidation events from the firehose service 63 62 - **Bun**: Runtime and file serving 64 63 65 64 ## Cache Structure
+1 -1
docs/src/content/docs/architecture.md
··· 7 7 8 8 ## Firehose Service 9 9 10 - The firehose service watches the AT Protocol Jetstream for `place.wisp.fs` and `place.wisp.settings` record changes. When a site is created or updated, it downloads all blobs from the user's PDS, decompresses gzipped content, rewrites HTML for subdirectory serving, writes processed files to S3 (or disk), then publishes a cache invalidation event to Redis. 10 + The firehose service watches the AT Protocol relay for `place.wisp.fs` and `place.wisp.settings` record changes. When a site is created or updated, it downloads all blobs from the user's PDS, rewrites HTML for subdirectory serving, writes processed files to S3 (or disk) — keeping gzipped content as-is and serving it with the appropriate `Content-Encoding` header — then publishes a cache invalidation event to Redis. 11 11 12 12 It's write-only — it never serves requests to end users. 13 13
+2
docs/src/content/docs/cli.md
··· 7 7 8 8 The Wisp CLI is a command-line tool for deploying static websites directly to your AT Protocol account. Host your sites on wisp.place with full ownership and control, backed by the decentralized AT Protocol. 9 9 10 + **Jump to:** [Features](#features) · [Downloads](#downloads) · [CI/CD](#cicd-integration) · [Basic Usage](#basic-usage) · [Authentication](#authentication) · [File Processing](#file-processing) · [Incremental Updates](#incremental-updates) · [Limits](#limits) · [Command Reference](#command-reference) · [Development](#development) 11 + 10 12 ## Features 11 13 12 14 - **Deploy**: Push static sites directly from your terminal