This app has been deployed using the Amazon Lightstail service and can be accessed at the following address:
https://lmmonboard.ucdavis.edu
It is deployed on a container service (Medium [2 GB RAM, 1 vCPUs] × 1 node) and includes a public facing Nginx web server, which acts as a reverse proxy, passing incoming connections to the Bokeh server. See the Bokeh documentation for additional info about this configuration.
Assuming you have the required tools installed (Docker, Docker compose, the AWS Command Line Interface (CLI) tool and the Lightsail Control (lightsailctl) plugin), the app can be deployed using the following commands:
# Create the container service (if it does not yet exist)
aws lightsail create-container-service \
--service-name teach-lmm \
--power medium \
--scale 1
# Build the container images
docker build -t bokeh-container ./myapp
docker build -t nginx-container ./nginx
# Push the images
aws lightsail push-container-image \
--service-name teach-lmm \
--label bokeh-container \
--image bokeh-container
aws lightsail push-container-image \
--service-name teach-lmm \
--label nginx-container \
--image nginx-container
# Create the deployment
aws lightsail create-container-service-deployment \
--service-name teach-lmm \
--containers file://containers.json \
--public-endpoint file://public-endpoint.json