Air-gap: remove dead CDN reference + in-app /docs

- Removed a dead IE<9-only html5shim script tag pointing at a domain
  that no longer resolves.
- New GET /docs (index) and /docs/:slug routes render this project's
  own README, DEPLOYMENT, API.md, docs/*.md, and directory_spec.md
  server-side via marked -- so the documentation is readable from the
  running app with no route to GitHub Pages, where it otherwise only
  lives. Public, no auth, rate-limited (middleware/rate_limit.js) like
  the other public routes.
- .dockerignore/Dockerfile.openldap updated to copy DEPLOYMENT.md,
  API.md, directory_spec.md, and docs/ into the image, mirroring the
  existing tos.md -> /tos.md convention.
This commit is contained in:
2026-07-16 15:33:46 -04:00
parent 65e43a5677
commit 955189d08a
9 changed files with 155 additions and 7 deletions
+8
View File
@@ -40,3 +40,11 @@ exports.invite = rateLimit({
limit: 20,
handler: handler({ name: 'RateLimitError', message: 'Too many requests, try again later.' }),
});
// Public, unauthenticated, reads from disk on every request -- generous
// since it's just docs, but still throttled per IP.
exports.docs = rateLimit({
windowMs: 60 * 1000,
limit: 120,
handler: handler({ name: 'RateLimitError', message: 'Too many requests, try again later.' }),
});