···2NODE_ENV="development" # Options: 'development', 'production'
3PORT="8080" # The port your server will listen on
4HOST="localhost" # Hostname for the server
5-PUBLIC_URL=""
67# CORS Settings
8CORS_ORIGIN="http://localhost:*" # Allowed CORS origin, adjust as necessary
···12COMMON_RATE_LIMIT_MAX_REQUESTS="20" # Max number of requests per window per IP
1314# Secrets
15-# Must this in production. May be generated with `openssl rand -base64 33`
16# COOKIE_SECRET=""
···2NODE_ENV="development" # Options: 'development', 'production'
3PORT="8080" # The port your server will listen on
4HOST="localhost" # Hostname for the server
5+PUBLIC_URL="" # Set when deployed publicly, e.g. "https://mysite.com". Informs OAuth client id.
67# CORS Settings
8CORS_ORIGIN="http://localhost:*" # Allowed CORS origin, adjust as necessary
···12COMMON_RATE_LIMIT_MAX_REQUESTS="20" # Max number of requests per window per IP
1314# Secrets
15+# Must set this in production. May be generated with `openssl rand -base64 33`
16# COOKIE_SECRET=""
+15
README.md
···000000000000000
···1+# AT Protocol Express App
2+3+A demo application covering:
4+ - public firehose ingestion
5+ - identity and login with OAuth
6+ - writing to the network
7+8+## Getting Started
9+### Development
10+```sh
11+pnpm i
12+cp .env.template .env
13+pnpm run dev
14+# Navigate to http://localhost:8080
15+```
+1-1
src/pages/home.ts
···13}
1415function content({ posts, profile }: Props) {
16- return html`<div>
17 <h1>Welcome to the Atmosphere</h1>
18 ${
19 profile