[Unit] Description=Pushy API temporary rollout candidate After=network-online.target Wants=network-online.target PartOf=pushy.target [Service] Type=simple User=root WorkingDirectory=/root Environment=NODE_ENV=production Environment=API_SLOT=candidate Environment=API_5XX_EVENT_JOURNAL_UNIT=pushy-api-candidate.service Environment=DIAGNOSTIC_SOCKET_PATH=/run/pushy-api-candidate/metrics.sock ExecStart=/opt/pushy/runtime/bun --env-file=/root/.env.prod /opt/pushy/current/lib/index.js Restart=on-failure RestartSec=1 TimeoutStopSec=30 KillMode=control-group OOMPolicy=stop OOMScoreAdjust=-500 RuntimeDirectory=pushy-api-candidate RuntimeDirectoryMode=0750 # Safe fallback; overridden by the host-sized systemd drop-in. MemoryHigh=512M MemoryMax=768M MemorySwapMax=384M LimitNOFILE=65536 SyslogIdentifier=pushy-api-candidate # Deliberately no [Install] section: the updater starts this unit only while # replacing pushy-api.service and stops it after the new primary is healthy.