Deploy to LXC / deploy (push) Has been cancelled
The service can take longer than 2s to finish starting after restart (DB pool init, etc), so systemctl is-active would occasionally still report "activating" at the fixed check point -- CI marked the run failed even though the app came up moments later and was actually fine. Poll for up to 15s instead, and dump service status on a real failure so debugging doesn't require SSH access.