The multi-stage Dockerfile copies frontend/yarn.lock, but .gitignore excluded it from the repo, breaking builds from a fresh clone (Coolify). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>