#!/usr/bin/env python3 import paramiko HOST = "10.10.0.10" USER = "localadministrator" PASS = "Bbt9115xty9176!" APP = "ira4bw4nhbvm87o7s3fgqu6v" c = paramiko.SSHClient() c.set_missing_host_key_policy(paramiko.AutoAddPolicy()) c.connect(HOST, username=USER, password=PASS, timeout=20, allow_agent=False, look_for_keys=False) def run(cmd, t=300): print("$", cmd[:150]) _, o, e = c.exec_command(cmd, timeout=t) code = o.channel.recv_exit_status() out = (o.read() + e.read()).decode(errors="replace") print(out[-5000:]) print("exit", code, "\n") return code, out run( "TOKEN=$(cat /home/localadministrator/.coolify-token | tail -1); " f"curl -sS -X POST 'http://127.0.0.1:8000/api/v1/deploy?uuid={APP}&force_rebuild=true' " '-H "Authorization: Bearer $TOKEN"' ) success = False for i in range(200): _, out = run("docker exec coolify php artisan queue:work --queue=high,default --once --timeout=900 2>&1", t=920) if "ApplicationDeploymentJob" in out: if "DONE" in out: success = True print("=== DEPLOY SUCCESS ===") break if "FAIL" in out: print("=== DEPLOY FAILED ===") break run( "docker exec coolify-db psql -U coolify -d coolify -c " "\"SELECT id,status FROM application_deployment_queues WHERE application_id='31' ORDER BY id DESC LIMIT 1;\"" ) run( "docker exec coolify-db psql -U coolify -d coolify -c " "\"SELECT status,name FROM applications WHERE uuid='ira4bw4nhbvm87o7s3fgqu6v';\"" ) run("ssh -o StrictHostKeyChecking=no localadministrator@10.10.0.115 'docker ps --format \"{{.Names}} {{.Status}}\" | grep ira4' 2>&1") c.close() print("SUCCESS" if success else "CHECK_LOGS")