gsutil mb -c regional -l us-central1 gs://some-unique-name gcloud compute addresses create unifi-external \ --region us-central1 gcloud compute firewall-rules create "unifi-http" \ --allow tcp:80,tcp:8443,tcp:8880,tcp:8843 \ --description="Ports used for HTTP and HTTPS on non-standard ports https://help.ubnt.com/hc/en-us/articles/218506997-UniFi-Ports-Used" \ --target-tags=unifi-server gcloud compute firewall-rules create "unifi-inform" \ --allow tcp:8080 \ --description="Port for device and controller communication" \ --target-tags=unifi-server gcloud compute firewall-rules create "unifi-stun" \ --allow udp:3478 \ --description="Port used for STUN" \ --target-tags=unifi-server gcloud compute firewall-rules create "unifi-throughput" \ --allow tcp:6789 \ --description="Port used for UniFi mobile speed test" \ --target-tags=unifi-server gcloud compute instances create unifi-controller \ --machine-type f1-micro \ --image-family debian-9 \ --image-project debian-cloud \ --boot-disk-type pd-standard \ --boot-disk-size 25GB \ --zone us-central1-c \ --description "Unifi Controller" \ --scopes=default,storage-rw \ --tags unifi-server \ --address unifi-external \ --metadata=startup-script-url=gs://petri-unifi/startup.sh,timezone=US/Central,dns-name=your.domain.com,bucket=some-unique-name