Deploy App to Production Server
Last Updated: January 2023
In this tutorial you will learn how to install the Google Earth Tethys app in a production environment. If you don't have access to a machine with a production installation of Tethys Platform, we recommend you create a new Virtual Machine and install Tethys on it. Refer to Production Installation Guide.
Topics covered in this tutorial include:
Installing Apps in Production
Cloning from GitHub
1. Copy Key Google Earth Engine to Server
You will need to copy the Google Earth Engine service account key file you created earlier to the server (see: 1. Create Service Account Key). If you have SSH access to the machine, this is most easily done using scp:
scp </path/to/local/file> <username>@<server_host>:</path/on/server>
We recommended that you
scp
the file to the/tmp
directory and then move it toTETHYS_HOME
:System with key file:
scp </path/to/key.json> <username>@<host>:/tmp/gee_key.json
On Server:
mv </tmp/key.json> ~/.tethys/
Change the ownership of the file to the
NGINX_USER
and restrict it to read-only access:Ubuntu:
sudo chown www-data: ~/.tethys/gee_key.json sudo chmod 0444 ~/.tethys/gee_key.json
CentOS:
sudo chown nginx: ~/.tethys/gee_key.json sudo chmod 0444 ~/.tethys/gee_key.json
2. Follow App Installation Guide
Use the Installing Apps in Production guide to install the Earth Engine app on the server with the following clarifications:
Download App Source Code: Clone the GitHub repository you setup in the Publish App Code to GitHub tutorial.
Install App: You will be prompted to set values for the
service_account_email
andprivate_key_file
app settings. You may skip entering the values now and set them via the app settings page later.Configure Additional App Settings: Navigate to the app settings admin page for the Earth Engine app and verify that the
service_account_email
andprivate_key_file
settings are configured correctly.Initialize Persistent Stores: This step is not required for the Earth Engine app.
3. Verify
Navigate to http(s)://<HOST_OF_SERVER>/apps/earth-engine/viewer/
and verify the following:
Load several datasets and ensure the imagery is displayed on the map.
Test the Plot Area of Interest capability.
Upload a boundary shapefile and verify that the imagery is clipped to the extents of that boundary.
Troubleshooting
If you encounter a 500 error while accessing the Viewer page check the app settings and verify that
service_account_email
andprivate_key_file
are set correctly.Verify that the service account has been registered to use the Google Earth Engine API.
Check the Tethys log for errors:
/var/log/tethys/tethys.log