Commit Graph
5 Commits
Author SHA1 Message Date
theradcoza dff2cd752c Add ViteHelper fallback for missing frontend assets 2026-03-15 07:47:59 +02:00
theradcoza 1995f58056 Add .dockerignore to exclude node_modules from builds 2026-03-12 10:40:05 +02:00
theradcoza 83131d8432 MAJOR FIX: Use named volume for vendor/ + pre-install in Dockerfile
This solves the Windows/WSL2 performance issue that caused composer install
to timeout after 300 seconds.

Changes:
1. docker-compose.yml:
   - Added vendor_data named volume for app, queue, scheduler services
   - vendor/ now uses fast Docker volume instead of slow bind mount

2. Dockerfile:
   - Pre-install composer dependencies during image build
   - Copy composer.json/lock first, run install, then copy rest of src
   - Runs as devuser to match runtime permissions
   - Dependencies baked into image = truly 'pre-installed'

3. setup.bat & setup.sh:
   - Removed composer install step (now in Dockerfile)
   - Added -T flag to all docker-compose exec commands (fixes Windows TTY hang)
   - Added 3-second wait for container readiness

Benefits:
- ✅ Setup completes in 2-3 minutes (not 10+ minutes)
- ✅ No composer timeout issues
- ✅ Works on Windows/Mac/Linux
- ✅ vendor/ persists in Docker volume (fast)
- ✅ True 'everything pre-installed' experience

Trade-offs:
- vendor/ not visible in Windows filesystem (in Docker volume)
- Need to rebuild image when adding composer packages
- Slightly larger Docker image (~200MB more)

This is the correct approach for a Docker-based development template.
2026-03-10 11:13:51 +02:00
theradcoza a55fafd3a9 Enable OPcache and Redis caching for performance 2026-03-09 04:02:29 +02:00
theradcoza 17dbdad28b templave v1 2026-03-06 08:57:05 +02:00