Frontend was on two networks; Traefik (on only one) couldn't reach it -> 000/empty reply on HTTPS while nginx served 200 directly. Letting Coolify manage networking puts both services on its single proxy network; service-name DNS (backend) still resolves.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Coolify runs compose with --project-directory=repo-root, so context:.. resolved above the repo and the build context/Dockerfiles weren't found. Root compose + context:. matches the Dockerfiles' assumption (context = repo root).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>