Add a deploy workflow that builds and pushes the Docker image from
the server working directory and runs docker compose on main. Trim
CI to a focused Node build in an alpine container (apk deps,
npm ci, npm run build) and remove the old docker workflow. Simplify
Dockerfile to a builder+runtime flow (npm ci, npm prune,
copy node_modules) and make docker-compose use the registry image
and proxy network.
Introduce server-rendered guestbook and moderation portal.
Persist data in SQLite (better-sqlite3); add WebAuthn YubiKey
admin auth, rate-limiting, spam heuristics, and sanitization.
Switch Docker image to run Node/standalone Astro (remove nginx),
update docker-compose, Dockerfile, astro.config, and package.json.
Add .env.example, docs/guestbook.md, gitignore updates, layouts,
API routes, and supporting lib/components/pages for the feature.
- Add landing page and base layout with cozy theme
- Configure Astro, TypeScript, and project settings
- Add Dockerfile, Nginx config, and docker-compose
- Include favicon and site metadata
- Add documentation: README, DEVELOPMENT, PROJECT_CONTEXT, TODO, CLAUDE
- Add Gitea workflows for AI chat, PR review, issue triage, and codebase
review