fix(ci): auto-discover reachable Portainer URL from job container
CI/CD Pipeline / Build & Deploy (pull_request) Successful in 21s
ci: gate redeploy step on workflow_dispatch.deploy=true
CI/CD Pipeline / Build & Deploy (pull_request) Successful in 1m7s
docs: add last site update marker on about page
CI/CD Pipeline / Build & Deploy (pull_request) Successful in 29s
fix(ci): add concurrency guard + PR trigger + workflow_dispatch
CI/CD Pipeline / Build & Deploy (pull_request) Successful in 22s