code: def setupnode(overwrite=False):
      
      if not port_is_open():
          if not skip_disable_root():
              disable_root()
          port_changed = change_ssh_port()
      #avoid trying to take shortcuts if setupnode did not finish 
      #on previous execution
      if server_state('setupnode-incomplete'):
          env.overwrite=True
      else: set_server_state('setupnode-incomplete')
      upload_ssh_key()
      restrict_ssh()
      add_repositories()
      upgrade_packages()
      setup_ufw()
      uninstall_packages()
      install_packages()
  
      upload_etc()
      post_install_package()
      setup_ufw_rules()
      set_timezone()
      set_server_state('setupnode-incomplete',delete=True)
      #stop and start webservers - and reload nginx
      for s in webserver_list():
          stop_webserver(s)
          start_webserver(s)
docs: Install a baseline host. Can be run multiple times