This repo wraps the speciate function from worm-portal/AqEquil in a Docker container that can be deployed in AWS Lambda. This provides a serverless execution environment, meaning that we only need to upload the Docker image without worrying about server administration.
Frontend apps can get speciation results from the AWS Lambda function without needing to install complex dependencies. See the Jupyter notebook for an example.
See the Deployment Notes for detailed notes on deployment. The steps here are based on the AWS docs. Additionally, the Dockerfile includes the Lambda Runtime Interface Emulator (used for local testing) as described in the AWS blog.
To build the container and test it locally, follow these steps.
Build the container
docker build -t worm-speciate:latest .
Run container
docker run -p 9000:8080 worm-speciate:latest
Now you can run the Jupyter notebook using the local API endpoint.