Root causes fixed:
1. Dockerfile: Use astro preview (not serve package)
2. Astro auto-copies public/ to dist/ during build
3. CSS: Proper Tailwind v4 syntax with @theme
4. Images: Copied all from spec_images/ and table_images/
5. Header/Footer: Added to homepage
Working features:
- 15 pages build successfully
- All images load
- CSS with industrial theme colors
- Header and Footer on homepage
- Fixed header (no overlap)
Restored to match commit 668f690 quality.
1. Header overlap fixed:
- Added pt-32 (padding-top: 8rem) to main
- Compensates for fixed header height
2. Images not showing ROOT CAUSE FIXED:
- Public folder NOT auto-copied to dist by Astro
- Added: RUN cp -r /app/public/* /app/dist/
- Now images will be in dist/images/ after build
- Serve can find them at /images/...
This is the actual fix - Astro doesn't copy public to dist!
- Copied images from spec_images/ and table_images/
- Now in public/images/2021/03/ (matching old paths)
- Images will be served correctly on Easypanel
- Changed 'npm ci --production' to 'npm install --production'
- More forgiving with cached package files in CI/CD
- Matches working pattern from other deployments
- Fixes Easypanel build cache issues
- Added 'serve' package for static file hosting
- Updated Dockerfile to use 'serve' instead of astro preview
- serve has no host restrictions
- Fixes Easypanel access issue
- Real favicon.ico from original website (1.4KB)
- Real favicon.svg from original website (140KB)
- Real apple-touch-icon.png from original website
- Match exact original branding
- Next.js builds to .next/standalone, not dist/
- Use next.config.mjs output: 'standalone'
- Copy .next/static for static assets
- Copy public folder for static files
- Astro build already copies public/ to dist/
- Separate public copy was unnecessary
- Only copy dist folder (contains everything including favicon)
- Fixes favicon 404 error