Google App Engine can provide an easy way to get a persistent Tensorboard server with authentication for a small cost.
In addition if you find yourself pulling a large amount of data from GCS when starting up Tensorboard servers, you may actually pay less for a persistent GAE server, since you don't pay for data egress between GCS and GAE.
Setup assumes you have installed the Google Cloud SDK and have a billing enabled, Google Cloud Platform project.
-
Write a configuration file for the OAuth2 proxy that sits in front of your tensorboard server. See the oauth2_proxy docs for instructions. This may require creating an OAuth2 client ID for your chosen provider.
oauth2_proxy
supports authentication with Google, Github, Facebook, Azure, GitLab, and MyUSA. -
Upload your configuration file to GCS:
gsutil cp oauth2_proxy.cfg gs://$BUCKET/oauth2_proxy.cfg
-
Write an
app.yaml
file withruntime: custom
to configure your application. Full reference here. In theenv_variables
section you must specify 3 environment variables:
GCS_PROXY_CONFIG
The fully qualified path to the configuration file you uploaded in step 2.EVENT_FILE_PATH
The fully qualified GCS Path for your Tensorboard summary files.RELOAD_FREQUENCY
Frequency (in seconds) to poll GCS for new summary files.
- Deploy your GAE app.
gcloud app deploy app.yaml --image-url=gcr.io/google-samples/appengine-tensorboard:latest