- Change Dockerfile from nginx (static) to Node.js (SSR)
- Add @astrojs/node adapter for SSR mode
- Add OUT_DIR=/data for persistent SQLite storage
- Add .env.example with persistent storage config
- Update README with Easypanel deployment instructions
- Database persists across redeployments at /data/astro.db
Major changes:
- Replace Payload CMS with Tina CMS (self-hosted)
- Add Astro DB for consent logging (PDPA compliant)
- Update Tailwind v3 to v4 (@tailwindcss/vite plugin)
- Add astro-tina-starter template
- Rewrite consent template for Astro (ConsentBanner.astro, Astro DB, Nano Stores)
- Add install-tina-backend.sh for self-hosted Tina per customer
- Rename convert-astro.sh to migrate-tina.sh
- Add AGENTS.md template for generated websites
- Delete all Payload/Next.js files
Technical updates:
- Astro DB using defineDb with eq operators for queries
- Tailwind v4 with @theme block
- Tina CMS local development mode
- Proper Astro API routes for consent
Research-verified with official documentation (April 2026)