A static-site photography portfolio built with Astro 6, Tailwind CSS 4, and Sharp.
# Docker (production)
docker compose up -d
# Local development
npm install && ADMIN_PASSWORD=admin npm run dev- Photo pipeline — drop images into category folders; thumbnails, blur placeholders, and masonry galleries with lightbox are generated automatically
- Admin dashboard (
/admin) — edit site copy, manage photos, configure galleries, and run builds from a Preact SPA with auto-save - Plugin system — extend the site with deploy-time Astro components at named insertion points
- Dark mode — three-state toggle (light / dark / auto), persisted and system-aware
- Contact form — SMTP-powered, configurable from the admin dashboard
- Galleries — DB-backed curated collections beyond folder-based categories
Admin page /admin
- Deployment — Docker, local dev, environment variables
- Adding Photos — folder structure, metadata, hero slideshow
- Plugins — plugin structure and admin integration
- Contact Form — SMTP setup and demo mode
