serve a static website from your pds
1# athost
2
3An experimental web host built on atproto.
4
5Nothing has been formalized yet. Right now, a website is stored as a "bundle" record that looks something like this:
6
7```ts
8interface Bundle {
9 /** The timestamp at which the latest version of the bundle was created. */
10 createdAt: string;
11
12 /** Human-readable summary of the deploy; notes, commit message, etc. */
13 description?: string;
14
15 /** A map of asset paths to blob references. */
16 assets: Record<string, { $type: "blob"; ref: { $link: string }; mimeType: string; size: number }>;
17}
18```
19
20To deploy a new version, upload the relevant blobs and update the record.
21
22To serve the website, you need some sort of proxy server that fetches the appropriate files from the PDS when requests come in. `proxy.js` is a small (~150 line) example server.