Retro Bulletin Board Systems on atproto. Web app and TUI.
atbbs.xyz
python
tui
atproto
bbs
1server {
2 listen 80;
3 root /usr/share/nginx/html;
4 index index.html;
5
6 # SPA fallback — serve index.html for all routes that don't match a file.
7 location / {
8 try_files $uri $uri/ /index.html;
9 }
10
11 # Runtime config generated by the entrypoint — don't cache.
12 location = /config.json {
13 add_header Cache-Control "no-cache";
14 }
15
16 # OAuth client metadata must be fetchable cross-origin by auth servers.
17 location = /client-metadata.json {
18 add_header Access-Control-Allow-Origin *;
19 add_header Cache-Control "public, max-age=300";
20 }
21
22 # Security headers (mirrors public/_headers for Cloudflare Pages).
23 add_header X-Frame-Options DENY;
24 add_header X-Content-Type-Options nosniff;
25 add_header Referrer-Policy strict-origin-when-cross-origin;
26 add_header Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; img-src 'self' data: https:; connect-src 'self' https:; frame-ancestors 'none'; base-uri 'self'; form-action 'self'";
27}