This adds nginx dual-path routing, forwarded proxy headers, Uvicorn proxy-headers, production security settings, and deployment docs for https://sinbad2.ujaen.es/generadorexamenesllm/.
This removes the incorrect /deckofcars prefix, aligns CI/build defaults with the real public URL, and adds an Apache ProxyPass snippet so the request is routed to the Docker frontend instead of the Sinbad2 site.
This aligns frontend build defaults and CI deploy variables with the real proxy mount so the app is served under /deckofcars/generadorexamenesllm instead of falling back to the Sinbad homepage.
Replace the inline SSH command with a YAML-safe block scalar and heredoc so the pipeline parser accepts the script while keeping the same port-conflict handling logic.
Parametrize compose published ports and add CI safeguards to detect and release occupied frontend/backend ports before docker compose up, preventing bind errors on 8075.
Configure GitLab deploy pipeline for this app and switch backend/frontend endpoint defaults from localhost to sinbad2.ujaen.es, including Docker, env files, API client, CORS, and docs.