General
Overview
These instructions assume that you manage the configuration of your GCP project through Terraform, and specifically that run your Terraform commands through Cloud Shell. Note also that users must have GCP Project Owner or Administrator privileges (e.g., roles/owner).
The subsequent pages will walk you through several steps: creating the virtual machine(s) and other resources in GCP, provisioning the VM(s), and accessing your deployment of VIAME-Web.
These instructions work and this deployment is (relatively) straightforward because the VIAME team has created Docker containers for the different services that make up VIAME-Web. Thus, after some VM configuration, we can simply download and run these containers to use spin up our own instance of VIAME-Web. Updating the services is also as simple as pulling down updated versions of the containers.
The steps on this page apply to both deployment scenarios. Unless otherwise specified, these commands (and commands in the scenario-specific instructions) are expected to be run from Cloud Shell.
Before you begin
-
Read the Deployment Options Overview and Cloud Deployment Guide - Before you begin .
-
Ensure that the required network changes have been made for your project.
-
Ensure that the Google Cloud CLI tools are installed and configured on your local workstation.
Create GCP Resources
Both scenarios require many of the same resources, including: a GCS bucket in which to store imagery that will be connected to your VIAME-Web deployment, a NMFS-approved image, and a service account with sufficient permissions.
Click here to download the Terraform code template for general resources. Copy this code into your Terraform config file (e.g., main.tf) and update project-specific values as needed. In the Cloud Shell Terminal, run terraform init
, and then terraform apply
to create the resources.
The architecture of a deployment is below. For additional reference, see the NOAA Fisheries GCP Customer Guide
Other Notes
Note that there might be a delay between a VM has been created and/or started, and when you can run an install or startup script. If you get an error, please wait a few minutes and try to run the command again.
See here for more information about the required CORS headers for the bucket.