SERVICE_FQDN_FRONTEND_8080 is not generated when the domain is assigned
without a port suffix; Coolify needs SERVICE_URL_FRONTEND_8080 so Traefik
gets loadbalancer.server.port=8080 for Frappe nginx.
SERVICE_FQDN_FRONTEND from the frontend domain drives site creation and nginx
headers; coolify.env.example adds CUSTOM_IMAGE/CUSTOM_TAG for Jenkins registry pulls.
Co-authored-by: Cursor <cursoragent@cursor.com>
Single compose file for Coolify: MariaDB, Redis, idempotent site creation,
migrations on redeploy, SERVICE_URL_FRONTEND_8080 routing, and Forgejo Actions
readiness validation vendored from production-ci-readiness skill.