deploy.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import paramiko
  2. import os
  3. import textwrap
  4. def deploy():
  5. host = "192.168.130.171"
  6. user = "roni"
  7. pw = "BTSai123"
  8. try:
  9. client = paramiko.SSHClient()
  10. client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  11. client.connect(host, username=user, password=pw)
  12. print("Uploading files via SFTP...")
  13. sftp = client.open_sftp()
  14. sftp.put("main.py", "/home/roni/LocalFoodAI/main.py")
  15. sftp.put("database.py", "/home/roni/LocalFoodAI/database.py")
  16. sftp.put("start_daemon.py", "/home/roni/LocalFoodAI/start_daemon.py")
  17. sftp.put("static/script.js", "/home/roni/LocalFoodAI/static/script.js")
  18. sftp.put("static/index.html", "/home/roni/LocalFoodAI/static/index.html")
  19. sftp.close()
  20. print("Upload complete.")
  21. cmd = """cd ~/LocalFoodAI
  22. systemctl --user restart localfood
  23. """
  24. cmd = cmd.replace('\r\n', '\n')
  25. print(f"Running:\n{cmd}")
  26. stdin, stdout, stderr = client.exec_command(cmd)
  27. out = stdout.read().decode()
  28. err = stderr.read().decode()
  29. if out: print(f"OUT:\n{out}")
  30. if err: print(f"ERR:\n{err}")
  31. client.close()
  32. except Exception as e:
  33. print(f"Error: {e}")
  34. if __name__ == "__main__":
  35. deploy()