Alternative deployment for loris IIF image server, designed to run in Amazon Elastic Beanstalk and serve images stored in Amazon Simple Storage Service (S3)
The Loris setup.py
is more like an application installer rather than something that should be run by pip
. (It wants specific users on the system to exist, for example.).
To deploy to a beanstalk python app server, this uses git
to grab the #development
branch of the offical Loris, and then it subclasses (to override configuration style and to provide an S3 resolver) and monkey patches (to provide a stub for a healh check URL) loris. ./deploy-version.sh
creates a .zip
file of the application and deploys it to a beanstalk environment.
See Configuring Python Containers with Elastic Beanstalk
Set these in the environment.
SOURCE_ROOT
s3:// URL to s3 bucket and prefix where jp2s are stored
LOG_LEVEL
default INFO
of CRITICAL | ERROR | WARNING | INFO | DEBUG | NOTSET -- output goes to /var/log/httpd/error_log
which gets shipped by default when you request logs from beanstalk.
Currently all images in SOURCE_ROOT
are assumed to be jpeg2000s.
./deploy-version.sh
will need to be customized to your app (setting correct application etc.).
python loris2.wsgi.py
starts a wsgi server on :8989
for local testing. You should set up a
special set of credentials in AWS IAM with readonly access to the bucket and path where the
jpeg 2000 files are kept.
potto picture source CC BY 3.0 Ltshears
Copyright © 2015, Regents of the University of California
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of the University of California nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.