diff --git a/public_html/webhook.php b/public_html/webhook.php
index c9199c5..9eac6ae 100644
--- a/public_html/webhook.php
+++ b/public_html/webhook.php
@@ -49,6 +49,7 @@ $repoMap = [
'orbis-hosting-portal' => '/home/orbis.orbishosting.com/public_html',
'tomtomgames' => '/home/tomtomgames.com/public_html',
'infra' => '/opt/infra',
+ 'novacpx' => '__NOVACPX_VM__',
];
if (!isset($repoMap[$repo])) {
@@ -58,6 +59,17 @@ if (!isset($repoMap[$repo])) {
}
$path = $repoMap[$repo];
+
+// NovaCPX lives on a private VM — the VM polls GitHub every minute via cron
+// This webhook receipt confirms GitHub delivered the push notification
+if ($path === '__NOVACPX_VM__') {
+ $commit = $data['after'] ?? 'HEAD';
+ $msg = "[" . date('Y-m-d H:i:s') . "] NovaCPX push by $pusher (commit: $commit) — VM will deploy within 1 min";
+ file_put_contents(DEPLOY_LOG, $msg . "\n", FILE_APPEND | LOCK_EX);
+ echo json_encode(['ok' => true, 'queued' => 'novacpx', 'commit' => $commit]);
+ exit;
+}
+
file_put_contents(DEPLOY_QUEUE, $path . "\n", FILE_APPEND | LOCK_EX);
$msg = "[" . date('Y-m-d H:i:s') . "] Queued deploy: $repo by $pusher -> $path";